37

I found a Python project with a MANIFEST.in file. I can guess at the meaning of much of it, but I am unclear on the meaning of the line:

graft tools
davidism
  • 121,510
  • 29
  • 395
  • 339
Michael Felt
  • 484
  • 1
  • 4
  • 9
  • 1
    Git does not itself use anything named MANIFEST (with or without any suffix). The word *manifest* simply means "list" (see the noun definition at http://www.dictionary.com/browse/manifest) and many programs or projects have their own project-specific definition or use for such a list, but this depends on the specific project or program. – torek Jan 15 '17 at 13:46
  • 1
    Python packages often have a `MANIFEST.in` file that is part of the package metadata. This would all be easier to answer if you simply told us which repository you had cloned. – larsks Jan 15 '17 at 13:51
  • In short, the part I tripped over is that google 'found something' related to git, but I would have been better helped with suggestions, like here, that gave a clearer push to look at python packaging (or others) options. Specifically, 'not git' when 'manifest.in' is a search keyword. Thanks for the clarification. Now I know I can ignore the file (for now). – Michael Felt Jan 15 '17 at 15:21

1 Answers1

43

You can see such a file in JoshData/pdfminer/MANIFEST.in or openstack/deb-python-falcon/MANIFEST.in for instance.

It is a python project which uses the MANIFEST.in template

A MANIFEST.in file can be added in a project to define the list of files to include in the distribution built by the sdist command.

When sdist is run, it will look for the MANIFEST.in file and interpret it to generate the MANIFEST file that contains the list of files that will be included in the package.

The manifest template has one command per line, where each command specifies a set of files to include or exclude from the source distribution.

Among the MANIFEST commands, you do have:

graft dir

include all files under dir

See the Distutils tutorial

The MANIFEST.in file took me a while to understand.
It's the file that distutils uses to collect all the files in your project that will go into the final installer tarball (the file that gets distributed).

Błażej Michalik
  • 4,474
  • 40
  • 55
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • Thanks for the clear answer. Also - thx to everyone for the comments added to the question. So, it seems not just new to git - but also 'unknowing' of python packaging. – Michael Felt Jan 15 '17 at 15:16
  • @MichaelFelt: so, it is in fact a Python package? – torek Jan 15 '17 at 15:18
  • @torek I would bet this git repo is indeed a python project. – VonC Jan 15 '17 at 15:18
  • Yes, it is a python project - cloud-init - FYI. Not really 'part of the question' - as I commented under question: google failed to stress that git may not be the most important keyword - clearly it seems to me now that 'manifest.in' was the vital keyword. – Michael Felt Jan 15 '17 at 15:25