On Mon, Sep 10, 2018, at 12:33 AM, Bert JW Regeer wrote:
Speaking as a maintainer of various different packages for the Pylons project, we include the following in our sdists:

- source code for the package
- tests for the package
- documentation for the package

and of course the license/history/changelog/everything you'd theoretically need to create a fork (minus .git). Our sdists are pretty big as a result.

When I was working out how Flit could build sdists without a MANIFEST.in, I settled on the idea that an sdist should be more or less a static equivalent of checking out the git tag for that release. So if a project lost its VCS history, all the files from release versions would still be in sdists. That means all the source files are there (like rst docs), but not generated files (like Sphinx HTML output).

Now that 'pip install' gets wheels where possible, there's less pressure to make sdists as slim as possible, because far fewer people will need to wait for them to download.