Besides the name and the version of the package being distributed, the most important arguments that the setup() function can receive are as follows:
- description: This includes a few sentences to describe the package.
- long_description: This includes a full description that can be in reStructuredText (default) or other supported markup languages.
- long_description_content_type: this defines MIME type of long description; it is used to tell the package repository what kind of markup language is used for the package description.
- keywords: This is a list of keywords that define the package and allow for better indexing in the package repository.
- author: This is the name of the package author or organization that takes care of it.
- author_email: This is the contact email address.
- url: This is the URL of the project.
- license: This is the name of the license (GPL, LGPL, and so on) under which the package is distributed.
- packages: This is a list of all package names in the package distribution; setuptools provides a small function called find_packages that can automatically find package names to include.
- namespace_packages: This is a list of namespace packages within package distribution.