https://github.com/fpgmaas/cookiecutter-uv
A modern cookiecutter template for Python projects that use uv for dependency management
https://github.com/fpgmaas/cookiecutter-uv
cookiecutter cookiecutter-python python template uv
Last synced: 4 days ago
JSON representation
A modern cookiecutter template for Python projects that use uv for dependency management
- Host: GitHub
- URL: https://github.com/fpgmaas/cookiecutter-uv
- Owner: fpgmaas
- License: mit
- Created: 2024-09-02T06:29:56.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-03-07T06:27:42.000Z (about 1 month ago)
- Last Synced: 2025-04-11T23:00:04.749Z (4 days ago)
- Topics: cookiecutter, cookiecutter-python, python, template, uv
- Language: Python
- Homepage: https://fpgmaas.github.io/cookiecutter-uv
- Size: 802 KB
- Stars: 772
- Watchers: 5
- Forks: 88
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome-github-stars - fpgmaas/cookiecutter-uv - A modern cookiecutter template for Python projects that use uv for dependency management (Python)
README
![]()
---
[](https://github.com/fpgmaas/cookiecutter-uv/actions/workflows/main.yml?query=branch%3Amain)
[](https://github.com/fpgmaas/cookiecutter-uv/blob/main/pyproject.toml)
[](https://fpgmaas.github.io/cookiecutter-uv/)
[](https://img.shields.io/github/license/fpgmaas/cookiecutter-uv)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](https://docs.astral.sh/uv/) for dependency management
- Supports both [src and flat layout](https://packaging.python.org/en/latest/discussions/src-layout-vs-flat-layout/).
- CI/CD with [GitHub Actions](https://github.com/features/actions)
- Pre-commit hooks with [pre-commit](https://pre-commit.com/)
- Code quality with [ruff](https://github.com/charliermarsh/ruff), [mypy](https://mypy.readthedocs.io/en/stable/) and [deptry](https://github.com/fpgmaas/deptry/).
- Publishing to [PyPI](https://pypi.org) by creating a new release on GitHub
- Testing and coverage with [pytest](https://docs.pytest.org/en/7.1.x/) and [codecov](https://about.codecov.io/)
- Documentation with [MkDocs](https://www.mkdocs.org/)
- Compatibility testing for multiple versions of Python with [tox-uv](https://github.com/tox-dev/tox-uv)
- Containerization with [Docker](https://www.docker.com/)
- Development environment with [VSCode devcontainers](https://code.visualstudio.com/docs/devcontainers/containers)---
---
## Quickstart
On your local machine, navigate to the directory in which you want to
create a project directory, and run the following command:```bash
uvx cookiecutter https://github.com/fpgmaas/cookiecutter-uv.git
```or if you don't have `uv` installed yet:
```bash
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](https://github.com/audreyfeldroy)\'s great
[cookiecutter-pypackage](https://github.com/audreyfeldroy/cookiecutter-pypackage)
repository.