Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mgedmin/check-manifest
Tool to check the completeness of MANIFEST.in for Python packages
https://github.com/mgedmin/check-manifest
Last synced: about 15 hours ago
JSON representation
Tool to check the completeness of MANIFEST.in for Python packages
- Host: GitHub
- URL: https://github.com/mgedmin/check-manifest
- Owner: mgedmin
- License: mit
- Created: 2013-03-05T15:27:20.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2024-10-10T12:40:52.000Z (2 months ago)
- Last Synced: 2024-11-21T01:05:33.800Z (22 days ago)
- Language: Python
- Homepage: https://pypi.org/p/check-manifest
- Size: 578 KB
- Stars: 289
- Watchers: 7
- Forks: 38
- Open Issues: 24
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.rst
- Funding: .github/FUNDING.yml
- License: LICENSE.rst
Awesome Lists containing this project
- best-of-python-dev - GitHub - 21% open · ⏱️ 03.05.2024): (Linters & Style Checkers)
README
check-manifest
==============|buildstatus|_ |appveyor|_ |coverage|_
Are you a Python developer? Have you uploaded packages to the Python Package
Index? Have you accidentally uploaded *broken* packages with some files
missing? If so, check-manifest is for you.Quick start
-----------::
$ pip install check-manifest
$ cd ~/src/mygreatpackage
$ check-manifestYou can ask the script to help you update your MANIFEST.in::
$ check-manifest -u -v
listing source files under version control: 6 files and directories
building an sdist: check-manifest-0.7.tar.gz: 4 files and directories
lists of files in version control and sdist do not match!
missing from sdist:
tests.py
tox.ini
suggested MANIFEST.in rules:
include *.py
include tox.ini
updating MANIFEST.in$ cat MANIFEST.in
include *.rst# added by check_manifest.py
include *.py
include tox.iniCommand-line reference
----------------------::
$ check-manifest --help
usage: check-manifest [-h] [--version] [-v] [-c] [-u] [-p PYTHON]
[--ignore patterns]
[source_tree]Check a Python MANIFEST.in file for completeness
positional arguments:
source_tree location for the source tree (default: .)optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
-v, --verbose more verbose output (default: False)
-c, --create create a MANIFEST.in if missing (default: False)
-u, --update append suggestions to MANIFEST.in (implies --create)
(default: False)
-p PYTHON, --python PYTHON
use this Python interpreter for running setup.py sdist
(default: /home/mg/.venv/bin/python)
--ignore patterns ignore files/directories matching these comma-
separated patterns (default: None)
--ignore-bad-ideas patterns
ignore bad idea files/directories matching these
comma-separated patterns (default: [])Configuration
-------------You can configure check-manifest to ignore certain file patterns using
a ``[tool.check-manifest]`` section in your ``pyproject.toml`` file or
a ``[check-manifest]`` section in either ``setup.cfg`` or
``tox.ini``. Examples::# pyproject.toml
[tool.check-manifest]
ignore = [".travis.yml"]# setup.cfg or tox.ini
[check-manifest]
ignore =
.travis.ymlNote that lists are newline separated in the ``setup.cfg`` and
``tox.ini`` files.The following options are recognized:
ignore
A list of filename patterns that will be ignored by check-manifest.
Use this if you want to keep files in your version control system
that shouldn't be included in your source distributions. The
default ignore list is ::PKG-INFO
*.egg-info
*.egg-info/*
setup.cfg
.hgtags
.hgsigs
.hgignore
.gitignore
.bzrignore
.gitattributes
.github/*
.travis.yml
Jenkinsfile
*.moignore-default-rules
If set to ``true``, your ``ignore`` patterns will replace the default
ignore list instead of adding to it.ignore-bad-ideas
A list of filename patterns that will be ignored by
check-manifest's generated files check. Use this if you want to
keep generated files in your version control system, even though
it is generally a bad idea.Version control integration
---------------------------With `pre-commit `_, check-manifest can be part of your
git-workflow. Add the following to your ``.pre-commit-config.yaml``... code-block:: yaml
repos:
- repo: https://github.com/mgedmin/check-manifest
rev: "0.50"
hooks:
- id: check-manifestIf you are running pre-commit without a network, you can utilize
``args: [--no-build-isolation]`` to prevent a ``pip install`` reaching out to
PyPI. This makes ``python -m build`` ignore your ``build-system.requires``,
so you'll want to list them all in ``additional_dependencies``... code-block:: yaml
repos:
- repo: https://github.com/mgedmin/check-manifest
rev: "0.50"
hooks:
- id: check-manifest
args: [--no-build-isolation]
additional_dependencies: [setuptools, wheel, setuptools-scm].. |buildstatus| image:: https://github.com/mgedmin/check-manifest/workflows/build/badge.svg?branch=master
.. _buildstatus: https://github.com/mgedmin/check-manifest/actions.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/mgedmin/check-manifest?branch=master&svg=true
.. _appveyor: https://ci.appveyor.com/project/mgedmin/check-manifest.. |coverage| image:: https://coveralls.io/repos/mgedmin/check-manifest/badge.svg?branch=master
.. _coverage: https://coveralls.io/r/mgedmin/check-manifest