Development#
If you’d like to develop redflag
, this page should help you get started.
Installation#
You can install this package with pip
or conda
. The dev
option will install the packages you need for testing and building the documentation.
python -m pip install "redflag[dev]"
Contributing#
If you’d like to contribute pull requests back to the main redflag
project, please see CONTRIBUTING.md
.
Testing#
You can run the tests (requires pytest
and pytest-cov
) with
pytest
Most of the tests are doctest
tests, which are contained in the docstrings of this package’s functions. There are further tests in the tests
folder.
Building the package#
This repo uses PEP 518-style packaging. Read more about this and about Python packaging in general.
To build redflag
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 two 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).