To make yaml2sbml easily usable, we try to provide good documentation,
including code annotation and usage examples.
The documentation is hosted on
and updated automatically every time the
main branch is updated.
To create the documentation locally, first install the requirements via:
pip install .[doc]
and then compile the documentation via:
cd doc make html
We use the virtual testing tool tox
for all unit tests, format and quality checks and notebooks.
Its configuration is specified in
tox.ini. To run it locally, first
pip install tox
and then simply execute:
To run only selected tests (see
tox.ini for what is tested), use e.g.:
tox -e pyroma,flake8
For continuous integration testing we use GitHub Actions. All tests are run there on pull requests and required to pass. The configuration is specified in .github/workflows/ci.yml.
Unit tests are located in the
tests folder. All files starting with
test_ contain tests and are automatically run on GitHub Actions.
Run them locally via:
tox -e unittests
which boils mostly down to:
python3 -m pytest tests
You can also run only specific tests.
We try to respect the PEP8
coding standards. We run flake8 as part of the
tests. The flake8 plugins used are specified in
tox.ini and the flake8
configuration given in
You can run it locally via:
tox -e flake8
If you start working on a new feature or a fix, please create an issue on GitHub shortly describing the issue and assign yourself.
To get your code merged, please:
create a pull request to develop
if not already done in a commit message, use the pull request description to reference and automatically close the respective issue (see https://help.github.com/articles/closing-issues-using-keywords/)
check that all tests pass
check that the documentation is up-to-date
request a code review