Skip to main content

Check MANIFEST.in in a Python source package for completeness

Project description

check-manifest

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-manifest

You can ask the script to help you update your MANIFEST.in:

$ check-manifest -u
listing source files under version control: 6 files and directories
building an sdist: check-manifest-0.7.tar.gz: 4 files and directories
files in version control do not match the sdist!
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.ini

Command-line reference

$ check-manifest --help
usage: check-manifest [-h] [-c] [-u] [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
  -c, --create  create a MANIFEST.in if missing (default: False)
  -u, --update  append suggestions to MANIFEST.in (implies --create) (default:
                False)

Known bugs

  • If you’ve got a setuptools plugin (e.g. setuptools_git) installed, check-manifest may not notice that your MANIFEST.in is incomplete.

  • check-manifest -u doesn’t say that it cannot add directives for files that don’t match any of its known patterns

Changelog

0.9 (2013-03-06)

  • Add suggestion pattern for .travis.yml.

  • When check-manifest -u (or -c) doesn’t know how to write a rule matching a particular file, it now apologizes explicitly.

  • Copy the source tree to a temporary directory before running python setup.py sdist to avoid side effects from setuptools plugins or stale *.egg-info/SOURCES.txt files (issue #1).

  • Warn if *.egg-info or *.mo is actually checked into the VCS.

  • Don’t complain if *.mo files are present in the sdist but not in the VCS (issue #2).

0.8 (2013-03-06)

  • Entry point for zest.releaser. If you install both zest.releaser and check-manifest, you will be asked if you want to check your manifest during fullrelease.

0.7 (2013-03-05)

  • First release available from the Python Package Index.

  • Moved from https://gist.github.com/4277075 to https://github.com/mgedmin/check-manifest

  • Added README.rst, CHANGES.rst, setup.py, tox.ini (but no real tests yet), MANIFEST.in, and a Makefile.

  • Fixed a bug in error reporting (when setup.py failed, the user would get TypeError: descriptor ‘__init__’ requires a ‘exceptions.Exception’ object but received a ‘str’).

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

check-manifest-0.9.tar.gz (9.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page