1.7 KiB
Contributing
Reporting Issues
Please use GitHub issues to report any conerns about the code.
Contributions
All code contributions should be submitted through GitHub pull requests.
Developing Locally
$ git clone path_to_git
$ cd mastko
$ sh init.sh
This will create a python virtual environment using venv, install dependencies and runs tox.
Code Quality
tox is currently configured to run black, flake8, isort, mypy, pytest-cov, and pytest in addition to the unit tests by default. You can run all these tools by running the tox command:
tox
Run only mypy command as specified in tox.ini file:
tox run -e mypy
Run only flake8 command as specified in tox.ini file:
tox run -e flake8
Code Formatting
Use the black and isort auto-formatter with line-length set to 160 to ensure consistent code formatting. This will run only black and isort.
tox run -e autoformat
Run only isort command as specified in tox.ini file:
tox run -e isort
Run only black command as specified in tox.ini file:
tox run -e black
Code Coverage and Unit Tests
We are using the pytest and pytest-cov libraries for unit tests and code coverage analysis. Please add
sufficient code coverage for all new/modified functionality and verify that all tests are passing via tox.
To run all the unit tests and code coverage tool:
tox run -e py39
To run individual test files:
tox run -e py39 -- tests/stand/cli/test_get_args.py
To run individual test functions:
tox run -e py39 -- tests/stand/cli/test_get_args.py::test_getArgValue_withWrappedValue_shouldReturnValue