Virtual Environment
Devshell uses Python's setuptools utility for managing development, testing, and deployment. It includes a handy development mode that will include the development directory in the path, and give the developer direct access to the source code. In order to do this without affecting the system wide settings, we will need to install a virtual environment using python-virtualenv
. To set up your environment, do the following:
$ sudo yum install python-dateutil python-configobj python-virtualenv, rpm-python $ virtualenv ~/devshell
Ordinarily, you should use --no-site-packages when working with virtualenv, however, Devshell has a dependency on rpm-python
which does not operate as a Python Egg. This means we have to rely on system provided modules for development.
Activating the Environment
$ source ~/devshell/bin/activate
Deactivating the Environment
If you need to reuse the terminal window and can't just close it, run the following command to exit the Virtual Environment mode.
$ deactivate
Fetching Source
Once we are in the virtual enviroment, we need to get the source code from Fedora Hosted via Git.
$ git clone git://git.fedorahosted.org/fedora-devshell.git $ cd fedora-devshell
This shouldn't take long.
Setting up the development environment
Setting up a development environment with setuptools is easy. Run the following command after retrieving the fresh source code.
fedora-devshell/ $ python setup.py development
Then you are ready to begin working. The commands ports
and devshell
should be available in your path now.
If you add new python files, modules, or make changes to setup.py
or MANIFEST.in
you will need to run that command again. You do not need to run it just to make changes to prexisting files.
If you're looking to know where to go to next, have a look at the API Documentation
Submitting Patches
Do it.
Creating Modules
Fill in something here on how to create modules that go in seperate packages. It will involve entrypoints and other fun things.