<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div><div style="font-family: Calibri,sans-serif; font-size: 11pt;">I'm interested, and potentially in a position to provide funded infrastructure for this (though perhaps not as soon as you'd like, since things can move slowly at my end).<br><br>My personal preference would be to download a full list. This is slow moving data that will gzip nicely, and my uses (in IDE) will require many tentative queries. I can also see value in a single-query API, but keep it simple - the value here is in the data, not the lookup.<br><br>As far as updates go, most packaging systems should have some sort of release notification or update feed, so the work is likely going to be in hooking up to those and turning it into a scan task.<br><br>Cheers,<br>Steve<br><br>Top-posted from my Windows Phone</div></div><div dir="ltr"><hr><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">From: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:thomas@kluyver.me.uk">Thomas Kluyver</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Sent: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">2/7/2017 3:30</span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">To: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:distutils-sig@python.org">distutils-sig@python.org</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Subject: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">[Distutils] Indexing modules in Python distributions</span><br><br></div>For a variety of reasons, I would like to build an index of what<br>modules/packages are contained in which distributions ('packages') on<br>PyPI. For instance:<br><br>- Identifying requirements by static analysis of code: 'import zmq' -><br>requires pyzmq<br>- Finding corresponding packages from different packaging systems: pyzmq<br>on PyPI corresponds to pyzmq in conda, and python[3]-zmq in Debian<br>repositories. This is an oversimplification, but importable module names<br>provide a common basis to compare packages. I'd like a tool that could<br>pick between different ways of installing a given module.<br><br>People often assume that the import name is the same as the name on<br>PyPI. This is true in the vast majority of cases, but there's no<br>requirement that they are the same, and there are cases where they're<br>not - pyzmq is one example.<br><br>The metadata field 'Provides' is, according to PEP 314, intended for<br>this purpose, but the standard packaging tools don't make it easy to<br>use, and consequently very few packages specify it.<br><br>I have started putting together a tool to index wheels. It reads a .whl<br>file, finds modules inside it, and tries to identify namespace packages.<br>It's still quite rough, but it worked with the wheels I tried.<br>https://github.com/takluyver/wheeldex<br><br>Is this something that other people are interested in?<br><br>One thing I'm trying to work out at the moment is how the data would be<br>accessed: as a web service that tools can query online, or more like<br>Linux packaging, where tools download and cache a list to do lookups<br>locally. Or both? There's also, of course, the question of how the index<br>would be built and updated.<br><br>Thanks,<br>Thomas<br>_______________________________________________<br>Distutils-SIG maillist - Distutils-SIG@python.org<br>https://mail.python.org/mailman/listinfo/distutils-sig<br></body></html>