How to Contribute


Contributions from anyone are awesome! This may include opening issues, communicating ideas for new features, letting us know about use cases of the library, and code contributions. We would love to recieve your pull requests. Here’s a handy guide:

Fork, then clone the repo:

git clone

Make sure the tests pass (Ciw uses unit & doc testing):

python -m unittest discover ciw

We encourage the use of coverage, enusring all aspects of the code are tested:

coverage run --source=ciw -m unittest discover ciw.tests
coverage report -m

Add tests for your change. Make your change and make the tests pass. Please update the documentation too, and ensure doctests pass.

Push to your fork and submit a pull request!

Some ideas of where to begin:

  • Take a look through our issues.
  • Open new issues!
  • Bug reporting & fixes.
  • Code tidying & performance improvements.
  • Improvements to the documentation.
  • New features.

We look forward to your contributions!