Skip to content
SPECIFICTION
Get listed

setuptools

setuptools.pypa.io

Free plan WindowsmacOSLinux

What it is

setuptools is a free Python packaging library for preparing projects for sharing and installation. It can serve as a project build backend, discover packages and namespaces, and let maintainers control which packages are distributed. It handles build-system requirements plus required and optional dependencies, including version limits and environment markers, and supports dependency groups. Configured entry points can generate console-command and plugin scripts during installation. Editable installs apply source changes without rebuilding and reinstalling. The library can build C and C++ extension modules, and its documentation covers workflows with pip, build, and PyPI. Setuptools runs on Linux, macOS, and Windows, while the current PyPI listing requires Python 3.10 or later. The project identifies modern PyPA-standard APIs and documented customization APIs as its most stable interfaces. It is free, has no free trial, and professional support is available through a Tidelift Subscription.

Spec sheet

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

Plans and prices

Setuptools Free Python packaging library Read 8 Oct 2026 · setuptools.pypa.io

Every setuptools plan and price →

Strong points and limits

Strong points

  • Free plan at 0.00 USD
  • Build backend for Python projects
  • Editable installs supported
  • Builds C and C++ extensions
  • Works on Linux, macOS, and Windows

Limits

  • Requires Python 3.10 or later
  • No lockfile support listed
  • No environment management listed
  • No package publishing listed

Who it suits

It suits Python maintainers who package, distribute, and install projects across Linux, macOS, or Windows. It is also relevant to teams needing editable installs, dependency declarations, entry points, or native extensions.

Verdict

setuptools covers project packaging from discovery and dependencies through installation scripts and native extensions.

Where Specifiction places it

Alternatives to setuptoolsAll alternatives →