The normal course of operations for the sdist command is as
follows:
if the manifest file, MANIFEST doesn't exist, read
MANIFEST.in and create the manifest
if neither MANIFEST nor MANIFEST.in exist, create a
manifest with just the default file set
if either MANIFEST.in or the setup script (setup.py)
are more recent than MANIFEST, recreate MANIFEST by
reading MANIFEST.in
use the list of files now in MANIFEST (either just
generated or read in) to create the source distribution archive(s)
There are a couple of options that modify this behaviour. First, use
the --no-defaults and --no-prune to
disable the standard ``include'' and ``exclude'' sets.
Second, you might want to force the manifest to be regenerated--for
example, if you have added or removed files or directories that match an
existing pattern in the manifest template, you should regenerate the
manifest:
python setup.py sdist --force-manifest
Or, you might just want to (re)generate the manifest, but not create a
source distribution:
python setup.py sdist --manifest-only
--manifest-only implies --force-manifest.
-o is a shortcut for --manifest-only, and
-f for --force-manifest.