Distutils is a mechanism to distribute Python packages and extensions provided in the Python standard library since Python 1.6.

Current status

Maintenance of the Python packaging ecosystem has largely moved away from the standard library and the CPython core development team and is now being handled by distutils-sig and the Python Packaging Authority.

The rest of this page and its subpages relate to a previous attempt at improving the Python packaging ecosystem, known as distutils2. Much of it can likely be deleted, but it should be reviewed first to see if any of it should be preserved.

Historical distutils2 focused content

Past distutils2 work

Learning Distutils





Distutils module was included in standard distribution in Python 1.6. It was back in year 2000. Before that Distutils was available in Python 1.5.2 as a separate download. Since then Distutils expanded with new commands, but after almost 10 years basic principles stays the same - there is central setup.py file, which everybody can add its own code to. There is configuration setup.cfg where you can set default options for supported Distutils commands. The flexibility that Distutils architecture promotes, the lack of conventions and API that enforces them resulted in that there still no way to uninstall or list installed packages/modules, no way to query their versions either. Absence of clear border between Distutils and custom code places additional burden on newcomers in Distutils packaging that prefer to learn by example from some other existing configuration.


Distutils/DistributeSprint : Sprint ideas


#distutils - irc channel for Distutils

Distutils (last edited 2015-11-21 15:09:39 by NickCoghlan)

Unable to edit the page? See the FrontPage for instructions.