Supriya Ghosh (Editor)

Setuptools

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Original author(s)
  
Phillip J. Eby

Written in
  
Python

Developer(s)
  
Jason R. Coombs

Operating system
  
Cross-platform

Setuptools

Stable release
  
28.7.0 / October 28, 2016; 4 months ago (2016-10-28)

Repository
  
github.com/pypa/setuptools.git

Setuptools is a package development process library designed to facilitate packaging Python projects by enhancing the Python standard library distutils (distribution utilities). It includes:

Contents

  • Python package and module definitions
  • Distribution package metadata
  • Test hooks
  • Project installation
  • Platform-specific details
  • Python 3 support
  • History

    In 2013, Distribute, a fork of Setuptools, was merged back into Setuptools 0.7.

    Package format

    Python Wheels have replaced Eggs.

    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

    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. 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.

    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.

    References

    Setuptools Wikipedia