uvi uv init
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:
[!IMPORTANT] This project 'works' but is far from perfect!
See todos: TODO.md
- uv for dependency management
- CI/CD with GitHub Actions
- Pre-commit hooks with pre-commit
- Code quality with ruff (including Pylint-equivalent rules), 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
Docs
Installation & Usage
For both methods 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.mdto complete the setup of your project.
Method 1: Using the CLI tool (Recommended)
Install the uvi tool globally:
uv tool install uvi
# or using pip
pip install uvi
Then navigate to the directory where you want to create your project and run:
uvi
Method 2: Using Cookiecutter directly
Alternatively, you can use cookiecutter directly:
uvx cookiecutter https://github.com/shaneholloman/uvi.git
# or if you don't have uv installed:
pip install cookiecutter
cookiecutter https://github.com/shaneholloman/uvi.git
Metadata
Release files for uvi 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| uvi-0.5.0.tar.gz | 39.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uvi-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.2 kB
Release files / uvi-0.5.0.tar.gz
| Download URL | uvi-0.5.0.tar.gz |
|---|---|
| Size | 39.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
00ec696ca8c628568c238195d039a90b443d00010c1925133f92de41a13621db
|
|
BLAKE2b-256 checksum How to use checksums |
7f0f55a736567cc24986981e190a6df8bf5bc0042318374dca3f598a1bf90870
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / uvi-0.5.0-py3-none-any.whl
| Download URL | uvi-0.5.0-py3-none-any.whl |
|---|---|
| Size | 7.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f403c348e22591d2b8ba5e8b7eaf7b8bfed028f148b29fe137aa7ca51199c8d1
|
|
BLAKE2b-256 checksum How to use checksums |
a17c16180de455e9fb7f9fd017b2349a1d12bc6d443ca11b7d085c27e2e6959f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|