Devshell development

= 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. 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  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  and   should be available in your path now.

If you add new python files, modules, or make changes to  or   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.