Segev Finer
What should really be included in an sdist via MANIFEST.in?
The ‘sdist’ name is derived from “source distribution (of this Python package/distribution)”. It is of practical benefit to treat it as “the state of the source needed for developing this Python distribution, as of this release”. The release of a Python distribution (e.g. ‘sampleproject’) marks a snapshot of the source code at a point in time. The source code as of that specific release is beneficial for some recipients, in order to be able to make changes and build a modified complete distribution from that.
A package's source tree, more often than not, includes other files such as documentation, tests, examples, a random assortment of other text files, etc. Should docs & tests, in particular, be included in an sdist via MANIFEST.in? Should other files be added too?
Yes, all those should be in the source distribution. PyPI is a good, stable over time, and easily-discovered repository of these source distributions. The source distribution (‘sdist’) should reflect the state of the source code – all of it – that a recipient might need for making modifications, testing them, updating documentation, etc. based on that specific release, by version, sourced from the same location that has the wheels or other ‘bdists’.
Or maybe the sdist should be kept to a minimum?
For a minimal installable, we already have the ‘wheel’ format. I don't think ‘sdist’ needs to be kept minimal, when it is more useful as a snapshot of the source for a distribution.
This is not clearly discussed in the packaging guide: https://packaging.python.org/guides/distributing-packages-using-setuptools/#.... The sampleproject (https://github.com/pypa/sampleproject) does seem to include tests (Well a no-op test) and doesn't include them in the sdist.
Yes, I would like the packaging guide to reflect what I described above. -- \ “Repetition leads to boredom, boredom to horrifying mistakes, | `\ horrifying mistakes to God-I-wish-I-was-still-bored, and it | _o__) goes downhill from there.” —Will Larson, 2008-11-04 | Ben Finney