<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 27 January 2018 at 13:46, Nathaniel Smith <span dir="ltr"><<a href="mailto:njs@pobox.com" target="_blank">njs@pobox.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The advantages are:<br>
<br>
- it's a simpler way to record information the information you want<br>
here, without adding more special cases to dist-info: most code<br>
doesn't even have to know what 'extras' are, just what packages are<br>
<br>
- it opens the door to lots of more advanced features, like<br>
'foo[test]' being a package that actually contains foo's tests, or<br>
build variants like 'numpy[mkl]' being numpy built against the MKL<br>
library, or maybe making it possible to track which version of numpy's<br>
ABI different packages use. (The latter two cases need some kind of<br>
provides: support, which is impossible right now because we don't want<br>
to allow random-other-package to say 'provides-dist: cryptography';<br>
but, it would be okay if 'numpy[mkl]' said 'provides-dist: numpy',<br>
because we know 'numpy[mkl]' and 'numpy' are maintained by the same<br>
people.)<br>
<br>
I know there's a lot of precedent for this kind of clever use of<br>
metadata-only packages in Debian (e.g. search for "metapackages"), and<br>
I guess the RPM world probably has similar tricks.<br></blockquote><div><br></div>While I agree with this idea in principle, I'll note that RPM makes it relatively straightforward to have a single SRPM emit multiple RPMs, so defining a metapackage is just a few extra lines in a spec file. (I'm not sure how Debian's metapackages work, but I believe they're similarly simple on the publisher's side).<br></div><div class="gmail_quote"><br></div><div class="gmail_quote">We don't currently have a comparable mechanism to readily allow a single source project to expand to multiple package index entries that all share a common sdist, but include different subsets in their respective wheel files (defining one would definitely be possible, it's just a tricky migration problem to work out).<br></div><div class="gmail_quote"><br></div>Cheers,</div><div class="gmail_extra">Nick.</div><div class="gmail_extra"><br></div><div class="gmail_extra">-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Nick Coghlan | <a href="mailto:ncoghlan@gmail.com" target="_blank">ncoghlan@gmail.com</a> | Brisbane, Australia</div>
</div></div>