On 11 February 2016 at 02:36, M.-A. Lemburg <m...@egenix.com> wrote: >> Currently what pip does is to >> invoke >> >> $ python setup.py egg_info --egg-base $TEMPDIR >> >> to get the metadata. It is not possible to get the metadata without >> executing the setup.py which is problematic for many applications. >> Providing a static pypa.json file is much better: tools can read a >> static file to get the metadata. > > Depends on which kind of meta data you're after. sdist packages > do include the static PKG-INFO file which has the version 1.0 > meta data. This doesn't include dependencies or namespace > details, but it does have important data such as version, > package name, description, etc.
For pip to use it, it needs to include - reliably - version, name, and dependencies; for it to be in any way better, we also need setup-requires or a functional equivalent. Today, we can't rely on the PKG-INFO being complete, so we assume they are all wrong and start over. One of the things we'll get by being strict in subsequent iterations is the ability to rely on things. > In the end, you'll just be defining a different standard > to express the same thing in different ways. > > The setup.py interface was never designed with integration in mind > (only with the idea to provide an extensible interface; and I'm not > going get into the merits of setuptools additions such as > --single-version-externally-managed :-)) but it's still > quite usable for the intended purpose. However we *are defining an integration point*, which is yet another reason not to use the setup.py interface. -Rob -- Robert Collins <rbtcoll...@hpe.com> Distinguished Technologist HP Converged Cloud _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig