To contribute code changes or update the documentation, please follow these steps:
- Fork the upstream repository and clone the fork locally.
- Install poetry, and install the project's dependencies with
poetry install
- Install pre-commit and install the hook by running
pre-commit install
- Make whatever changes and additions you wish and commit these - please try to keep your commit history clean.
- Create a pull request to the main repository with an explanation of your changes
Note: if you add new code or modify existing code - 100% test coverage is mandatory and tests should be well written.
- Install and configure pyenv
- Install required python versions via pyenv, e.g.,
$ pyenv install 3.x.x
for each required version. - In root directory of library, create .python-version file in root, e.g.:
3.10.5
3.9.13
3.8.13
3.7.13
- Restart shell or run command like:
$ pyenv shell 3.10.5 3.9.13 3.8.13 3.7.13
- Remove any existing poetry environment:
$ poetry env remove python
- Tell poetry to use system python 1:
$ poetry env use system
$ poetry install
1: Not sure if this is the "right" way to handle this yet, however this prevents poetry from reusing the local environment in each of the tox environments.
$ poetry run tox
$ poetry run tox -r
$ poetry run tox -e py37
$ poetry run -e lint
From the squidfunk/mkdocs-material docker quick start guide:
docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material
- Update changelog.md
- Increment the version in pyproject.toml.
- Commit and push.
- In github go to the releases tab
- Pick "draft a new release"
- Give it a title and a tag, both vX.X.X
- Fill in the release description, you can let GitHub do it for you and then edit as needed.
- Publish the release.
- look under the action pane and make sure the release action runs correctly