Share your light with the world

... and your Python packages too!



Gaurav Dadhania
@GVRV

Who?




Anyways...





distutils


Standard tool for packaging in Python. 

It is included in the standard library (Python 2 and Python 3.0 to 3.3). 

It is useful for simple Python distributions, but lacks features. 

It introduces the distutils Python package that can be imported in your setup.py script

setuptools


 Developed to overcome Distutils' limitations, and is not included in the standard library. 

It introduced a command-line utility called easy_install. It also introduced the setuptools Python package that can be imported in your setup.py script, and the pkg_resources Python package that can be imported in your code to locate data files installed with a distribution. One of its gotchas is that it monkey-patches the distutils Python package. 

It should work well with pip. The latest version was released in July 2013.

distribute


Was a fork of Setuptools. It shared the same namespace, so if you had Distribute installed, import setuptools would actually import the package distributed with Distribute. 

Distribute was merged back into Setuptools 0.7, so you don't need to use Distribute any more.

distutils2


Was an attempt to take the best of Distutils, Setuptools and Distribute and become the standard tool included in Python's standard library. 

The idea was that Distutils2 would be distributed for old Python versions, and that Distutils2 would be renamed to packaging for Python 3.3, which would include it in its standard library. These plans did not go as intended, however, and currently, Distutils2 is an abandoned project. The latest release was in March 2012, and even the basic documentation on its Pypi home page is wrong.

distlib


Aims to implement a subset of the previous tools' functionality, but only functionality that is very well-defined in accepted PEPs. 

It should hopefully be included eventually in the Python standard library. It is still being developed and is not recommended for end-users yet.


bento


Packaging solution designed to replace Distutils, Setuptools, Distribute and Distutils2, written from the ground up. Its primary developer is also a core developer of numpy/scipy, so he's familiar with non-simple use-cases for packaging systems. 

Its first commit was in October 2009, and the latest commit as of writing was in July 2013. It's in active development but it is not mature yet, and it is not as widely known as Setuptools yet.

Soo... ?


Use setuptools + pip + virtualenv



Let's get our hands dirty!

Questions?

Share your light with the world (and your Python packages too)

By gvrv

Share your light with the world (and your Python packages too)

A quick guide to sharing your awesomesauce Python packages with the world!

  • 1,482