NIPY uses launchpad_ for our code hosting. For immediate access to the source code, see the `nipy launchpad`_ site.
We have adopted many developer guidelines in an effort to make development easy, and the source code readable, consistent and robust. Many of our guidelines are adopted from the scipy_ / numpy_ community. We welcome new developers to the effort, if you're interested in developing code or documentation please join the `nipy mailing list`_ and introduce yourself. If you plan to do any code development, we ask that you take a look at the following guidelines. We do our best to follow these guidelines ourselves:
- :ref:`howto_document` : Documentation is critical. This document describes the documentation style, syntax, and tools we use.
- Numpy/Scipy Coding Style Guidelines: This is the coding style we strive to maintain.
- :ref:`bzr_workflow` : This describes our process for version control.
- :ref:`testing` : We've adopted a rigorous testing framework.
- :ref:`optimization`: "premature optimization is the root of all evil."
To check out the latest version of nipy you need bzr version greater than 0.92:
bzr branch lp:nipy
There are two methods to install a development version of nipy. For both methods, build the extensions in place:
python setup.py build_ext --inplace
Then you can either:
- Use the
mynipy
script in the tools directory of the nipy source. There are directions and examples in the docstring of that file, but basically it updates a symbolic link in your site-packages directory to the inplace build of your source. The advantage of this method is it does not require any modifications of your PYTHONPATH. - Place the source directory in your PYTHONPATH.
With either method, all of the modifications made to your source tree will be picked up when nipy is imported.
The preferred method to submit a patch is to create a branch of nipy on your machine, modify the code and push that branch to your launchpad directory. Then email the list and we will review your code and hopefully apply (merge) your patch. See the instructions for :ref:`init_trunk_dev`.
If you do not wish to use bazaar and launchpad, please feel free to file a bug report and submit a patch or email the `nipy mailing list`_.
If you find a bug in nipy, please submit a bug report at the `nipy bugs`_ launchpad site so that we can fix it.