Skip to main content

Repo metadata hygiene scanner — catch version drift, stale changelogs, missing PEP 621 fields, broken README links, and leaked secret files before they ship.

Project description

MetaGuard

Repo metadata hygiene scanner for Python packages. Catches the boring, shippable-but-broken mistakes that slip past pytest and build:

  • Version driftpyproject.toml version vs src/<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 fieldsdescription, authors, license, requires-python, readme
  • License declared, file missing[project].license but no LICENSE at root.
  • Committed secret files.env, *.pem, *.key, credentials*, .pypirc, *.tfstate… (respects .gitignore so 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.

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

kryptorious_metaguard-1.0.1.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kryptorious_metaguard-1.0.1-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file kryptorious_metaguard-1.0.1.tar.gz.

File metadata

  • Download URL: kryptorious_metaguard-1.0.1.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for kryptorious_metaguard-1.0.1.tar.gz
Algorithm Hash digest
SHA256 6a80931b3fbb5fd8a3e3c50a3ce515f3e66f0955986a510106bf81daf3a6b035
MD5 94ff70da5a860138113c0dbb4ddb8826
BLAKE2b-256 adf4d7b500092cb1af427dcce91ec6ccdfd617d8142d26df58650eaa5da19d49

See more details on using hashes here.

File details

Details for the file kryptorious_metaguard-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for kryptorious_metaguard-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 49aecb8cc93c47653fcb0045f49ef11aa8fe54ff56a626ef5d4d2900a2adccfc
MD5 8ad74dc9c411d30184cff3c0b16451cf
BLAKE2b-256 89a0f973a2444183b0d19d22978b5d7e17161cc7d2c004ad6fc5e1b6a9714161

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page