1. Types of Contributions

You can contribute in many ways:

1.1. Fix Cohen3 backends (plugin)

Right now some of the plugins are outdated and should be reviewed/updated.

1.2. Add more tests

There will be great if we can increase the coverage of our source code. Most of the backends hasn’t the corresponding tests.

1.3. Report Bugs

Report bugs at https://github.com/opacam/Cohen3/issues.

If you are reporting a bug, please include:

  • Your operating system name and version.

  • Any details about your local setup that might be helpful in troubleshooting.

  • If you can, provide detailed steps to reproduce the bug.

  • If you don’t have steps to reproduce the bug, just note your observations in as much detail as you can. Questions to start a discussion about the issue are welcome.

1.4. Fix Bugs

Look through the GitHub issues for bugs. Anything tagged with “bug” is open to whoever wants to implement it.

1.5. Implement Features

Look through the GitHub issues for features. Anything tagged with “enhancement” and “please-help” is open to whoever wants to implement it.

Please do not combine multiple feature enhancements into a single pull request.

1.6. Write Documentation

Cohen3 could always use more documentation, whether as part of the official Cohen3 docs, in docstrings, or even on the web in blog posts, articles, and such.

If you want to review your changes on the documentation locally, you can do:

pip install -e .[doc]
cd docs
make html

This will compile the documentation, open it in your browser and start watching the files for changes, if the pull request is accepted by the Cohen3 team, it will be compiled and posted automatically at the branch gh-pages whenever the pull request is merged into the master branch.

1.7. Submit Feedback

The best way to send feedback is to file an issue at https://github.com/opacam/Cohen3/issues.

If you are proposing a feature:

  • Explain in detail how it would work.

  • Keep the scope as narrow as possible, to make it easier to implement.

  • Remember that this is a volunteer-driven project, and that contributions are welcome :)