Zack's Useful Utilities
Project description
zuu
zack's useful utilities
Note
This library has gone through several structural changes, which made it harder for other packages to depend on it reliably.
To avoid that going forward, the package now follows a permanent versioned-folder design. If a future change would alter existing behavior, a new feature-version folder will be created instead of changing the previous implementation in place.
The package version format is:
{yearquarter}.{feature version}.{no breaking change build}
The package structure is:
zuu/
|- v202601_1/ // starting implementation quarter + feature version
...
Setup
Install the development environment with uv:
uv sync --only-dev
Install Lefthook for local git hooks:
uv tool install lefthook
lefthook install
Refresh Current
src/zuu/current is a generated thin export layer. It should re-export the newest version folder by resolving the highest folder name matching v{yearquarter}_{minor}.
Refresh it with:
uv run python scripts/update_current.py
Check whether it is already up to date without modifying files:
uv run python scripts/update_current.py --check
The pre-commit hook uses an automatic mode instead. If src/zuu/current is stale,
the hook regenerates it and stages the updated files automatically.
For example, if both v202602_1 and v202603_1 exist, the script points current at v202603_1. If both v202602_1 and v202602_3 exist, it points current at v202602_3.
Bump Micro Version
When a change stays within the existing newest version folder and does not introduce a new v{yearquarter}_{minor} folder under src/zuu, bump the third segment of the package version with:
uv run python scripts/bump_micro_version.py
This script only updates pyproject.toml when the current package version already matches the newest versioned source folder. If a newer version folder exists, it fails instead of guessing the next feature version.
To verify that staged changes under the newest version folder include the required micro version bump without modifying files:
uv run python scripts/bump_micro_version.py --check
The pre-commit hook uses an automatic mode instead. If the newest version folder changed and the staged package version has not been bumped yet, the hook increments pyproject.toml and stages that file for the commit.
Hooks
The repo includes lefthook.yml with pre-commit automation for both generated src/zuu/current exports and micro version bumps. If a commit still fails, it means the hook could not safely fix the problem automatically and you should run uv run python scripts/update_current.py or uv run python scripts/bump_micro_version.py, review the resulting changes, and commit again.
Project details
Release history Release notifications | RSS feed
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 zuu-202602.1.3.tar.gz.
File metadata
- Download URL: zuu-202602.1.3.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97140c610b398e09b63486ca60d450f5f4c61e8f1ba0b4d2b82505e11512d9fb
|
|
| MD5 |
efe7ada2c3c95f9e4f24cef3f3ad9ab0
|
|
| BLAKE2b-256 |
66383d26a1876de2744f74e1f9ce452de83810f0381535078efcd771692310c2
|
Provenance
The following attestation bundles were made for zuu-202602.1.3.tar.gz:
Publisher:
publish.yml on ZackaryW/zuu
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zuu-202602.1.3.tar.gz -
Subject digest:
97140c610b398e09b63486ca60d450f5f4c61e8f1ba0b4d2b82505e11512d9fb - Sigstore transparency entry: 1238039905
- Sigstore integration time:
-
Permalink:
ZackaryW/zuu@1803e4ef83cfcc877d8cdb151c4a92ae2575c79b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ZackaryW
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1803e4ef83cfcc877d8cdb151c4a92ae2575c79b -
Trigger Event:
push
-
Statement type:
File details
Details for the file zuu-202602.1.3-py3-none-any.whl.
File metadata
- Download URL: zuu-202602.1.3-py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
981a28565fbaeff1fa5c996c7e57b605233808972b983e8cb974c7bcca029e1d
|
|
| MD5 |
a6786a39faec366d320a3b14d34a4289
|
|
| BLAKE2b-256 |
655d3dc2fb66a8588d0a6ec91a55b42a0e800e47d19e0aba80cea208f7e93598
|
Provenance
The following attestation bundles were made for zuu-202602.1.3-py3-none-any.whl:
Publisher:
publish.yml on ZackaryW/zuu
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zuu-202602.1.3-py3-none-any.whl -
Subject digest:
981a28565fbaeff1fa5c996c7e57b605233808972b983e8cb974c7bcca029e1d - Sigstore transparency entry: 1238039908
- Sigstore integration time:
-
Permalink:
ZackaryW/zuu@1803e4ef83cfcc877d8cdb151c4a92ae2575c79b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/ZackaryW
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1803e4ef83cfcc877d8cdb151c4a92ae2575c79b -
Trigger Event:
push
-
Statement type: