FlorianWilhelm / the-hatchlor

🌹 Cookiecutter template featuring the modern and extensible Python project manager hatch
MIT License
66 stars 5 forks source link
cookiecutter distribution git package package-creation package-management project-template python release-automation template-project

🌹 The Hatchlor 🌹 Cookiecutter Template

The Hatchlor logo
Details Tests License - MIT GitHub Sponsors
Features Hatch project linting - Ruff types - mypy test - pytest Pre-Commit docs - mkdocs

The Hatchlor is a cookiecutter template featuring the modern and extensible Python project manager hatch 🐣.

With hatch, you no longer need to deal with files like requirements.txt, Pipfile or environment.yml, just configure everything in pyproject.toml. Thus, hatch is a sophisticated alternative to pipenv, poetry, conda, or direct virtualenv usage. Just think of hatch as a tool that allows you to easily define many isolated development environments, e.g. virtual but also docker environments, and helps you to manage them. A bit like what tox does for testing environments but for all kinds of environments, e.g. testing, linting your code, buildings your docs, and whatever you want.

Check out a vanilla Python project created by the Hatchlor.

✨ Features

The Hatchlor integrates the following features:

The template includes a skeleton.py with a simple function fib that calculates the Fibonacci numbers as demonstration. This is tested with tests/test_skeleton.py to demonstrate the corresponding features from above. As an additional tidbit, skeleton.py also features Typer to show how fib can be exposed as a CLI command. These files are only for demonstration and can be safely deleted.

💫 Quickstart

Install the latest cookiecutter, i.e. >= 1.4, if not installed:

pip install -U cookiecutter

Then generate your Python project with:

cookiecutter https://github.com/florianwilhelm/the-hatchlor.git

🎉 That's it! Now change into the created directory and check out README.md for more information.

🪪 License

The Hatchlor is distributed under the terms of the MIT license.

🙏 Credits

To start this project off a lot of inspiration was taken from hatch, cookiecutter-pypackage and Pyscaffold.