setup.py:
*setup.py
name | Name of your distribution
version | Version string of your distribution
packages | List of Python packages (that is, directories containing modules) to include. This can be specified manually, but a call to setuptools.find_packages() is typically used instead
py_modules | List of top-level Python modules (that is, single .py files) to include
For further information on python packaging see:
http://stackoverflow.com/documentation/python/1381/creating-python-packages/4500/introduction#t=201607281303534267585
For writing official packages there is a packaging user guide.