MetaGuard
Repo metadata hygiene scanner for Python packages. Catches the boring,
shippable-but-broken mistakes that slip past pytest and build:
- Version drift —
pyproject.tomlversion vssrc/<pkg>/__init__.__version__vs the latest git tag. Mismatches are flagged as errors. - Stale CHANGELOG — top entry doesn't match the declared version.
- Missing PEP 621 fields —
description,authors,license,requires-python,readme… - License declared, file missing —
[project].licensebut noLICENSEat root. - Committed secret files —
.env,*.pem,*.key,credentials*,.pypirc,*.tfstate… (respects.gitignoreso intentional secrets don't false-positive). - Dead README links — optional network probe (
--check-links).
Install
pip install kryptorious-metaguard
Usage
# Scan current dir
metaguard check
# Scan a path, emit JSON for CI
metaguard check ./my-package --json
# Also probe README URLs
metaguard check . --check-links
Exit code is 1 if any error-severity issue is found (CI gate), 0 otherwise.
Example output
Metadata Health: 75/100
Checks run: 6
Errors: 1 Warnings: 1
ERROR VERSION_DRIFT pyproject='1.2.3' but init:demo='9.9.9'
/repo
WARN NO_CHANGELOG No CHANGELOG file found
CI integration
- name: Metadata hygiene
run: metaguard check . --check-links
Part of the Kryptorious developer toolkit. Built for the 32-package fleet and shipped so you can use it too.
Metadata
Release files for kryptorious-metaguard 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| kryptorious_metaguard-1.0.1.tar.gz | 8.7 kB | Without provenance | Details for kryptorious_metaguard-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| kryptorious_metaguard-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for kryptorious_metaguard-1.0.1-py3-none-any.whl |
Total release size: 17.2 kB
Release files / kryptorious_metaguard-1.0.1.tar.gz
| Download URL | kryptorious_metaguard-1.0.1.tar.gz |
|---|---|
| Size | 8.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6a80931b3fbb5fd8a3e3c50a3ce515f3e66f0955986a510106bf81daf3a6b035
|
|
BLAKE2b-256 checksum How to use checksums |
adf4d7b500092cb1af427dcce91ec6ccdfd617d8142d26df58650eaa5da19d49
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / kryptorious_metaguard-1.0.1-py3-none-any.whl
| Download URL | kryptorious_metaguard-1.0.1-py3-none-any.whl |
|---|---|
| Size | 8.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49aecb8cc93c47653fcb0045f49ef11aa8fe54ff56a626ef5d4d2900a2adccfc
|
|
BLAKE2b-256 checksum How to use checksums |
89a0f973a2444183b0d19d22978b5d7e17161cc7d2c004ad6fc5e1b6a9714161
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Security for kryptorious-metaguard 1.0.1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.