All you need is cookiecutter.
cookiecutter gl:oasci/snakeframe
In this cookiecutter 🍪 template we combine state-of-the-art libraries and best development practices for Python.
- Supports
Python 3.9
and higher. - Seamless
conda
+poetry
dependencies manager with conda and poetry files. - Automatic codestyle with
black
,isort
, andpylint
. pre-commit
hooks with code-formatting.- Type checks with
mypy
. - Testing with
pytest
. - Ready-to-use
.editorconfig
and.gitignore
.
- Github Actions or GitLab pipelines.
- Everything is already set up for code style checks, code formatting, testing, linting, etc. with
Makefile
. Sphinx
orMkDocs
documentation.
- Pull Request and several Issue templates.
- Files such as:
LICENSE
andCODE_OF_CONDUCT.md
are generated automatically.
We use bump-my-version to release a new version.
This will create a git tag that is used by poetry-dynamic-version to generate version strings and update CHANGELOG.md
.
For example, to bump the minor
version you would run the following command.
poetry run bump-my-version bump minor
After releasing a new version, you need to push and include all tags.
git push --follow-tags
Code contained in this project is released under the MIT License as specified in LICENSE.md
.
This license grants you the freedom to use, modify, and distribute it as long as you include the original copyright notice contained in LICENSE.md
and the following disclaimer.
Portions of this code were incorporated and adapted with permission from snakeframe by OASCI under the MIT License.