Development¶
Installing requirements¶
Using pip¶
$ pip install -r requirements/docs.txt -r requirements/testing.txt
Building the documentation locally¶
Install the documentation requirements:
$ pip install -r requirements/docs.txt
Change directory to
docs
and runmake html
:$ cd docs $ make html
Load HTML documentation in a web browser of your choice:
$ firefox docs/_build/html/index.html
Running tests¶
Install the development requirements:
$ pip install -r requirements/testing.txt
Run
nosetests
in the project root.$ nosetests
To run all tests against all supported versions of python,
use tox
.
Running tests with tox¶
tox
allows us to use
one command to
run tests against
all versions of python
that we support.
Setting up tox¶
Decide how you want to manage multiple python versions.
- System level using a package manager such as
apt-get
. This approach will likely require adding additionalapt-get
sources in order to install alternative versions of python. - Use pyenv to manage and install multiple python versions. After installation, see the pyenv command reference.
- System level using a package manager such as
Install
tox
.$ pip install tox
Running tox¶
Now that you have tox
setup,
you just need to run
the command tox
from the project root directory.
$ tox
Getting involved¶
The terrarium project welcomes help in any of the following ways:
- Making pull requests on github for code, tests and documentation.
- Participating on open issues and pull requests, reviewing changes
Pull Request Checklist¶
To have the best chance at an immediate merge, your pull request should have:
- A passing Travis-CI build. If it fails, check the console output for reasons why.
- New unit tests for new features or bug fixes.
- New documentation in
docs
for any new features. You do want people to know how to use your new stuff, right?
Release process¶
- Update CHANGELOG.
- Bump the version number in __init__.py on master.
- Tag the version.
- Push to PyPI.