Developer Guide


To create new processes look at examples in Emu.

Building the docs

First install dependencies for the documentation:

$ make develop

Run the Sphinx docs generator:

$ make docs

Running tests

Run tests using pytest.

First activate the c4cds Conda environment and install pytest.

$ source activate c4cds
$ pip install -r requirements_dev.txt  # if not already installed
$ make develop

Run quick tests (skip slow and online):

$ pytest -m 'not slow and not online'"

Run all tests:

$ pytest

Check pep8:

$ flake8

Run tests the lazy way

Do the same as above using the Makefile.

$ make test
$ make test-all
$ make lint

Prepare a release

Update the Conda specification file to build identical environments on a specific OS.


You should run this on your target OS, in our case Linux.

$ conda env create -f environment.yml
$ source activate c4cds
$ make clean
$ make install
$ conda list -n c4cds --explicit > spec-file.txt

Bump a new version

Make a new version of c4cds-wps in the following steps:

  • Make sure everything is commit to GitHub.

  • Update CHANGES.rst with the next version.

  • Dry Run: bumpversion --dry-run --verbose --new-version 0.8.1 patch

  • Do it: bumpversion --new-version 0.8.1 patch

  • … or: bumpversion --new-version 0.9.0 minor

  • Push it: git push

  • Push tag: git push --tags

See the bumpversion documentation for details.