Overview#

In CONTRIBUTING, there are some Overview diagrams, refer to them for details.

Contributing guides#

Code Style and Lint#

We use black as the code formatter, the best way to use it is to install the pre-commit hook, it will automatically format the code before each commit

Install pre-commit before commit

pip install pre-commit
pre-commit install

Pre-commit will automatically format the code before each commit, It can also be executed manually on all files

pre-commit run --all-files

Comment style follows Google Python Style Guide.

Install Locally with Test Dependencies#

pip install -e .[test]

Unit tests#

We use pytest to write unit tests, and use pytest-cov to generate coverage reports

pytest -vv --cov-config=.coveragerc --cov=sdgx/ tests # Generate coverage reports

Run unit-test before PR, ensure that new features are covered by unit tests

Build Docs#

Install docs dependencies

pip install -e .[docs]

Build docs

cd docs && make html

Use start-docs-host.sh to deploy a local http server to view the docs

cd ./dev-tools && ./start-docs-host.sh

Access http://localhost:8910 for docs.