--- id: pyroma version: "5.0.1" license: MIT license_treatment: permissive maintenance: active --- # pyroma — Test your project's packaging friendliness License: permissive · Maintenance: active · Downloads: 405.5K/mo ## What it is and what it does Pyroma is a command-line tool and Python library that audits Python packaging metadata and project structure against ecosystem best practices. It checks for required fields (name, version, description), validates version strings against PEP 386, verifies that long descriptions are substantive and render correctly via Docutils, ensures classifiers and metadata like author, license, and supported Python versions are present, and for PyPI packages specifically, checks ownership distribution and source distribution availability. The tool produces a numeric rating (out of 10) and a list of specific issues to address. You run it on a local project directory before release, on a distribution archive before upload, or by package name directly against PyPI. It's designed both as a standalone script and as an importable library for integration into release workflows, including pre-commit hooks. The tool has evolved to use PEP 517 build backends and modern metadata standards, dropping support for setup.py monkey-patching in version 5.0. Use it for: - Check a local project before release to catch missing metadata, bad version strings, or short descriptions. - Audit a PyPI package by name to verify ownership distribution and source distribution presence. - Integrate into pre-commit hooks to enforce packaging standards on every commit. - Validate that long_description renders correctly as HTML via Docutils before uploading. - Verify classifier coverage for Python versions and license declarations match project intent. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Pyroma rates how well a Python project complies with packaging best practices and identifies issues that could be improved, working on local directories, distribution files, or PyPI packages. Yes. Pyroma is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real problem—catching packaging metadata issues before they reach PyPI or frustrate users. The MIT license is unrestricted. Use it if you want automated feedback on whether your project meets Python packaging conventions. ## Install pip install pyroma uv add pyroma poetry add pyroma ## Installing pyroma Before you install: Low friction install with seven runtime dependencies (build, docutils, packaging, pygments, requests, setuptools, trove-classifiers). Actively maintained with a recent release in December 2025 and ongoing commits through June 2026. License in practice: MIT license (permissive) places no restrictions on use, modification, or distribution for commercial or private projects. Quickstart: pip install pyroma pyroma . pyroma pyroma-1.0.tar.gz pyroma pyroma Requires Python 3.9 or later; build backend must be available or installable in an isolated environment for metadata extraction. Verify before relying: - Whether the wheel build rating (added in 5.0b1) is useful in practice or requires running python -m build separately for diagnostics. - Performance impact of running check-manifest as an integrated test when the package is installed alongside pyroma. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 405.5K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags python package quality checker, pypi packaging compliance, python project rating tool, packaging best practices validator, python distribution quality audit, setup.py metadata checker, pypi package scorer, packaging-audit, pre-commit-ready, pypi-metadata [View on SkillFed](https://skillfed.io/packages/pyroma) · [View on PyPI](https://pypi.org/project/pyroma/)