Development

If you wish to contribute to this project, then you should fork the repository found here:

https://github.com/Simplistix/picky/

Once that has been done, you can follow these instructions to perform various development tasks:

Setting up the environment

All development requires that you have a conda environment set up, this can be created by doing the following from within a checkout of the above repository, assuming you have installed conda by following its instructions:

$ conda create -n picky --file=conda_versions.txt
$ source activate picky
(picky) $ pip install -e .[build,test]

Running the tests

Once you have set up and activated your conda environment, the tests can be run from the root of your checkout as follows:

$ nosetests

Building the documentation

The Sphinx documentation is built by doing the following from the directory containing setup.py:

$ cd docs
$ make html

To check that the description that will be used on PyPI renders properly, do the following:

$ python setup.py --long-description | rst2html.py > desc.html

The resulting desc.html should be checked by opening in a browser.

Making a release

The following should be done with your conda environment activated and will build the distribution, upload it to PyPI and register the metadata with PyPI:

$ pip install -e .[build,test]
$ python setup.py sdist bdist_wheel
$ twine upload dist/picky-<version>*

Running pip again will make sure the correct package information is used.

This should all be done on a unix box so that a .tgz source distribution is produced.

Once the above is done, make sure to go to https://readthedocs.org/projects/picky/versions/ and make sure the new release is marked as an Active Version.