Awesome
<p align="center"> <img width="600" src="https://raw.githubusercontent.com/fpgmaas/cookiecutter-uv/main/docs/static/cookiecutter.svg"> </p style = "margin-bottom: 2rem;">This is a modern Cookiecutter template that can be used to initiate a Python project with all the necessary tools for development, testing, and deployment. It supports the following features:
- uv for dependency management
- CI/CD with GitHub Actions
- Pre-commit hooks with pre-commit
- Code quality with ruff, mypy, deptry and prettier
- Publishing to PyPI by creating a new release on GitHub
- Testing and coverage with pytest and codecov
- Documentation with MkDocs
- Compatibility testing for multiple versions of Python with tox-uv
- Containerization with Docker
- Development environment with VSCode devcontainers
<p align="center"> <a href="https://fpgmaas.github.io/cookiecutter-uv/">Documentation</a> - <a href="https://github.com/fpgmaas/cookiecutter-uv-example">Example</a> </p>
Quickstart
On your local machine, navigate to the directory in which you want to create a project directory, and run the following command:
uvx cookiecutter https://github.com/fpgmaas/cookiecutter-uv.git
or if you don't have uv
installed yet:
pip install cookiecutter
cookiecutter https://github.com/fpgmaas/cookiecutter-uv.git
Follow the prompts to configure your project. Once completed, a new directory containing your project will be created. Then navigate into your newly created project directory and follow the instructions in the README.md
to complete the setup of your project.
Acknowledgements
This project is partially based on Audrey Feldroy's's great cookiecutter-pypackage repository.