← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] ~cjwatson/lp-source-dependencies:wheel-parsing into lp-source-dependencies:master

 

Colin Watson has proposed merging ~cjwatson/lp-source-dependencies:wheel-parsing into lp-source-dependencies:master.

Commit message:
Add pkginfo 1.8.2 and wheel-filename 1.1.0

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)

For more details, see:
https://code.launchpad.net/~cjwatson/lp-source-dependencies/+git/lp-source-dependencies/+merge/423187

These will be used to help extract metadata from wheels produced by CI builds in order to publish them in PPAs linked to Artifactory.

I considered several options.  `wheel-inspect` was a possibility, but it has a number of additional dependencies, and it's not very clear which versions of the metadata standards it supports.  `distlib` looks promising, but it seems to be a separate implementation of the packaging standards that hasn't seen much adoption by other tools.  I also considered using the standard library's `importlib.metadata` or the equivalent backport, but that only implements the actual `METADATA` file format and leaves the problem of extracting it, so I was concerned that there might be edge cases in how to do that which I was unaware of, or that more might come up in the future.

`pkginfo` is used by the `twine` client to extract metadata before uploading to PyPI, which seems like a strong recommendation in and of itself, and it seems simple and well-maintained.  It doesn't quite solve the whole problem on its own: we also need to extract platform tags from the wheel filename in order to work out whether a package is architecture-independent.  I could have implemented that with a regex, but `wheel-filename` seems like a simple library encapsulating that sort of thing so that we don't have to maintain it.
-- 
Your team Launchpad code reviewers is requested to review the proposed merge of ~cjwatson/lp-source-dependencies:wheel-parsing into lp-source-dependencies:master.
diff --git a/dist/pkginfo-1.8.2.tar.gz b/dist/pkginfo-1.8.2.tar.gz
new file mode 100644
index 0000000..9ec3fb1
Binary files /dev/null and b/dist/pkginfo-1.8.2.tar.gz differ
diff --git a/dist/wheel-filename-1.1.0.tar.gz b/dist/wheel-filename-1.1.0.tar.gz
new file mode 100644
index 0000000..74c7921
Binary files /dev/null and b/dist/wheel-filename-1.1.0.tar.gz differ