It is proposed that this article be deleted because of the following concern:
If you can address this concern by improving, copyediting, sourcing, renaming, or merging the page, please edit this page and do so. You may remove this message if you improve the article or otherwise object to deletion for any reason. Although not required, you are encouraged to explain why you object to the deletion, either in your edit summary or on the talk page. If this template is removed, do not replace it. The article may be deleted if this message remains in place for seven days, i.e., after 16:36, 7 July 2024 (UTC). Find sources: "Setuptools" – news · newspapers · books · scholar · JSTOR |
setuptools is a package development process library designed to facilitate packaging Python projects by enhancing the Python standard library distutils (distribution utilities). It includes:
- Python package and module definitions
- Distribution package metadata
- Test hooks
- Project installation
- Platform-specific details
- Python 3 support
![]() | |
Original author(s) | Phillip J. Eby |
---|---|
Developer(s) | Jason R. Coombs |
Stable release | 70.1.1[1]
/ 25 June 2024 |
Repository | |
Written in | Python |
Operating system | Cross-platform |
Type | Package manager |
License | MIT |
Website | setuptools |
History
editOn 2004-03-17, Phillip J. Eby announced the existence of the project.[2] In 2013, Distribute, a fork of setuptools, was merged back into setuptools 0.7.
Package format
editOriginal author(s) | Daniel Holth |
---|---|
Stable release | 0.43.0[3]
/ 11 March 2024 |
Repository | github |
Written in | Python |
Operating system | Cross-platform |
Type | Package format |
License | MIT |
Website | pypi |
Python wheels have replaced eggs.[4]
Python eggs are a way of bundling additional information with a Python project, that allows the project's dependencies to be checked and satisfied at runtime, as well as allowing projects to provide plugins for other projects.
"Eggs are to Pythons as Jars are to Java..."
Package manager
editPython pip has replaced EasyInstall.[5]
EasyInstall is a package manager for Python that provides a standard format for distributing Python programs and libraries (based on the Python Eggs format). EasyInstall is a module bundled with setuptools.[6] It is analogous to RubyGems for Ruby.
EasyInstall is not a fully fledged package manager. It cannot list local packages nor update them all. Pip and Python Package Manager (PyPM) are Python applications designed to fulfill a similar role as EasyInstall. The Distribute fork was created specifically due to the lack of progress in EasyInstall development.[7]
By default, EasyInstall looks in the Python Package Index (PyPI) for the desired packages and uses the metadata there to download and install the package and its dependencies.
See also
edit- Buildout - software build tool designed to handle Python package dependencies
- Software repository
References
edit- ^ "Release 70.1.1". 25 June 2024. Retrieved 26 June 2024.
- ^ Eby, Phillip J. (7 March 2004). ""setuptools" package preview". Distutils-SIG. Retrieved 17 July 2021.
- ^ "Release 0.43.0". 11 March 2024. Retrieved 26 March 2024.
- ^ "Wheel: A built-package format for Python".
- ^ jaraco: Replace easy_install with pip install. Jan 9, 2017.
- ^ http://peak.telecommunity.com/DevCenter/setuptools September 1, 2009
- ^ Tarek Ziade. "The strange world of packaging – forking setuptools". Retrieved 10 October 2011.