Contributing

Running Tests

tox is used to run tests. It will run mypy for type checking, pylint for linting, pytest for testing, and black for code formatting.

$ tox           # All python versions
$ tox -e py38   # Python 3.8
$ tox -e py39   # Python 3.9
$ tox -e py310  # Python 3.10

$ tox -e mypy   # Mypy Typechecking
$ tox -e pylint # Linting
$ tox -e black  # Check Formatting

Code Formatting

This project uses black for code formatting.

$ black .  # format all python code

Building Documentation

Documentation is built using sphinx.

$ cd docs/
$ make man  # Build manpage

Publishing

$ python3 setup.py sdist bdist_wheel
$ twine check dist/*
$ twine upload dist/*