Building and Distributing Packages with Setuptools#
The first step towards sharing a Python library or program is to build a
distribution package [1]. This includes adding a set of
additional files containing metadata and configuration to not only instruct
setuptools
on how the distribution should be built but also
to help installer (such as pip) during the installation process.
This document contains information to help Python developers through this process. Please check the Quickstart for an overview of the workflow.
Also note that setuptools
is what is known in the community as build
backend, user facing interfaces are provided by tools
such as pip and build. To use setuptools
, one must
explicitly create a pyproject.toml
file as described Build System Support.
Contents#
- Quickstart
- Package Discovery and Namespace Packages
- Dependencies Management in Setuptools
- Development Mode (a.k.a. “Editable Installs”)
- Entry Points
- Data Files Support
- Building Extension Modules
- Specifying Your Project’s Version
- Controlling files in the distribution
- Extending or Customizing Setuptools
- Configuring setuptools using
setup.cfg
files - Configuring setuptools using
pyproject.toml
files
—
Notes