On Wed, May 19, 2004 at 05:14:57PM +0100, has wrote:
Also, removing metadata from setup scripts means that most of the time 'install.py' will be a completely generic script that can be automatically added to the .zip at build-time; one less thing for the module developer to have to do themselves.
You keep saying "the .zip" as if that's the only, or possibly prefered, distribution mechanism. It sounds as if your exposure to heterogenous systems is pretty limited and I think you are imposing the limitations of your view onto Distutils. Your recurring recommendations for monolithic scripts, such as build.py, install.py, whatever.py also seems to be a step backward from Distutils current capabilities. The functionality I think you intend by these scripts is already integrated in Distutils. It is accomplished by subclassing the build and install command classes or their helper commands. In an object oriented language, this is the appropriate way to re-use code; Not to have to include duplicate scripts in each package's source tree. Please review some more setup.py scripts. I agree that metadata should be provided in a consistent place (e.g. setup.py or setup.cfg but not both) but if you review most setup.py scripts, you'll find what is simply a function call that passes metadata to classes that do everything you're describing and more. In more complex cases, you'll see the same function call, referencing user-supplied subclasses of internal commands that don't quite do what the author needs. I'll also agree that how this is done is not inuitive, nor well documented, but it works none-the-less. I appreciate that your suggestions are based on your experience with Distutils. It seems to me however, that your experience is limited and some of the suggestions you are proposing will impose severe limitations on those of us that deal with more diverse environments. mwa -- Mark W. Alexander slash@dotnetslash.net The contents of this message authored by Mark W. Alexander are released under the Creative Commons Attribution-NonCommercial license. Copyright of quoted materials are retained by the original author(s). http://creativecommons.org/licenses/by-nc/1.0/