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.0.tar.gz (8.6 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.0-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: kryptorious_metaguard-1.0.0.tar.gz
  • Upload date:
  • Size: 8.6 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.0.tar.gz
Algorithm Hash digest
SHA256 420d7be35dade3a171e2eaeb8f528524290d4570849ed1669d4a7b76babeb49a
MD5 14da908c962bf6e40a8f74c7b13a7ff2
BLAKE2b-256 6fb6b51ca632e695fa96b09aa13b8eb7895469df30720a137f65e45317b92c59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kryptorious_metaguard-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 696c326de5e4e28f93217f69bb9f33920df66de62a89e458e6d6d2f8f98f5c90
MD5 2a3fd4fe6a58057c671fc795f2596611
BLAKE2b-256 c5f98e028d8dfcff79864ade42291743b9ea284b417024e429a70d83cbbbe46a

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