You need to fork the GitHub repository.
Note
Always work on a specific branch, based on the dev one, dedicated to your patch.
Be sure to add/update tests and documentation within your patch.
You will need pytest:
$ pip install pytestEnable the developer mode:
$ sudo python setup.py developLauch the test suit:
$ py.testNote
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 and Pylint.
Install required packages:
$ pip install flake8 pylint$ flake8
$ pylint mssIf 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:
$ pip install mypy-lang$ sh check-types.sh -p mssYou will need Sphinx:
$ pip install sphinx$ cd docs
$ make clean html