python-proj-init
Cross-platform Python project scaffolder powered by uv.
Creates standardized Python application and library projects with:
- managed Python version via
uv - virtual environment and dependency sync
- Ruff (lint + format) and ty (type checking), pre-configured
- prek pre-commit hooks
- optional Makefile
- PyPI-ready library builds (
uv build)
Requirements
- uv installed
- Git (recommended, required for pre-commit hooks)
Install
Install the command-line tool with uv:
uv tool install python-proj-init
Alternatively, use pipx install python-proj-init.
Usage
# Interactive
uv run python-proj-init new
# Non-interactive
uv run python-proj-init new payment-utils --type library --python 3.12
Options: --type application|library, --python VERSION, --path DIR,
--no-make, --no-hooks, --non-interactive.
Bootstrap wrappers (uv check + handoff only, no generation logic):
scripts/setup.sh new my-app # macOS/Linux
scripts\setup.ps1 new my-app # Windows
Development
uv sync
uv run pytest # all tests (integration tests run real uv)
uv run pytest -m "not integration" # fast unit tests only
uv run ruff check . # lint
uv run ruff format . # format
uv run ty check # type check
Design
See solution-design-python-project-scaffolder.md — the source of truth for this implementation.
Metadata
Release files for python-proj-init 0.1.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 | |
|---|---|---|---|
| python_proj_init-0.1.0.tar.gz | 36.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| python_proj_init-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 59.4 kB
Release files / python_proj_init-0.1.0.tar.gz
| Download URL | python_proj_init-0.1.0.tar.gz |
|---|---|
| Size | 36.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e2d2027dcedbd145e4f677bdff7a331e2d975220565a365af205b029fa1d1b3
|
|
BLAKE2b-256 checksum How to use checksums |
48ac8a1191dccdb628505bc8950d8db93e1389ee43001d0518c5a1b105e6ea52
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 2, 2026.
Transparency logRelease files / python_proj_init-0.1.0-py3-none-any.whl
| Download URL | python_proj_init-0.1.0-py3-none-any.whl |
|---|---|
| Size | 23.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dcd66dd2115b59f4f81198a59f67048fe78a0c63ac3b2a46dd7a8395eb1edc4d
|
|
BLAKE2b-256 checksum How to use checksums |
92cad36453ea7bcb3166b05dbcb7a9452be79af095f1e303ca22ccc5a80306ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 2, 2026.
Transparency log