- You need to fork the GitHub repository.
- Create you own branch.
- Be sure to add/update tests and documentation within your patch.
Additionnally, you can install pre-commit to ensure you are doing things well:
$ python -m pip install --upgrade --user pre-commit
$ pre-commit installYou will need pytest:
$ python -m pip install --upgrade --user pytestEnable the developer mode:
$ python -m pip install -e .Launch the test suit:
$ python -m pytest testsNote
As he module is Python 2 and 3 compliant, do no forgot to test for both. If you cannot, just say it when sending the patch, someone else will validate for you.
It is important to keep a clean base code. Use tools like flake8.
Install required packages:
$ python -m pip install --upgrade --user flake8$ python -m flake8 .If there is no output, you are good ;)
mypy is a compile-time static type checker for Python, allowing optional, gradual typing of Python code. MSS is using special files syntax for type annotations, which means that type annotations are written inside pyi files.
Install required packages:
$ python -m pip install --upgrade --user mypy-lang$ sh check-types.sh -p mssYou will need Sphinx:
$ python -m pip install --upgrade --user sphinx$ cd docs
$ make clean html