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

Reply via email to