{"id":13725398,"url":"https://github.com/mgedmin/check-manifest","last_synced_at":"2025-05-14T18:00:19.464Z","repository":{"id":7269475,"uuid":"8582627","full_name":"mgedmin/check-manifest","owner":"mgedmin","description":"Tool to check the completeness of MANIFEST.in for Python packages","archived":false,"fork":false,"pushed_at":"2025-01-20T12:38:22.000Z","size":601,"stargazers_count":293,"open_issues_count":24,"forks_count":38,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-13T10:53:57.798Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://pypi.org/p/check-manifest","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgedmin.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.rst","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"mgedmin"}},"created_at":"2013-03-05T15:27:20.000Z","updated_at":"2025-03-11T20:51:07.000Z","dependencies_parsed_at":"2023-10-04T17:19:57.461Z","dependency_job_id":"be875d33-3fca-4814-b70d-52f9e778fe7b","html_url":"https://github.com/mgedmin/check-manifest","commit_stats":{"total_commits":518,"total_committers":22,"mean_commits":"23.545454545454547","dds":"0.19111969111969107","last_synced_commit":"f5c7cdbfa56571446b23fa050ed5a67bb7c7a5b3"},"previous_names":[],"tags_count":56,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgedmin%2Fcheck-manifest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgedmin%2Fcheck-manifest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgedmin%2Fcheck-manifest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgedmin%2Fcheck-manifest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgedmin","download_url":"https://codeload.github.com/mgedmin/check-manifest/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254198452,"owners_count":22030964,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T01:02:21.906Z","updated_at":"2025-05-14T18:00:18.847Z","avatar_url":"https://github.com/mgedmin.png","language":"Python","funding_links":["https://ko-fi.com/mgedmin"],"categories":["Python","Linters \u0026 Style Checkers"],"sub_categories":[],"readme":"check-manifest\n==============\n\n|buildstatus|_ |appveyor|_ |coverage|_\n\nAre you a Python developer?  Have you uploaded packages to the Python Package\nIndex?  Have you accidentally uploaded *broken* packages with some files\nmissing?  If so, check-manifest is for you.\n\nQuick start\n-----------\n\n::\n\n    $ pip install check-manifest\n\n    $ cd ~/src/mygreatpackage\n    $ check-manifest\n\nYou can ask the script to help you update your MANIFEST.in::\n\n    $ check-manifest -u -v\n    listing source files under version control: 6 files and directories\n    building an sdist: check-manifest-0.7.tar.gz: 4 files and directories\n    lists of files in version control and sdist do not match!\n    missing from sdist:\n      tests.py\n      tox.ini\n    suggested MANIFEST.in rules:\n      include *.py\n      include tox.ini\n    updating MANIFEST.in\n\n    $ cat MANIFEST.in\n    include *.rst\n\n    # added by check_manifest.py\n    include *.py\n    include tox.ini\n\n\nCommand-line reference\n----------------------\n\n::\n\n    $ check-manifest --help\n    usage: check-manifest [-h] [--version] [-v] [-c] [-u] [-p PYTHON]\n                          [--ignore patterns]\n                          [source_tree]\n\n    Check a Python MANIFEST.in file for completeness\n\n    positional arguments:\n      source_tree           location for the source tree (default: .)\n\n    optional arguments:\n      -h, --help            show this help message and exit\n      --version             show program's version number and exit\n      -v, --verbose         more verbose output (default: False)\n      -c, --create          create a MANIFEST.in if missing (default: False)\n      -u, --update          append suggestions to MANIFEST.in (implies --create)\n                            (default: False)\n      -p PYTHON, --python PYTHON\n                            use this Python interpreter for running setup.py sdist\n                            (default: /home/mg/.venv/bin/python)\n      --ignore patterns     ignore files/directories matching these comma-\n                            separated patterns (default: None)\n      --ignore-bad-ideas patterns\n                            ignore bad idea files/directories matching these\n                            comma-separated patterns (default: [])\n\n\nConfiguration\n-------------\n\nYou can configure check-manifest to ignore certain file patterns using\na ``[tool.check-manifest]`` section in your ``pyproject.toml`` file or\na ``[check-manifest]`` section in either ``setup.cfg`` or\n``tox.ini``. Examples::\n\n    # pyproject.toml\n    [tool.check-manifest]\n    ignore = [\".travis.yml\"]\n\n    # setup.cfg or tox.ini\n    [check-manifest]\n    ignore =\n        .travis.yml\n\nNote that lists are newline separated in the ``setup.cfg`` and\n``tox.ini`` files.\n\nThe following options are recognized:\n\nignore\n    A list of filename patterns that will be ignored by check-manifest.\n    Use this if you want to keep files in your version control system\n    that shouldn't be included in your source distributions.  The\n    default ignore list is ::\n\n        PKG-INFO\n        *.egg-info\n        *.egg-info/*\n        setup.cfg\n        .hgtags\n        .hgsigs\n        .hgignore\n        .gitignore\n        .bzrignore\n        .gitattributes\n        .github/*\n        .travis.yml\n        Jenkinsfile\n        *.mo\n\nignore-default-rules\n    If set to ``true``, your ``ignore`` patterns will replace the default\n    ignore list instead of adding to it.\n\nignore-bad-ideas\n    A list of filename patterns that will be ignored by\n    check-manifest's generated files check.  Use this if you want to\n    keep generated files in your version control system, even though\n    it is generally a bad idea.\n\n\nVersion control integration\n---------------------------\n\nWith `pre-commit \u003chttps://pre-commit.com\u003e`_, check-manifest can be part of your\ngit-workflow. Add the following to your ``.pre-commit-config.yaml``.\n\n.. code-block:: yaml\n\n    repos:\n    -   repo: https://github.com/mgedmin/check-manifest\n        rev: \"0.50\"\n        hooks:\n        -   id: check-manifest\n\nIf you are running pre-commit without a network, you can utilize\n``args: [--no-build-isolation]`` to prevent a ``pip install`` reaching out to\nPyPI.  This makes ``python -m build`` ignore your ``build-system.requires``,\nso you'll want to list them all in ``additional_dependencies``.\n\n.. code-block:: yaml\n\n    repos:\n    -   repo: https://github.com/mgedmin/check-manifest\n        rev: \"0.50\"\n        hooks:\n        -   id: check-manifest\n            args: [--no-build-isolation]\n            additional_dependencies: [setuptools, wheel, setuptools-scm]\n\n\n.. |buildstatus| image:: https://github.com/mgedmin/check-manifest/actions/workflows/build.yml/badge.svg?branch=master\n.. _buildstatus: https://github.com/mgedmin/check-manifest/actions\n\n.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/mgedmin/check-manifest?branch=master\u0026svg=true\n.. _appveyor: https://ci.appveyor.com/project/mgedmin/check-manifest\n\n.. |coverage| image:: https://coveralls.io/repos/mgedmin/check-manifest/badge.svg?branch=master\n.. _coverage: https://coveralls.io/r/mgedmin/check-manifest\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgedmin%2Fcheck-manifest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgedmin%2Fcheck-manifest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgedmin%2Fcheck-manifest/lists"}