# Overview Setuptools is the original Python packaging toolset, responsible for the `.egg` packaging format (later replaced by `.whl`), and featuring a pretty solid degree of extensibility. The primary interface around this was `setup.py`, offering commands like `develop`, `install`, `sdist`, `bdist_egg`, and `bdist_wheel`. In recent years, Setuptools has deprecated much of this, aligning with the Python Packaging Authority standards around [[pyproject.toml]] and [[Python Build Backends]]. As functionality gets removed, older source trees packaged with Setuptools become difficult or impossible to build without downgrading back down to older versions. # Notable Versions ## Version 80.0 (April 27, 2025) * `setup.py develop` now invokes `pip install -e .`, allowing modern dependency management (such as dependency resolution and `Python-Requires` support) to take precedence * The flip side of that is that custom `develop` command classes can no longer override the develop process in the same way. * Along with that, packages are now built as editable wheels within an isolated build environment (due to `pip install -e .`), which can affect local build rules. ## Version 77.0 (March 19, 2025) * First release to support Metadata 2.4 and modern [license and license-file](https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license-and-license-files) support. ## Version 75.8.1 (February 25, 2025) * Wheel filenames changed to meet modern standards. ## Version 75.4.0 (November 11, 2024) * Python 3.9+ only ## Version 75.0.0 (September 15, 2024) * Removed the `setup.py register` and `setup.py develop` commands. ## Version 72.0 (July 28, 2024) * Removed the `setup.py test` command ## Version 69.3.0 (April 12, 2024) * Package names have changed to match [PEP 625](https://peps.python.org/pep-0625/).