This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
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 -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.ini

Command-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 tell check-manifest to ignore certain file patterns by adding a check-manifest section to your package’s setup.cfg. Example:

[check-manifest]
ignore =
    .travis.yml

The following options are recognized:

ignore

A list of newline separated 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
.hgignore
.gitignore
.bzrignore
*.mo
ignore-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 newline separated 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.

Changelog

0.34 (2016-09-14)

  • Fix WindowsError due to presence of read-only files (#74).

0.33 (2016-08-29)

  • Fix WindowsError due to git submodules in subdirectories (#73). Contributed by Loren Gordon.

0.32 (2016-08-16)

  • New config/command line option to ignore bad ideas (ignore-bad-ideas) (issue #67). Contributed by Brecht Machiels.
  • Files named .hgsigs are ignored by default. Contributed by Jakub Wilk.

0.31 (2016-01-28)

  • Drop Python 3.2 support.
  • Ignore commented-out lines in MANIFEST.in (issue #66).

0.30 (2015-12-10)

  • Support git submodules (issue #61).
  • Revert the zc.buildout support hack from 0.26 because it causes breakage (issue #56).
  • Improve non-ASCII filename handling with Bazaar on Windows.

0.29 (2015-11-21)

  • Fix –python with just a command name, to be found in path (issue #57).

0.28 (2015-11-11)

  • Fix detection of git repositories when .git is a file and not a directory (#53). One situation where this occurs is when the project is checked out as a git submodule.
  • Apply ignore patterns in subdirectories too (#54).

0.27 (2015-11-02)

  • Fix utter breakage on Windows, introduced in 0.26 (issue #52). (The bug – clearing the environment unnecessarily – could probably also cause locale-related problems on other OSes.)

0.26 (2015-10-30)

  • Do not complain about missing .gitattributes file (PR #50).
  • Normalize unicode representation and case of filenames. (issue #47).
  • Support installation via zc.buildout better (issue #35).
  • Drop Python 2.6 support because one of our test dependencies (mock) dropped it. This also means we no longer use environment markers.

0.25 (2015-05-27)

  • Stop dynamic computation of install_requires in setup.py: this doesn’t work well in the presence of the pip 7 wheel cache. Use PEP-426 environment markers instead (this means we now require setuptools >= 0.7, and pip >= 6.0, and wheel >= 0.24).

0.24 (2015-03-26)

  • Make sure setup.py not being added to the VCS doesn’t cause hard-to-understand errors (issue #46).

0.23 (2015-02-12)

  • More reliable svn status parsing; now handles svn externals (issue #45).
  • The test suite now skips tests for version control systems that aren’t installed (issue #42).

0.22 (2014-12-23)

  • More terse output by default; use the new -v (--verbose) flag to see all the details.
  • Warn the user if MANIFEST.in is missing (issue #31).
  • Fix IOError when files listed under version control are missing (issue #32).
  • Improved wording of the match/do not match messages (issue #34).
  • Handle a relative –python path (issue #36).
  • Warn about leading and trailing slashes in MANIFEST.in (issue #37).
  • Ignore .travis.yml by default (issue #39).
  • Suggest a rule for Makefile found deeper in the source tree.

0.21 (2014-06-13)

  • Don’t drop setup.cfg when copying version-controlled files into a clean temporary directory (issue #29).

0.20 (2014-05-14)

  • Restore warning about files included in the sdist but not added to the version control system (issue #27).
  • Fix check-manifest relative/pathname (issue #28).

0.19 (2014-02-09)

  • More correct MANIFEST.in parsing for exclusion rules.
  • Some effort was expended towards Windows compatibility.
  • Handles non-ASCII filenames, as long as they’re valid in your locale (issue #23, #25).

0.18 (2014-01-30)

  • Friendlier error message when an external command cannot be found (issue #21).
  • Add suggestion pattern for .coveragerc.
  • Python 2.6 support (issue #22).

0.17 (2013-10-10)

  • Read the existing MANIFEST.in file for files to ignore (issue #19).

0.16 (2013-10-01)

  • Fix Subversion status parsing in the presence of svn usernames longer than 12 characters (issue #18).

0.15 (2013-09-20)

  • Normalize the paths of all files, avoiding some duplicate misses of directories. (issue #16). [maurits]

0.14 (2013-08-28)

  • Supports packages that do not live in the root of a version control repository (issue #15).
  • More reliable svn support: detect files that have been added but not committed (or committed but not updated).
  • Licence changed from GPL (v2 or later) to MIT (issue #12).

0.13 (2013-07-31)

  • New command line option: –ignore (issue #11). Contributed by Steven Myint.
  • New command line option: -p, –python. Defaults to the Python you used to run check-manifest. Fixes issues with packages that require Python 3 to run setup.py (issue #13).

0.12 (2013-05-15)

  • Add suggestion pattern for Makefile.
  • More generic suggestion patterns, should cover almost anything.
  • zest.releaser integration: skip check-release for non-Python packages (issue #9).

0.11 (2013-03-20)

  • Make sure MANIFEST.in is not ignored even if it hasn’t been added to the VCS yet (issue #7).

0.10 (2013-03-17)

  • check-manifest --version now prints the version number.
  • Don’t apologize for not adding rules for directories (especially after adding rules that include files inside that directory).
  • Python 3 support contributed by Steven Myint.
  • Default ignore patterns can be configured in setup.cfg (issue #3).

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 an ‘exceptions.Exception’ object but received a ‘str’).
Release History

Release History

0.34

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.33

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.32

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.31

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.30

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.29

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.28

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.27

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.26

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.25

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.24

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.23

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.22

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.21

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.20

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.19

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.18

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.17

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.16

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.15

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.14

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.13

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.12

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.11

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.10

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.9

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.8

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.7

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
check_manifest-0.34-py2.py3-none-any.whl (21.5 kB) Copy SHA256 Checksum SHA256 py2.py3 Wheel Sep 14, 2016
check-manifest-0.34.tar.gz (31.7 kB) Copy SHA256 Checksum SHA256 Source Sep 14, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting