Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close

Welcome to Distutils2

Distutils2 is the packaging library that supersedes Distutils. It has three main audiences:

  • Python authors who want to distribute their code
  • End users who want to install modules or applications
  • Developers of packaging-related tools who need a support library to build on

Authors will have to write a setup.cfg file and run a few commands to package and distribute their code. End users will be able to search for, install and remove Python projects with the included pysetup program. Last, developers will be able to reuse classes and functions in their tools.

The Distutils2 codebase is a fork of Distutils. It is not backward compatible with Distutils and does not depend on it. It provides more features and implements new packaging standards. In Python 3.3, Distutils2 is included in the standard library under the module name "packaging". Documentation is provided at http://docs.python.org/dev/packaging --for ease of maintenance, it is not duplicated in this repository. You can use the Packaging documentation to use Distutils2; only the package name is different (packaging vs. distutils2), all modules, classes and functions have the same name.

If you want to contribute, please have a look at DEVNOTES.txt or http://wiki.python.org/Distutils2/Contributing .

Beware that Distutils2 is still in alpha stage and its API is subject to change. It should be not used for critical deployments. That said, it is possible to start using it while keeping compatiblity with tools based on the old Distutils or Setuptools, and the developers are eager to get feedback from authors, end users and developers.

Useful links:

Recent activity

Éric Araujo

Commits by Éric Araujo were pushed to mtlpython/distutils2

70831fd - Have pysetup read setup.cfg early to find custom commands (#14733). Independently found and fixed by me (with help from Luis Rojas) and Janusz Lewandowski.
Éric Araujo

Commits by Éric Araujo were pushed to mtlpython/distutils2

1c09e0c - Factor out repeated code used to call pysetup from tests. The whole assert_python_* business was unfriendly for readers, now the code needed to have the ...
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.