On Tue, Apr 14, 2015 at 9:46 AM, Paul Moore <p.f.mo...@gmail.com> wrote:
> > Could an "extension" be -- "run this arbitrary Python script" ? > > The main point (as I see it) of an "extension" is that it's > distributed independently of the packages that use it. So you get to > decide to use an extension (and by inference audit it if you want) > *before* it gets run as part of an installation. OK, I think this is getting clearer to me now -- an Extension is (I suppose arbitrary) block of python code, but what goes into the wheel is not the code, but rather a declarative configuration for the extension. then at install-time, the actual code that runs is separate from the wheel, which gives the end user greater control, plus these nifty features.... > Extensions get peer > review by the community, and bad ones get weeded out, > the independent review and quality control > > there's also portability. And code quality. And > consistency. > And I'll add that this would promote code re-use and DRY. I'd be much happier installing a project that used a well-known "start > menu manager extension" So where would that code live? and how would it be managed? I'm thinking: - In package on PyPi like anything else - a specification in install_requires - pip auto-installs it (if not already there) when the user goes to install the wheel. Is that the idea? Of course, if the project I want to install makes using the extension > mandatory for the install to work, I still don't have a real choice - > I accept the extension or I can't use the code I want - well, you can't easily auto-install it anyway -- you could still do a source install, presumably. but there's an > extra level of transparency involved. And hopefully most extensions > will be optional, in practice. > There's a bit to think about in the API/UI here. If an installation_extension is used by a package, and it's specified in install_requires, then it's going to get auto-magically installed an used with a regular old "pip install". If we are worried about code review and users being in control of what extensions they use, then how to we make it obvious that a given extension is in use, but optional, and how to turn it off if you want? -CHB -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception chris.bar...@noaa.gov
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig