Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

UI Expand
expandedtrue
titlesetup.py - options description

setup() takes several arguments. This example package uses a relatively minimal set:

  • name is the distribution name of project package. This can be any name as long as it only contains letters, numbers, _ , and -.

  • version is the package version.

  • author and author_email are used to identify the author of the package.

  • description is a short, one-sentence summary of the package.

  • long_description is a detailed description of the package. In this case, the long description is loaded from README.md, which is a common pattern.

  • long_description_content_type tells what type of markup is used for the long description. In this case, it’s Markdown.

  • url is the URL for the repository homepage of the project.

  • project_urls lets list any number of extra links related to project. Generally this could be to documentation, issue trackers, etc.

  • classifiers
 
  • gives the PIP
 some additional metadata about package. In this case, the package is only compatible with Python 3, is licensed under the MIT license, and is OS-independent.classifiers gives the index and pip 
  • some additional metadata about
your
  • package. In this case, the package is only compatible with Python 3, is licensed
under the MIT license, and is OS-independent. You should always include at least which version(s) of Python your package works on, which license your package is available under, and which operating systems your package will work on. For a complete list of classifiers, see https://pypi.org/classifiers/
  • under the MIT license, and is OS-independent.
  • package_dir is a dictionary with package names for keys and directories for values. An empty package name represents the “root package” — the directory in the project that contains all Python source files for the package — so in this case the 

src
  • project_name directory is designated the root package.

  • packages is a list of all Python import packages that should be included in the distribution package. Instead of listing each package manually,

we can use
  • a find_packages()

 
  • can be used to automatically discover all packages and subpackages under package_dir. In this case, the list of packages will be 

example_package
  • empty as

that’s the only package present.
  • there's no subpackages present in the package directory.

  • python_requires gives the versions of Python supported by

your
  • project. Installers like pip will look back though older versions of packages until it finds one that has a matching Python version.