2009/10/6 P.J. Eby <pje@telecommunity.com>:
At 02:22 PM 10/5/2009 +0200, Tarek Ziadé wrote:
Setuptools development has been discontinued for a year, and does patches on Distutils code. Some of these patches are sensitive to any change made on Distutils, wether those changes are internal or not.
Setuptools is also not the only thing out there that subclasses distutils commands in general, or the build_ext command in particular. Numpy, Twisted, the mx extensions... there are plenty of things out there that subclass distutils commands, quite in adherence to the rules. (Note too that subclassing != patching, and the ability to subclass and substitute distutils commands is documented.)
It's therefore not appropriate to treat the issue as if it were setuptools-specific; it could have broken any other major (or minor) package's subclassing of the build_ext command.
The internal vs published API difference does not make much sense in distutils case anyway, since a lot of implementation details are necessary to make non trivial extension work. When working on numpy.distutils, I almost always have to look at distutils sources since the docs are vastly insufficient, and even then, the code is so bad that quite often the only way to interact with distutils is to "reverse engineer" its behavior by trial and error. cheers, David