1==================================================
2Building and Distributing Packages with Setuptools
3==================================================
4
5``Setuptools`` is a collection of enhancements to the Python ``distutils``
6that allow developers to more easily build and
7distribute Python packages, especially ones that have dependencies on other
8packages.
9
10Packages built and distributed using ``setuptools`` look to the user like
11ordinary Python packages based on the ``distutils``.
12
13Transition to PEP517
14====================
15
16Since setuptools no longer serves as the default build tool, one must explicitly
17opt in (by providing a :file:`pyproject.toml` file) to use this library. The user
18facing part is provided by tools such as pip and
19backend interface is described :doc:`in this document <../build_meta>`. The
20quickstart provides an overview of the new workflow.
21
22.. toctree::
23    :maxdepth: 1
24
25    quickstart
26    package_discovery
27    entry_point
28    dependency_management
29    datafiles
30    development_mode
31    distribution
32    extension
33    declarative_config
34    pyproject_config
35    keywords
36    commands
37    functionalities_rewrite
38    miscellaneous
39