On 23 Jul 2013 05:53, "Carl Meyer" <carl@oddbird.net> wrote:
>
> On 07/22/2013 06:31 AM, Daniel Holth wrote:
> > Yes, extras are *only* a way to create aliases for a set of
> > dependencies. They are not recorded as installed. It should make no
> > difference whether you install ipython[notebook], look up the
> > dependencies for the ipython notebook and install them manually, or
> > happen to have the ipython[notebook] dependencies installed and then
> > later install ipython itself.
>
> In the broad view I don't think this is true, when you consider
> uninstall. If I install ipython[notebook] and later uninstall ipython,
> it would be reasonable for the uninstaller to prompt me to uninstall all
> the ipython notebook dependencies by default, whereas it should not do
> so if I had installed them separately and directly.
>
> That said, the REQUESTED flag in PEP 376 is probably sufficient for
> this, so it may still be true that there's no need to store which extras
> were installed with a package.

The safest logic for that kind of garbage collection feature is currently:
* was it explicitly requested?
* if not, does anything else (extra or not) still depend on it?

Tracking extra requests directly currently falls into YAGNI territory in my opinion - if people want that level of control, then they really have a separate distribution rather than an extra.

Cheers,
Nick.

>
> Carl
>
>
> _______________________________________________
> Distutils-SIG maillist  -  Distutils-SIG@python.org
> http://mail.python.org/mailman/listinfo/distutils-sig
>