We encourage contributions of code and documentation. Please read this document to learn how to make the contribution process smooth.
- Installations of Python 3.8, 3.10 and 3.11 (for example using Pyenv)
- Global installations (for example managed with pipx) of
- Python Poetry
- Python nox with nox-poetry plugin
- Make (optional)
Example global setup (with pyenv
and pipx
):
pyenv install 3.8.13
pyenv install 3.10.4
pyenv install 3.11.4
pipx install poetry
pipx install nox
pipx inject nox nox-poetry
Please bootstrap then your environment with make bootstrap
.
Using pyenv, activate the Python version to be tested against, then run linting and test suites with nox:
pyenv shell 3.8.13 3.10.4 3.11.4
nox --session=linting
nox --session=tests
An example of running only against one Python version with additional options for pytest:
PYTEST_ADDOPTS="--cov=satellitevu" nox --session=tests --python=3.10
We use branch names to identify how the version will need to be updated once merged. In
a nutshell, every branch name must start with either patch/
, minor/
or major/
to
trigger the semantic versioning bump rule. PRs with branch names not following this
pattern will fail.