--- id: check-manifest version: "0.51" license: MIT license_treatment: permissive maintenance: active --- # check-manifest — Check MANIFEST.in in a Python source package for completeness License: permissive · Maintenance: active · Downloads: 911.4K/mo ## What it is and what it does check-manifest is a command-line tool that compares the files tracked in your version control system against those included in your Python package's source distribution (sdist). It catches the common mistake of uploading incomplete packages to PyPI by identifying files that exist in your repository but are missing from MANIFEST.in. The tool can run as a standalone checker, suggest corrections to your MANIFEST.in file, or integrate into a pre-commit hook workflow. It depends on build, setuptools, and tomli to parse your package configuration and construct a test sdist. The tool reads version control metadata directly (supporting git, Mercurial, Bazaar, and Darcs) and compares against what setuptools would actually package. You can configure ignore patterns via pyproject.toml, setup.cfg, or tox.ini to exclude files intentionally kept in version control but not meant for distribution. Use it for: - Catch missing files before uploading a broken package to PyPI by running check-manifest in CI. - Auto-generate or update MANIFEST.in rules for a new or existing project using the -u flag. - Enforce packaging completeness in a pre-commit hook to prevent accidental omissions in each commit. - Verify that generated files (like .mo translations) are correctly excluded from source distributions. - Debug why a package installation fails due to missing data files by identifying what was left out of the sdist. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Validates that a Python package's MANIFEST.in file includes all version-controlled source files and suggests corrections when files are missing from source distributions. Yes. check-manifest solves a real, recurring problem for Python package maintainers—incomplete source distributions—with low friction and no security concerns. It's actively maintained, supports current Python versions (3.8 through 3.14), and integrates cleanly into CI and pre-commit workflows. Install it if you publish packages to PyPI or maintain packages that others distribute. ## Install pip install check-manifest uv add check-manifest poetry add check-manifest ## Installing check-manifest Before you install: Low install friction with three straightforward runtime dependencies (build, setuptools, tomli). Actively maintained with recent release in October 2025 and ongoing Python version support. License in practice: MIT license permits unrestricted use, modification, and distribution with minimal restrictions—suitable for any project. Quickstart: pip install check-manifest cd ~/src/mypackage check-manifest # To update MANIFEST.in automatically: check-manifest -u -v Requires git or another version control system to detect source files; works with git, Mercurial, Bazaar, and Darcs. Verify before relying: - Whether the package detects all version control systems equally well or has known gaps with specific VCS backends. - Performance characteristics when run on very large source trees or projects with many ignored patterns. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 911.4K/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags manifest validation python, check missing files sdist, manifest.in linter, python package completeness, verify source distribution files, packaging, manifest-validation, pre-commit-hook [View on SkillFed](https://skillfed.io/packages/check-manifest) · [View on PyPI](https://pypi.org/project/check-manifest/)