Developing ModPipe ****************** If you are interested in adding functionality to ModPipe, please first ask about it on the `ModPipe-users mailing list `_. It is entirely possible that the functionality you need already exists! Alternatively, somebody else may be working on the same thing. If, however, no such functionality exists, and you need to add it yourself, you should first start with the latest development version of ModPipe from our Subversion server (see :ref:`getting`). .. note:: It is strongly recommended that any new functionality be written in Python - the Perl scripts are deprecated and no longer actively maintained. For consistency, all Python code should conform to the official Python style guidelines laid out in :pep:`8`, and should work with both Python 2 and Python 3. For any new code you add, you should also write some documentation in the :file:`doc` directory, and some unit tests in the :file:`tests/unit` directory. Once your new functionality is complete, make a patch containing it; typically this is generated with something like:: svn di > mycode.patch (If you added new files, let :command:`svn` know about them first with :command:`svn add`.) Look over the resulting :file:`mycode.patch` to make sure it seems OK, then attach it to an email and send it to Ben and Ursula in the Sali lab.