Development#
If you’d like to develop kosu, this page should help you get started.
Installation#
You can install this package with pip. The dev option will install the packages you need for testing and building the documentation.
pip install kosu[dev]
Contributing#
If you’d like to contribute pull requests back to the main kosu project, please see CONTRIBUTING.md.
Testing#
You can run the tests (requires pytest and pytest-cov) with
python run_tests.py
Add tests by adding test files to the tests folder in the normal way.
Building the package#
This repo uses PEP 518-style packaging. Read more about this and about Python packaging in general.
Building the project requires build, so first:
python -m pip install build
Then to build kosu locally:
python -m build
This builds both .tar.gz and .whl files, either of which you can install with pip.
Building the docs#
You can build the docs with the following commands:
cd docs
make html
Don’t just run sphinx-build manually: there is other stuff happening in the Makefile.
There is a continuous integration script to update the docs on published releases.
Continuous integration#
This repo has GitHub ‘workflows’ or ‘actions’:
Push to
main: Run all tests on all version of Python. This is the Build and test workflow.Publish a new release: Build and upload to PyPI. This is the Publish to PyPI workflow. Publish using the GitHub interface, for example (read more).