On 11 March 2017 at 14:17, Nick Coghlan <ncogh...@gmail.com> wrote: > On 11 March 2017 at 07:03, Daniel Holth <dho...@gmail.com> wrote: > >> You lost me a bit at 'extra sets'. FYI it is already possible to depend >> on your own extras in another extra. >> >> Extra pseudo code: >> spampackage >> extra['spam'] = 'spampackage[eggs]' >> extra['eggs'] = ... >> > > Oh, nice. In that case, we can drop the '*' idea and just make "all" > another pre-declared extra with a SHOULD that says sdist build tools should > implicitly populate it as: > > { > "requires": "thisproject[extra1,extra2,extra3,extra4]" > "extra": "all" > } > > given an extras clause containing '["extra1",'extra2","extra3","extra4"]'. > > Endorsing that approach to handling "extra sets" does impose a design > constraint though, which is that installation tools will need to > special-case self-referential requirements so they don't get stuck in a > recursive loop. (That will become a new MUST in the spec) >
Next update: https://github.com/python/peps/commit/24cd02b34cea1bf35443048fd665485dffd0de93 - metadata version bumped to 3.0 - expected filename changed to pysdist.json and stated to be immutable once generated for a given release - project obsolescence changes deferred to a possible future metadata extension - no proposed changes to extras syntax and the "self" and "runtime" pseudo-extras dropped - "all" added as an implied extra for all declared extras - "alldev" added as an implied superset of "test", "build", "doc" and "dev" Even though it's not strictly necessary, I'd still kind of like to have a standard way to say "install all the dev dependencies, but not the package itself or its runtime dependencies". I guess if we take distro build tools as an example though, they handle that as a separate command (e.g. "dnf builddep" vs "dnf install") rather than as a variation on the normal install command. Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig