Questions, bug reports, and feature wishes are welcome in the GitHub issues page. We are also happy to consider pull requests. There are a few rules for pull requests:
- Make a pull request to the
develop
branch instead ofmaster
. - The code should support at least Python versions from 3.8 to 3.12.
- Please follow PEP 8. Exception: The maximum line length is 127 characters instead of 79.
- Especially for new features, please include test cases for unit testing.
PEP 8 compatibility can be checked with flake8
. Install it e.g. via
pip
and run flake8 opusfilter/
in the project root.
The unit tests are located in the tests
directory. To run them,
install pytest and run pytest tests/
in the
project root. (Also nosetests should
work, if you have VariKN and eflomal set up as instructed - pytest
skips the respective tests if not.)
GitHub workflows defined in the project run automatically flake8
checks and unit testing with pytest
using Python 3.8, 3.9, 3.10,
3.11, and 3.12.
Especially for larger contributions, consider using a code analysis
tool like Pylint. Install it
e.g. via pip
, run pylint opusfilter/
in the project root and fix
at least everything that is simple to fix in the new code (note that
the current code yields a few warnings from pylint
).