Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Python Package Managers
  3. setuptools

setuptools

What it is

setuptools is a free Python library for preparing projects to share and install. It can serve as a packaging build backend, discover packages and namespaces automatically, and let maintainers control which packages are distributed. Dependency handling covers build requirements, required and optional dependencies, version restrictions and environment markers, with dependency groups supported. Configured entry points can create installation-time scripts, including console commands and plugin entry points. Editable installs let source changes take effect without rebuilding and reinstalling. The library can also build C and C++ extension modules. Its documentation describes use with pip, build and PyPI for Python package distribution. Setuptools runs on Linux, macOS and Windows and requires Python 3.10 or later according to its current PyPI listing. The project identifies modern PyPA-standard APIs and documented customization APIs as its most stable interfaces. Professional support is available through a Tidelift Subscription.

For and against

For

  • Free Python packaging library
  • Supports package and namespace discovery
  • Handles required and optional dependencies
  • Provides editable installation support
  • Runs on Linux, macOS and Windows

Against

  • Requires Python 3.10 or later
  • No lockfile support
  • No environment-management features
  • No package-publishing feature

The verdict

setuptools covers core Python packaging tasks from discovery and dependencies to build backends and entry points. Its broad platform support is paired with a Python 3.10-or-newer requirement.

Who it suits

It suits Python maintainers packaging libraries or applications for distribution and installation. It is also useful when projects need entry points, editable installs or native extensions.

Plans and prices

Setuptools

Free

Python packaging library

Every plan, in full

On the record

Build backend
Setuptools can serve as the packaging build backend for Python projects.setuptools.pypa.io · read 8 Oct 2026
C and C++ extensions
Setuptools can build C and C++ extension modules.setuptools.pypa.io · read 8 Oct 2026
Compatibility
The project identifies modern PyPA-standard APIs and documented customization APIs as its most stable supported interfaces.setuptools.pypa.io · read 8 Oct 2026
Compatibility limits
The current PyPI listing states that setuptools requires Python 3.10 or later.pypi.org · read 8 Oct 2026
Dependencies
Setuptools supports build system requirements, required dependencies, and optional dependencies with version restrictions and environment markers.setuptools.pypa.io · read 8 Oct 2026
Editable installs
Setuptools supports editable installs that let source changes take effect without rebuilding and reinstalling the package.setuptools.pypa.io · read 8 Oct 2026
Entry points
Setuptools can create scripts during installation from configured entry points, including console commands and plugin entry points.setuptools.pypa.io · read 8 Oct 2026
Integrations
The documentation describes using setuptools with pip, build, and PyPI as part of building and distributing Python packages.setuptools.pypa.io · read 8 Oct 2026
Package discovery
Setuptools can automatically discover packages and namespaces and lets maintainers customize which packages are distributed.setuptools.pypa.io · read 8 Oct 2026
Purpose
Setuptools is a library designed to facilitate packaging Python projects for sharing and installation.setuptools.pypa.io · read 8 Oct 2026
Security maintenance
The release history documents security fixes, including a fix preventing archive members from being extracted outside the requested directory.setuptools.pypa.io · read 8 Oct 2026
Support
Professional support for setuptools is available through a Tidelift Subscription.setuptools.pypa.io · read 8 Oct 2026

Alternatives to setuptools

Every alternative, ranked