On distutils-sig, the question of distutils/setuptools replacing is frequently raised and a lot of effort is made to find what would be the best way to build and distribute python code.
I don't understand the reason why we have a massive coupling between build and distribution (setuptools and pypi to be more precise) and I'm not convinced about this "global" approach. I hope the python community will examine the possibility to change that and split the problem in two distinct projects.
One of the most successful ideas of Python is its power in extending other languages. And in fact, that's the major problem to solve for the build area. I'm pretty sure it will take a long time before obtaining a valuable (and widely adopted) solution and this is so complicated that the choice of the building chain should be kept under the responsibility of the upstream maintainers for now (distutils, setuptools, makefile, SCons, ...).
Concerning the distribution, here are the mandatory features I expect:
- installing source code managing dependencies with foreign contribution
- have binary builds without interaction with the primary host system
- be multi-platform agnostic (Linux, BSD, Windows, Mac, ...)
- clean upgrade/uninstall
- kind of sandboxes for testing and development mode
- no administrator privilege required
I found the http://0install.net project homepage and was really impressed by the tons of functionalities already available and the other numerous advantages, like:
- multiple version installation
- reuse external distribution effort (integrate deb, rpm, ...)
- digital signatures
- basic mirroring solution
- notification about software updates
- command line oriented but various GUI exist
- try to follow standards (XDG specifications on freedesktop.org))
I'm questioning seriously why this project could not be considered as a clean and build-independent python packages index system. Moreover, 0install has already some build capabilities (see 0compile) but the ultimate reason is that it will largely facilitate migrations when a new python build standard will emerge.
0install looks like a mature project driven by smart people and already included in modern distributions. I'll definitively give it a try soon.