uv-demo PyPI package
A demo and template for a modern Python package managed by uv. Very useless as a
package.
Use this as a template for new projects, or as a reference for how to set up a Python project with the following:
-
uvas the Python package manager. -
pre-commithooks for code formatting, linting, and quality checks. - GitHub Actions for testing and publishing.
- Multiple Python versions tested with
uv -p ${python-version} run pytest [...]. -
gh-actfor running GitHub Actions locally. - Justfile with common recipes.
- Documentation with
pdoc+ GitHub Pages. - Deptry to highlight missing and unused dependencies.
System Dependencies
uvcurl -LsSf https://astral.sh/uv/install.sh | sh
justsudo apt install justsudo pacman -S just- More installation methods.
- For running GitHub Actions locally
Quick start
This will install all dependencies (uv sync) and run the entrypoint script:
uv run uv-demo
just Recipes
# just --list
Available recipes:
list # List available recipes
clean # Clean up generated files
[dev]
install # Install pre-commit hooks and development project dependencies with uv
upgrade # Upgrade all project and pre-commit dependencies respecting pyproject.toml constraints [alias: update]
pre-commit # Run pre-commit hooks on all files [alias: check]
deptry # Run deptry to check for unused and missing dependencies
[build]
build # Build the package and run tests
publish # Build and publish the package to PyPI
[test]
test *pytest_args # Simple execution of tests with coverage
test-lowest *pytest_args # runs tests with the lowest compatible versions of dependencies, to check compatibility issues
test-verbose *pytest_args # Run tests with coverage and increased output
test-all # Run static checker and tests for all compatible python versions
serve-coverage # Serve the coverage report with a simple HTTP server
[docs]
docs # Generate and serve documentation
docs-gen # Generate documentation using pdoc
docs-serve # Serve the docs with a simple HTTP server
[ci]
gact # Run the GitHub Actions workflow for all branches
gact-pull-request # Run the GitHub Actions workflow for pull requests [alias: gact-pr]
gact-release # Run the GitHub Actions workflow for release
Integration with GitHub Actions
See the Upload Python Package workflow file for this package.
Running actions locally
You can use act to run GitHub Actions locally. Use cases:
- While writing a workflow, to test the workflow locally before pushing to the repository.
- Run the publishing workflow without setting secrets on GitHub.
- Before opening a pull request, to check the workflow will pass.
Copy the example secrets file:
cp "config/secrets.env.example" "config/secrets.env"
Then edit the new file to add your secrets.
After that, run just gact to run the GitHub Actions workflow locally.
Metadata
Release files for uv-demo 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| uv_demo-0.3.2.tar.gz | 10.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uv_demo-0.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.0 kB
Release files / uv_demo-0.3.2.tar.gz
| Download URL | uv_demo-0.3.2.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c3871a0bb55eddcbac5f3322bf4f89b2565cd84d2bbec68bbef912caba83f8e2
|
|
BLAKE2b-256 checksum How to use checksums |
ead8f225c53f9cf24f365f25c1e909508e0e37a6c750849f0be7553765d2b82c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.
Transparency logRelease files / uv_demo-0.3.2-py3-none-any.whl
| Download URL | uv_demo-0.3.2-py3-none-any.whl |
|---|---|
| Size | 4.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
211dd52ec108563c14506f4058731acb46c1e00cc422b496fd93e39fe46a90ef
|
|
BLAKE2b-256 checksum How to use checksums |
b2299ae994d9c9bccf76d5a4fbb24124fcf601401c8226b975376f8aadf2dd90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 16, 2026.
Transparency log