- Customize pyproject.toml (don't forget
[tool.pytest.ini_options] addpots = <...> --cov=[NAME] <...>
) - Custom LICENSE (Third line must match
Copyright <YEAR> <NAME>
(or further changes are needed in docs/source/conf.py)) - Customize README.md (change badge sources)
- Run
git branch -b dev
- Customize requirements.txt
Via pip and PyPI:
pip install
Or build from source:
git clone <URL>
python -m pip install --upgrade build
python -m build
python -m pip install .
To build the documentation:
(cd ./docs; make html)
-
[OPTIONAL] For the greatest comfort install Visual Studio Code and these plugins:
- Python/Pylance/isort/Jupyter (Microsoft) combined in the python extension pack
- Coverage Gutters (ryanluker)
- autoDocstring - Python Docstring Generator (Nils Werner)
- Todo Tree (Gruntfuggly)
-
Clone repository
git clone <URL> cd <FOLDER>
-
Create virtual environment
python -m venv ./.venv . ./.venv/bin/activate
-
Setup
git checkout dev python -m pip install --upgrade pip python -m pip install --upgrade build python -m build python -m pip install --editable .[dev]
-
Develop
-
New branch
git merge master git checkout -b [feature|bugfix]/***
or
git checkout master git checkout -b hotfix/***
-
Format+Lint
python -m black src tests python -m pycodestyle src tests python -m pydocstyle src python -m bandit -r -c pyproject.toml src python -m pyright src
-
Test
python -m pytest
-
Commit
git commit -m "..." git push
-
When done: Merge
git pull git merge [dev|master] git checkout [dev|master] git merge <branch> git branch -d <branch> git push
-
-
Document
nano CHANGELOG.md python badges.py
-
Publish
git commit -m "..." git push git tag -a vX.Y.Z -m "Version X.Y.Z" git push origin vX.Y.Z python -m build python -m twine upload --repository hello_world dist/* --username <USER> --password *****
-
Deactivate environment
. deactivate
- Rework badges.py
- Dockerfile