uv overlay for opinionated Python package scaffolding.
Project description
yggtools
yggtools is a CLI dev tool that scaffolds opinionated Python packages on
top of uv. It sets up a complete project in
one command and provides a built-in quality pipeline you run with
make check.
Install
uv tool install yggtools
Quick start
# Scaffold a new library
yggtools init-repo my-lib
# Run the quality pipeline
cd my-lib
make check
Commands
| Command | Description |
|---|---|
yggtools init-repo NAME |
Scaffold a new Python package |
yggtools init |
Complete an existing uv project in place |
yggtools reset |
Restore yggtools-generated AI, CI, and Makefile files |
yggtools pipeline |
Run the full staged quality pipeline |
yggtools run [CHECK] |
Run quality checks on the current project |
yggtools version |
List versions found in package artifacts |
yggtools increase-version LEVEL |
Bump patch/minor/major versions |
Quality checks
| Check | Tool |
|---|---|
| Format | ruff format --check |
| Lint (ruff) | ruff check |
| Lint (flake8) | flake8 |
| Version consistency | pyproject.toml, __init__.py, uv.lock |
| Type check | mypy --strict |
| Metrics | built-in CC + line-count |
| Security (code) | bandit |
| Security (deps) | pip-audit |
| Tests | pytest --cov-fail-under=100 |
Documentation
- User guide
- Architecture Decision Record — rebaseline
- Software Requirements Specification
- Software Design Document
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file yggtools-1.2.0.tar.gz.
File metadata
- Download URL: yggtools-1.2.0.tar.gz
- Upload date:
- Size: 163.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1c70e21d3a29b5b473e2598c73f5e3478b48040655ff8ca5329814e58ac9169
|
|
| MD5 |
e53452cbbd1009557b780dbfe63054a0
|
|
| BLAKE2b-256 |
089a43a04c0d11a1fa809b036e855f5e908f76f14bcbf130997cfaebeb8933fd
|
Provenance
The following attestation bundles were made for yggtools-1.2.0.tar.gz:
Publisher:
publish.yml on antoinebarre/yggtools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yggtools-1.2.0.tar.gz -
Subject digest:
c1c70e21d3a29b5b473e2598c73f5e3478b48040655ff8ca5329814e58ac9169 - Sigstore transparency entry: 1901741016
- Sigstore integration time:
-
Permalink:
antoinebarre/yggtools@9f3895496f9485fc2696f6616250aea67691ff3e -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/antoinebarre
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9f3895496f9485fc2696f6616250aea67691ff3e -
Trigger Event:
push
-
Statement type:
File details
Details for the file yggtools-1.2.0-py3-none-any.whl.
File metadata
- Download URL: yggtools-1.2.0-py3-none-any.whl
- Upload date:
- Size: 57.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e411ab2ef47cd7e50efefca23d0bd3a3887310b7499baaf54d4bf35de181f61
|
|
| MD5 |
c4178f96187f5a9dd3834cc7ebd313df
|
|
| BLAKE2b-256 |
9330828a55a217233ce445836738e2afbf0b8008c7636174a11af756b5a4c701
|
Provenance
The following attestation bundles were made for yggtools-1.2.0-py3-none-any.whl:
Publisher:
publish.yml on antoinebarre/yggtools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
yggtools-1.2.0-py3-none-any.whl -
Subject digest:
0e411ab2ef47cd7e50efefca23d0bd3a3887310b7499baaf54d4bf35de181f61 - Sigstore transparency entry: 1901741201
- Sigstore integration time:
-
Permalink:
antoinebarre/yggtools@9f3895496f9485fc2696f6616250aea67691ff3e -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/antoinebarre
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9f3895496f9485fc2696f6616250aea67691ff3e -
Trigger Event:
push
-
Statement type: