-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow changing the entire dependency resolution “context” (Markers, dependency resolution and cross compiling) #10050
Comments
|
So I guess there are two parts to this:
|
Not to quibble, but the environment markers handling as it exists here is a bug. There need be no new feature, just fixing the bug of using the ambient interpreter to evaluate environment marker when a foreign interpreter has been specified. |
It’s not that simple. There is not a one-to-one relation between wheel tags and environment marker values, so it is not possible for pip in infer the interpreter name it needs from a wheel tag. The implementation seems obvious if you only consider officially-distributed CPython builds, but there are a ton of edge cases, mapping the interpreter names is not viable. |
I think the fact that this is a bug is clear. I agree fixing it may not be simple. I don't think that undoes the bug-worthiness though. I laid out a few solutions above. There are probably others.
Hopefully we agree 0 is a bug. The user asked for the resolve to be for a foreign interpreter and yet the current interpreter was used to evaluate environment markers. This could lead to incorrect omission of certain distributions as in the case reported. It seems to me adopting 1 effectively kills the the concept of Pip supporting foreign interpreters at all ( It seems to me 2 is a viable solution. The end result is that the resolve ( Finally, 3 would just be an optimization of the too-big problem described above for 2. Iff there are environment markers that can be be evaluated based on the foreign interpreter What do you think about solution 2? I'd be happy to take a crack at implementing that if you agree it makes sense. |
To try to clarify the situation, let me ask a question. You say "the user asked for the resolve to be for a foreign interpreter". How did the user do that, and what even do you mean by "the resolve to be for a foreign interpreter"? The pip documentation doesn't to my knowledge ever use that term. The documentation for If you want the documentation and behaviour of |
So, Pip download docs say: https://pip.pypa.io/en/stable/cli/pip_download/#overview ... pip download with the --platform, --python-version, --implementation, and --abi options provides the ability to fetch dependencies for an interpreter and system other than the ones that pip is running on. The word foreign is not used, but presumably you'd agree it's a fine abbreviation for the intent expressed there. My claim this is a bug for the example I led with in this issue description seems valid. |
(BTW, This seems to be getting to a point where folks are talking past each other. I suggest we all make sure we're calm before posting a comment here. If you're not calm, please don't mind me suggesting that you come back to this after a little break.) So... I'm half-dazed rn and typing this on a phone for $reasons, so please treat what I'm trying to say here as a "steel-man" argument (i.e. treat it as favourably as possible, opposite of strawman argument). Also, apologies if something isn't 100% coherent here for the same reasons. I think enabling pip to install into an interpreter other than the one it's running on is a good idea. It's come up before and I think most (all?) pip maintainers are on board for that. I am not a 100% fit at the moment, so I'm not gonna look for the issue but there's a bunch of discussion on this somewhere in this issue tracker. However, I don't think that we should do that by changing what the marker evaluation environment is, based on the current CLI options that the user gives pip. It feels like asking a user to walk across a tightrope to make their use case happen. TBH I'm genuinely amazed at the amount of effort you've likely had put into that command line that posted in OP. Honestly, that looks like someone had to walk across that tightrope multiple times, had some painful falls and you've powered through it - kudos to you! Chances are, the folks reading this have the required context to figure out how to cross the tightrope -- i.e. come up with a CLI invocation like that -- probably because we've got hard-fought knowledge of how to figure it out (either by writing the code, or reading+understanding it). I don't think this usecase needs to be treated like that though. I think we should make it possible for the user to specify a different Python interpreter to install into directly as a CLI argument, and pip should create a subprocess to get all the relevant information from that interpreter (paths to install to AKA scheme paths, platform information, and relevant values for the markers) before starting the resolution process. It'd look something like:
This has 3 main advantages:
However, this would need a decent amount of work. This is likely more work than any of the approaches proposed so far. The reason this is stuck is because it is a tricky problem -- due to the context needed to figuring out the implementation and figuring out how it interacts with all the other parts of pip. There's open questions here for sure, but I think this is both feasible and a reasonably doable task. Thoughts? PS: I removed a few paragraphs about why the proposed solutions are tricky, because it's a lot of words to elaborate on something that diluted the rest of this comment anyway. |
Also, re-reading this, I feel like we're in a situation where:
|
I think you're overstating the tightrope. Here's my original command line with illusrative bits removed (
Every part of that invocation is directly spelled out by As to |
As to your second bullet point I do think Pip's own high level |
FWICT this was the intent of the original commit adding I may be reading that wrong. |
I've gathered a fuller history of this feature here for perusal if it helps: Idea for
PR work for
Idea / work for download supporting foreign interpreters:
|
Previously we relied on Pip, but it turns out Pip does not correctly handle environment markers for `--platform` + `--implementation` + `--python-version` + `--abi` (aka "foreign") resolves. Instead of waiting on resolution of pypa/pip#10050, patch Pip's vendored copy of `packaging` to see a default environment that corresponds to what we know about the foreign platform. It turns out what we know covers the most commonly used environment markers making this workaround both safe and useful in practice. Fixes pex-tool#1366
I've worked around this bug over in pex-tool/pex#1367. I'd still be happy to work on a fix if any of you come around to seeing this as a bug by your own docs. If you still see this as not a bug, feel free to close. |
Previously we relied on Pip, but it turns out Pip does not correctly handle environment markers for `--platform` + `--implementation` + `--python-version` + `--abi` (aka "foreign") resolves. Instead of waiting on resolution of pypa/pip#10050, patch Pip's vendored copy of `packaging` to see a default environment that corresponds to what we know about the foreign platform. It turns out what we know covers the most commonly used environment markers making this workaround both safe and useful in practice. Fixes #1366
To meaningfully progress on this, the entire “foreign platform” logic needs to be redesigned and exposed with better abstraction in the CLI. This is similar to the custom installation scheme problem; the built-in schemes are limited, and pip cannot hard-code all possible things to make this work on its own, so it must accept the user to supply some sort of custom declaration “I want you to behave like this”. |
FWIW, Pex eventually progressed to allowing you to fully patch the marker environment and supported tags to take away any guesswork. So the idea is the CLI accepts a json blob (or file with a JSON blob inside) that fully defines these values. Say I'm a Pip user on Mac and I want to target my production Docker image pypy on Linux. I can generate the needed info by running this in the docker image:
{
...
"compatible_tags": [
"pp38-pypy38_pp73-manylinux_2_35_x86_64",
"pp38-pypy38_pp73-manylinux_2_34_x86_64",
...
"py30-none-manylinux_2_5_x86_64",
"py30-none-manylinux1_x86_64",
"py30-none-linux_x86_64",
"py38-none-any",
"py3-none-any",
"py37-none-any",
"py36-none-any",
"py35-none-any",
"py34-none-any",
"py33-none-any",
"py32-none-any",
"py31-none-any",
"py30-none-any"
],
"marker_environment": {
"implementation_name": "pypy",
"implementation_version": "7.3.7",
"os_name": "posix",
"platform_machine": "x86_64",
"platform_python_implementation": "PyPy",
"platform_release": "5.17.3-arch1-1",
"platform_system": "Linux",
"platform_version": "#1 SMP PREEMPT Thu, 14 Apr 2022 01:18:36 +0000",
"python_full_version": "3.8.12",
"python_version": "3.8",
"sys_platform": "linux"
}
} Then back on my Mac, I can pass that JSON blob to the CLI to fully characterize the foreign platform for the purposes of resolving ( |
Yeah I think that’s more or less what pip needs to be able to accept eventually, except I’m not sure how that can be done in a user-friendly way in the CLI. Maybe we need to invent some sort of “environment configuration” file format so the user can do something like |
My use case is attempt to download packages with dependencies for install in a different python version. This is how I understand the purpose of pip option
Package
The first check was apparently considering the requested version, otherwise the process would fail immediately. The duplicate bug #11010 is a closer match, reporting here hoping for a fix soon. Eventually an update in the documentation that this is not a valid use case and one should maintain several virtual environments, one for every target version needed. |
I think adding an environment specification file and deprecating the existing mechanisms for "install/download things while pretending to be a different interpreter" is a good action plan for this. Note that this would only make sense for |
Adding a cross-reference to https://discuss.python.org/t/what-information-is-needed-to-choose-the-right-dependency-file-for-a-platform/13447 since that is related to this topic. |
This is actually what I have been thinking is necessary as well, hence ...
😁 This would allow for a future where you could build an e.g. lock file for a different platform as all the input data about the target platform is contained in the JSON file (and I purposefully said JSON as this is a machine-readable format, not something a human being needs to edit). This starts to come into play when you have your local dev environment and your production environment that differ (e.g. macOS vs Linux). And I can't speak for @pradyunsg , but I would support a PEP on this (and yes, I'm willing to help write it) and an implementation in |
Exactly. Pex uses these "--complete-platform" JSON blobs to allow that and a few other use cases today (using a vendored Pip). |
I'm willing to be the PEP author for this @brettcannon and write up a packaging PR for the reference implementation. I'll certainly need a bit of guidance, but as the primary Pex maintainer it's long past due I get more involved with the PyPA and chip in. The use case you mention in Packaging discuss here is implemented today in Pex using a vendored pip with minimal runtime patches. I'd love to be able to remove those runtime patches and this would get that ball rolling. In this case, the lock file format can contain more than one lock and here we get two created at once, one for each
Where: cp39-cp39-macosx_12_0_x86_64.json{
"marker_environment": {
"implementation_name": "cpython",
"implementation_version": "3.9.12",
"os_name": "posix",
"platform_machine": "x86_64",
"platform_python_implementation": "CPython",
"platform_release": "21.4.0",
"platform_system": "Darwin",
"platform_version": "Darwin Kernel Version 21.4.0: Fri Mar 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64",
"python_full_version": "3.9.12",
"python_version": "3.9",
"sys_platform": "darwin"
},
"compatible_tags": [
"cp39-cp39-macosx_12_0_x86_64",
"cp39-cp39-macosx_12_0_intel",
"cp39-cp39-macosx_12_0_fat64",
"cp39-cp39-macosx_12_0_fat32",
"cp39-cp39-macosx_12_0_universal2",
"cp39-cp39-macosx_12_0_universal",
"cp39-cp39-macosx_11_0_x86_64",
"cp39-cp39-macosx_11_0_intel",
"cp39-cp39-macosx_11_0_fat64",
"cp39-cp39-macosx_11_0_fat32",
"cp39-cp39-macosx_11_0_universal2",
"cp39-cp39-macosx_11_0_universal",
"cp39-cp39-macosx_10_16_x86_64",
"cp39-cp39-macosx_10_16_intel",
"cp39-cp39-macosx_10_16_fat64",
"cp39-cp39-macosx_10_16_fat32",
"cp39-cp39-macosx_10_16_universal2",
"cp39-cp39-macosx_10_16_universal",
"cp39-cp39-macosx_10_15_x86_64",
"cp39-cp39-macosx_10_15_intel",
"cp39-cp39-macosx_10_15_fat64",
"cp39-cp39-macosx_10_15_fat32",
"cp39-cp39-macosx_10_15_universal2",
"cp39-cp39-macosx_10_15_universal",
"cp39-cp39-macosx_10_14_x86_64",
"cp39-cp39-macosx_10_14_intel",
"cp39-cp39-macosx_10_14_fat64",
"cp39-cp39-macosx_10_14_fat32",
"cp39-cp39-macosx_10_14_universal2",
"cp39-cp39-macosx_10_14_universal",
"cp39-cp39-macosx_10_13_x86_64",
"cp39-cp39-macosx_10_13_intel",
"cp39-cp39-macosx_10_13_fat64",
"cp39-cp39-macosx_10_13_fat32",
"cp39-cp39-macosx_10_13_universal2",
"cp39-cp39-macosx_10_13_universal",
"cp39-cp39-macosx_10_12_x86_64",
"cp39-cp39-macosx_10_12_intel",
"cp39-cp39-macosx_10_12_fat64",
"cp39-cp39-macosx_10_12_fat32",
"cp39-cp39-macosx_10_12_universal2",
"cp39-cp39-macosx_10_12_universal",
"cp39-cp39-macosx_10_11_x86_64",
"cp39-cp39-macosx_10_11_intel",
"cp39-cp39-macosx_10_11_fat64",
"cp39-cp39-macosx_10_11_fat32",
"cp39-cp39-macosx_10_11_universal2",
"cp39-cp39-macosx_10_11_universal",
"cp39-cp39-macosx_10_10_x86_64",
"cp39-cp39-macosx_10_10_intel",
"cp39-cp39-macosx_10_10_fat64",
"cp39-cp39-macosx_10_10_fat32",
"cp39-cp39-macosx_10_10_universal2",
"cp39-cp39-macosx_10_10_universal",
"cp39-cp39-macosx_10_9_x86_64",
"cp39-cp39-macosx_10_9_intel",
"cp39-cp39-macosx_10_9_fat64",
"cp39-cp39-macosx_10_9_fat32",
"cp39-cp39-macosx_10_9_universal2",
"cp39-cp39-macosx_10_9_universal",
"cp39-cp39-macosx_10_8_x86_64",
"cp39-cp39-macosx_10_8_intel",
"cp39-cp39-macosx_10_8_fat64",
"cp39-cp39-macosx_10_8_fat32",
"cp39-cp39-macosx_10_8_universal2",
"cp39-cp39-macosx_10_8_universal",
"cp39-cp39-macosx_10_7_x86_64",
"cp39-cp39-macosx_10_7_intel",
"cp39-cp39-macosx_10_7_fat64",
"cp39-cp39-macosx_10_7_fat32",
"cp39-cp39-macosx_10_7_universal2",
"cp39-cp39-macosx_10_7_universal",
"cp39-cp39-macosx_10_6_x86_64",
"cp39-cp39-macosx_10_6_intel",
"cp39-cp39-macosx_10_6_fat64",
"cp39-cp39-macosx_10_6_fat32",
"cp39-cp39-macosx_10_6_universal2",
"cp39-cp39-macosx_10_6_universal",
"cp39-cp39-macosx_10_5_x86_64",
"cp39-cp39-macosx_10_5_intel",
"cp39-cp39-macosx_10_5_fat64",
"cp39-cp39-macosx_10_5_fat32",
"cp39-cp39-macosx_10_5_universal2",
"cp39-cp39-macosx_10_5_universal",
"cp39-cp39-macosx_10_4_x86_64",
"cp39-cp39-macosx_10_4_intel",
"cp39-cp39-macosx_10_4_fat64",
"cp39-cp39-macosx_10_4_fat32",
"cp39-cp39-macosx_10_4_universal2",
"cp39-cp39-macosx_10_4_universal",
"cp39-abi3-macosx_12_0_x86_64",
"cp39-abi3-macosx_12_0_intel",
"cp39-abi3-macosx_12_0_fat64",
"cp39-abi3-macosx_12_0_fat32",
"cp39-abi3-macosx_12_0_universal2",
"cp39-abi3-macosx_12_0_universal",
"cp39-abi3-macosx_11_0_x86_64",
"cp39-abi3-macosx_11_0_intel",
"cp39-abi3-macosx_11_0_fat64",
"cp39-abi3-macosx_11_0_fat32",
"cp39-abi3-macosx_11_0_universal2",
"cp39-abi3-macosx_11_0_universal",
"cp39-abi3-macosx_10_16_x86_64",
"cp39-abi3-macosx_10_16_intel",
"cp39-abi3-macosx_10_16_fat64",
"cp39-abi3-macosx_10_16_fat32",
"cp39-abi3-macosx_10_16_universal2",
"cp39-abi3-macosx_10_16_universal",
"cp39-abi3-macosx_10_15_x86_64",
"cp39-abi3-macosx_10_15_intel",
"cp39-abi3-macosx_10_15_fat64",
"cp39-abi3-macosx_10_15_fat32",
"cp39-abi3-macosx_10_15_universal2",
"cp39-abi3-macosx_10_15_universal",
"cp39-abi3-macosx_10_14_x86_64",
"cp39-abi3-macosx_10_14_intel",
"cp39-abi3-macosx_10_14_fat64",
"cp39-abi3-macosx_10_14_fat32",
"cp39-abi3-macosx_10_14_universal2",
"cp39-abi3-macosx_10_14_universal",
"cp39-abi3-macosx_10_13_x86_64",
"cp39-abi3-macosx_10_13_intel",
"cp39-abi3-macosx_10_13_fat64",
"cp39-abi3-macosx_10_13_fat32",
"cp39-abi3-macosx_10_13_universal2",
"cp39-abi3-macosx_10_13_universal",
"cp39-abi3-macosx_10_12_x86_64",
"cp39-abi3-macosx_10_12_intel",
"cp39-abi3-macosx_10_12_fat64",
"cp39-abi3-macosx_10_12_fat32",
"cp39-abi3-macosx_10_12_universal2",
"cp39-abi3-macosx_10_12_universal",
"cp39-abi3-macosx_10_11_x86_64",
"cp39-abi3-macosx_10_11_intel",
"cp39-abi3-macosx_10_11_fat64",
"cp39-abi3-macosx_10_11_fat32",
"cp39-abi3-macosx_10_11_universal2",
"cp39-abi3-macosx_10_11_universal",
"cp39-abi3-macosx_10_10_x86_64",
"cp39-abi3-macosx_10_10_intel",
"cp39-abi3-macosx_10_10_fat64",
"cp39-abi3-macosx_10_10_fat32",
"cp39-abi3-macosx_10_10_universal2",
"cp39-abi3-macosx_10_10_universal",
"cp39-abi3-macosx_10_9_x86_64",
"cp39-abi3-macosx_10_9_intel",
"cp39-abi3-macosx_10_9_fat64",
"cp39-abi3-macosx_10_9_fat32",
"cp39-abi3-macosx_10_9_universal2",
"cp39-abi3-macosx_10_9_universal",
"cp39-abi3-macosx_10_8_x86_64",
"cp39-abi3-macosx_10_8_intel",
"cp39-abi3-macosx_10_8_fat64",
"cp39-abi3-macosx_10_8_fat32",
"cp39-abi3-macosx_10_8_universal2",
"cp39-abi3-macosx_10_8_universal",
"cp39-abi3-macosx_10_7_x86_64",
"cp39-abi3-macosx_10_7_intel",
"cp39-abi3-macosx_10_7_fat64",
"cp39-abi3-macosx_10_7_fat32",
"cp39-abi3-macosx_10_7_universal2",
"cp39-abi3-macosx_10_7_universal",
"cp39-abi3-macosx_10_6_x86_64",
"cp39-abi3-macosx_10_6_intel",
"cp39-abi3-macosx_10_6_fat64",
"cp39-abi3-macosx_10_6_fat32",
"cp39-abi3-macosx_10_6_universal2",
"cp39-abi3-macosx_10_6_universal",
"cp39-abi3-macosx_10_5_x86_64",
"cp39-abi3-macosx_10_5_intel",
"cp39-abi3-macosx_10_5_fat64",
"cp39-abi3-macosx_10_5_fat32",
"cp39-abi3-macosx_10_5_universal2",
"cp39-abi3-macosx_10_5_universal",
"cp39-abi3-macosx_10_4_x86_64",
"cp39-abi3-macosx_10_4_intel",
"cp39-abi3-macosx_10_4_fat64",
"cp39-abi3-macosx_10_4_fat32",
"cp39-abi3-macosx_10_4_universal2",
"cp39-abi3-macosx_10_4_universal",
"cp39-none-macosx_12_0_x86_64",
"cp39-none-macosx_12_0_intel",
"cp39-none-macosx_12_0_fat64",
"cp39-none-macosx_12_0_fat32",
"cp39-none-macosx_12_0_universal2",
"cp39-none-macosx_12_0_universal",
"cp39-none-macosx_11_0_x86_64",
"cp39-none-macosx_11_0_intel",
"cp39-none-macosx_11_0_fat64",
"cp39-none-macosx_11_0_fat32",
"cp39-none-macosx_11_0_universal2",
"cp39-none-macosx_11_0_universal",
"cp39-none-macosx_10_16_x86_64",
"cp39-none-macosx_10_16_intel",
"cp39-none-macosx_10_16_fat64",
"cp39-none-macosx_10_16_fat32",
"cp39-none-macosx_10_16_universal2",
"cp39-none-macosx_10_16_universal",
"cp39-none-macosx_10_15_x86_64",
"cp39-none-macosx_10_15_intel",
"cp39-none-macosx_10_15_fat64",
"cp39-none-macosx_10_15_fat32",
"cp39-none-macosx_10_15_universal2",
"cp39-none-macosx_10_15_universal",
"cp39-none-macosx_10_14_x86_64",
"cp39-none-macosx_10_14_intel",
"cp39-none-macosx_10_14_fat64",
"cp39-none-macosx_10_14_fat32",
"cp39-none-macosx_10_14_universal2",
"cp39-none-macosx_10_14_universal",
"cp39-none-macosx_10_13_x86_64",
"cp39-none-macosx_10_13_intel",
"cp39-none-macosx_10_13_fat64",
"cp39-none-macosx_10_13_fat32",
"cp39-none-macosx_10_13_universal2",
"cp39-none-macosx_10_13_universal",
"cp39-none-macosx_10_12_x86_64",
"cp39-none-macosx_10_12_intel",
"cp39-none-macosx_10_12_fat64",
"cp39-none-macosx_10_12_fat32",
"cp39-none-macosx_10_12_universal2",
"cp39-none-macosx_10_12_universal",
"cp39-none-macosx_10_11_x86_64",
"cp39-none-macosx_10_11_intel",
"cp39-none-macosx_10_11_fat64",
"cp39-none-macosx_10_11_fat32",
"cp39-none-macosx_10_11_universal2",
"cp39-none-macosx_10_11_universal",
"cp39-none-macosx_10_10_x86_64",
"cp39-none-macosx_10_10_intel",
"cp39-none-macosx_10_10_fat64",
"cp39-none-macosx_10_10_fat32",
"cp39-none-macosx_10_10_universal2",
"cp39-none-macosx_10_10_universal",
"cp39-none-macosx_10_9_x86_64",
"cp39-none-macosx_10_9_intel",
"cp39-none-macosx_10_9_fat64",
"cp39-none-macosx_10_9_fat32",
"cp39-none-macosx_10_9_universal2",
"cp39-none-macosx_10_9_universal",
"cp39-none-macosx_10_8_x86_64",
"cp39-none-macosx_10_8_intel",
"cp39-none-macosx_10_8_fat64",
"cp39-none-macosx_10_8_fat32",
"cp39-none-macosx_10_8_universal2",
"cp39-none-macosx_10_8_universal",
"cp39-none-macosx_10_7_x86_64",
"cp39-none-macosx_10_7_intel",
"cp39-none-macosx_10_7_fat64",
"cp39-none-macosx_10_7_fat32",
"cp39-none-macosx_10_7_universal2",
"cp39-none-macosx_10_7_universal",
"cp39-none-macosx_10_6_x86_64",
"cp39-none-macosx_10_6_intel",
"cp39-none-macosx_10_6_fat64",
"cp39-none-macosx_10_6_fat32",
"cp39-none-macosx_10_6_universal2",
"cp39-none-macosx_10_6_universal",
"cp39-none-macosx_10_5_x86_64",
"cp39-none-macosx_10_5_intel",
"cp39-none-macosx_10_5_fat64",
"cp39-none-macosx_10_5_fat32",
"cp39-none-macosx_10_5_universal2",
"cp39-none-macosx_10_5_universal",
"cp39-none-macosx_10_4_x86_64",
"cp39-none-macosx_10_4_intel",
"cp39-none-macosx_10_4_fat64",
"cp39-none-macosx_10_4_fat32",
"cp39-none-macosx_10_4_universal2",
"cp39-none-macosx_10_4_universal",
"cp38-abi3-macosx_12_0_x86_64",
"cp38-abi3-macosx_12_0_intel",
"cp38-abi3-macosx_12_0_fat64",
"cp38-abi3-macosx_12_0_fat32",
"cp38-abi3-macosx_12_0_universal2",
"cp38-abi3-macosx_12_0_universal",
"cp38-abi3-macosx_11_0_x86_64",
"cp38-abi3-macosx_11_0_intel",
"cp38-abi3-macosx_11_0_fat64",
"cp38-abi3-macosx_11_0_fat32",
"cp38-abi3-macosx_11_0_universal2",
"cp38-abi3-macosx_11_0_universal",
"cp38-abi3-macosx_10_16_x86_64",
"cp38-abi3-macosx_10_16_intel",
"cp38-abi3-macosx_10_16_fat64",
"cp38-abi3-macosx_10_16_fat32",
"cp38-abi3-macosx_10_16_universal2",
"cp38-abi3-macosx_10_16_universal",
"cp38-abi3-macosx_10_15_x86_64",
"cp38-abi3-macosx_10_15_intel",
"cp38-abi3-macosx_10_15_fat64",
"cp38-abi3-macosx_10_15_fat32",
"cp38-abi3-macosx_10_15_universal2",
"cp38-abi3-macosx_10_15_universal",
"cp38-abi3-macosx_10_14_x86_64",
"cp38-abi3-macosx_10_14_intel",
"cp38-abi3-macosx_10_14_fat64",
"cp38-abi3-macosx_10_14_fat32",
"cp38-abi3-macosx_10_14_universal2",
"cp38-abi3-macosx_10_14_universal",
"cp38-abi3-macosx_10_13_x86_64",
"cp38-abi3-macosx_10_13_intel",
"cp38-abi3-macosx_10_13_fat64",
"cp38-abi3-macosx_10_13_fat32",
"cp38-abi3-macosx_10_13_universal2",
"cp38-abi3-macosx_10_13_universal",
"cp38-abi3-macosx_10_12_x86_64",
"cp38-abi3-macosx_10_12_intel",
"cp38-abi3-macosx_10_12_fat64",
"cp38-abi3-macosx_10_12_fat32",
"cp38-abi3-macosx_10_12_universal2",
"cp38-abi3-macosx_10_12_universal",
"cp38-abi3-macosx_10_11_x86_64",
"cp38-abi3-macosx_10_11_intel",
"cp38-abi3-macosx_10_11_fat64",
"cp38-abi3-macosx_10_11_fat32",
"cp38-abi3-macosx_10_11_universal2",
"cp38-abi3-macosx_10_11_universal",
"cp38-abi3-macosx_10_10_x86_64",
"cp38-abi3-macosx_10_10_intel",
"cp38-abi3-macosx_10_10_fat64",
"cp38-abi3-macosx_10_10_fat32",
"cp38-abi3-macosx_10_10_universal2",
"cp38-abi3-macosx_10_10_universal",
"cp38-abi3-macosx_10_9_x86_64",
"cp38-abi3-macosx_10_9_intel",
"cp38-abi3-macosx_10_9_fat64",
"cp38-abi3-macosx_10_9_fat32",
"cp38-abi3-macosx_10_9_universal2",
"cp38-abi3-macosx_10_9_universal",
"cp38-abi3-macosx_10_8_x86_64",
"cp38-abi3-macosx_10_8_intel",
"cp38-abi3-macosx_10_8_fat64",
"cp38-abi3-macosx_10_8_fat32",
"cp38-abi3-macosx_10_8_universal2",
"cp38-abi3-macosx_10_8_universal",
"cp38-abi3-macosx_10_7_x86_64",
"cp38-abi3-macosx_10_7_intel",
"cp38-abi3-macosx_10_7_fat64",
"cp38-abi3-macosx_10_7_fat32",
"cp38-abi3-macosx_10_7_universal2",
"cp38-abi3-macosx_10_7_universal",
"cp38-abi3-macosx_10_6_x86_64",
"cp38-abi3-macosx_10_6_intel",
"cp38-abi3-macosx_10_6_fat64",
"cp38-abi3-macosx_10_6_fat32",
"cp38-abi3-macosx_10_6_universal2",
"cp38-abi3-macosx_10_6_universal",
"cp38-abi3-macosx_10_5_x86_64",
"cp38-abi3-macosx_10_5_intel",
"cp38-abi3-macosx_10_5_fat64",
"cp38-abi3-macosx_10_5_fat32",
"cp38-abi3-macosx_10_5_universal2",
"cp38-abi3-macosx_10_5_universal",
"cp38-abi3-macosx_10_4_x86_64",
"cp38-abi3-macosx_10_4_intel",
"cp38-abi3-macosx_10_4_fat64",
"cp38-abi3-macosx_10_4_fat32",
"cp38-abi3-macosx_10_4_universal2",
"cp38-abi3-macosx_10_4_universal",
"cp37-abi3-macosx_12_0_x86_64",
"cp37-abi3-macosx_12_0_intel",
"cp37-abi3-macosx_12_0_fat64",
"cp37-abi3-macosx_12_0_fat32",
"cp37-abi3-macosx_12_0_universal2",
"cp37-abi3-macosx_12_0_universal",
"cp37-abi3-macosx_11_0_x86_64",
"cp37-abi3-macosx_11_0_intel",
"cp37-abi3-macosx_11_0_fat64",
"cp37-abi3-macosx_11_0_fat32",
"cp37-abi3-macosx_11_0_universal2",
"cp37-abi3-macosx_11_0_universal",
"cp37-abi3-macosx_10_16_x86_64",
"cp37-abi3-macosx_10_16_intel",
"cp37-abi3-macosx_10_16_fat64",
"cp37-abi3-macosx_10_16_fat32",
"cp37-abi3-macosx_10_16_universal2",
"cp37-abi3-macosx_10_16_universal",
"cp37-abi3-macosx_10_15_x86_64",
"cp37-abi3-macosx_10_15_intel",
"cp37-abi3-macosx_10_15_fat64",
"cp37-abi3-macosx_10_15_fat32",
"cp37-abi3-macosx_10_15_universal2",
"cp37-abi3-macosx_10_15_universal",
"cp37-abi3-macosx_10_14_x86_64",
"cp37-abi3-macosx_10_14_intel",
"cp37-abi3-macosx_10_14_fat64",
"cp37-abi3-macosx_10_14_fat32",
"cp37-abi3-macosx_10_14_universal2",
"cp37-abi3-macosx_10_14_universal",
"cp37-abi3-macosx_10_13_x86_64",
"cp37-abi3-macosx_10_13_intel",
"cp37-abi3-macosx_10_13_fat64",
"cp37-abi3-macosx_10_13_fat32",
"cp37-abi3-macosx_10_13_universal2",
"cp37-abi3-macosx_10_13_universal",
"cp37-abi3-macosx_10_12_x86_64",
"cp37-abi3-macosx_10_12_intel",
"cp37-abi3-macosx_10_12_fat64",
"cp37-abi3-macosx_10_12_fat32",
"cp37-abi3-macosx_10_12_universal2",
"cp37-abi3-macosx_10_12_universal",
"cp37-abi3-macosx_10_11_x86_64",
"cp37-abi3-macosx_10_11_intel",
"cp37-abi3-macosx_10_11_fat64",
"cp37-abi3-macosx_10_11_fat32",
"cp37-abi3-macosx_10_11_universal2",
"cp37-abi3-macosx_10_11_universal",
"cp37-abi3-macosx_10_10_x86_64",
"cp37-abi3-macosx_10_10_intel",
"cp37-abi3-macosx_10_10_fat64",
"cp37-abi3-macosx_10_10_fat32",
"cp37-abi3-macosx_10_10_universal2",
"cp37-abi3-macosx_10_10_universal",
"cp37-abi3-macosx_10_9_x86_64",
"cp37-abi3-macosx_10_9_intel",
"cp37-abi3-macosx_10_9_fat64",
"cp37-abi3-macosx_10_9_fat32",
"cp37-abi3-macosx_10_9_universal2",
"cp37-abi3-macosx_10_9_universal",
"cp37-abi3-macosx_10_8_x86_64",
"cp37-abi3-macosx_10_8_intel",
"cp37-abi3-macosx_10_8_fat64",
"cp37-abi3-macosx_10_8_fat32",
"cp37-abi3-macosx_10_8_universal2",
"cp37-abi3-macosx_10_8_universal",
"cp37-abi3-macosx_10_7_x86_64",
"cp37-abi3-macosx_10_7_intel",
"cp37-abi3-macosx_10_7_fat64",
"cp37-abi3-macosx_10_7_fat32",
"cp37-abi3-macosx_10_7_universal2",
"cp37-abi3-macosx_10_7_universal",
"cp37-abi3-macosx_10_6_x86_64",
"cp37-abi3-macosx_10_6_intel",
"cp37-abi3-macosx_10_6_fat64",
"cp37-abi3-macosx_10_6_fat32",
"cp37-abi3-macosx_10_6_universal2",
"cp37-abi3-macosx_10_6_universal",
"cp37-abi3-macosx_10_5_x86_64",
"cp37-abi3-macosx_10_5_intel",
"cp37-abi3-macosx_10_5_fat64",
"cp37-abi3-macosx_10_5_fat32",
"cp37-abi3-macosx_10_5_universal2",
"cp37-abi3-macosx_10_5_universal",
"cp37-abi3-macosx_10_4_x86_64",
"cp37-abi3-macosx_10_4_intel",
"cp37-abi3-macosx_10_4_fat64",
"cp37-abi3-macosx_10_4_fat32",
"cp37-abi3-macosx_10_4_universal2",
"cp37-abi3-macosx_10_4_universal",
"cp36-abi3-macosx_12_0_x86_64",
"cp36-abi3-macosx_12_0_intel",
"cp36-abi3-macosx_12_0_fat64",
"cp36-abi3-macosx_12_0_fat32",
"cp36-abi3-macosx_12_0_universal2",
"cp36-abi3-macosx_12_0_universal",
"cp36-abi3-macosx_11_0_x86_64",
"cp36-abi3-macosx_11_0_intel",
"cp36-abi3-macosx_11_0_fat64",
"cp36-abi3-macosx_11_0_fat32",
"cp36-abi3-macosx_11_0_universal2",
"cp36-abi3-macosx_11_0_universal",
"cp36-abi3-macosx_10_16_x86_64",
"cp36-abi3-macosx_10_16_intel",
"cp36-abi3-macosx_10_16_fat64",
"cp36-abi3-macosx_10_16_fat32",
"cp36-abi3-macosx_10_16_universal2",
"cp36-abi3-macosx_10_16_universal",
"cp36-abi3-macosx_10_15_x86_64",
"cp36-abi3-macosx_10_15_intel",
"cp36-abi3-macosx_10_15_fat64",
"cp36-abi3-macosx_10_15_fat32",
"cp36-abi3-macosx_10_15_universal2",
"cp36-abi3-macosx_10_15_universal",
"cp36-abi3-macosx_10_14_x86_64",
"cp36-abi3-macosx_10_14_intel",
"cp36-abi3-macosx_10_14_fat64",
"cp36-abi3-macosx_10_14_fat32",
"cp36-abi3-macosx_10_14_universal2",
"cp36-abi3-macosx_10_14_universal",
"cp36-abi3-macosx_10_13_x86_64",
"cp36-abi3-macosx_10_13_intel",
"cp36-abi3-macosx_10_13_fat64",
"cp36-abi3-macosx_10_13_fat32",
"cp36-abi3-macosx_10_13_universal2",
"cp36-abi3-macosx_10_13_universal",
"cp36-abi3-macosx_10_12_x86_64",
"cp36-abi3-macosx_10_12_intel",
"cp36-abi3-macosx_10_12_fat64",
"cp36-abi3-macosx_10_12_fat32",
"cp36-abi3-macosx_10_12_universal2",
"cp36-abi3-macosx_10_12_universal",
"cp36-abi3-macosx_10_11_x86_64",
"cp36-abi3-macosx_10_11_intel",
"cp36-abi3-macosx_10_11_fat64",
"cp36-abi3-macosx_10_11_fat32",
"cp36-abi3-macosx_10_11_universal2",
"cp36-abi3-macosx_10_11_universal",
"cp36-abi3-macosx_10_10_x86_64",
"cp36-abi3-macosx_10_10_intel",
"cp36-abi3-macosx_10_10_fat64",
"cp36-abi3-macosx_10_10_fat32",
"cp36-abi3-macosx_10_10_universal2",
"cp36-abi3-macosx_10_10_universal",
"cp36-abi3-macosx_10_9_x86_64",
"cp36-abi3-macosx_10_9_intel",
"cp36-abi3-macosx_10_9_fat64",
"cp36-abi3-macosx_10_9_fat32",
"cp36-abi3-macosx_10_9_universal2",
"cp36-abi3-macosx_10_9_universal",
"cp36-abi3-macosx_10_8_x86_64",
"cp36-abi3-macosx_10_8_intel",
"cp36-abi3-macosx_10_8_fat64",
"cp36-abi3-macosx_10_8_fat32",
"cp36-abi3-macosx_10_8_universal2",
"cp36-abi3-macosx_10_8_universal",
"cp36-abi3-macosx_10_7_x86_64",
"cp36-abi3-macosx_10_7_intel",
"cp36-abi3-macosx_10_7_fat64",
"cp36-abi3-macosx_10_7_fat32",
"cp36-abi3-macosx_10_7_universal2",
"cp36-abi3-macosx_10_7_universal",
"cp36-abi3-macosx_10_6_x86_64",
"cp36-abi3-macosx_10_6_intel",
"cp36-abi3-macosx_10_6_fat64",
"cp36-abi3-macosx_10_6_fat32",
"cp36-abi3-macosx_10_6_universal2",
"cp36-abi3-macosx_10_6_universal",
"cp36-abi3-macosx_10_5_x86_64",
"cp36-abi3-macosx_10_5_intel",
"cp36-abi3-macosx_10_5_fat64",
"cp36-abi3-macosx_10_5_fat32",
"cp36-abi3-macosx_10_5_universal2",
"cp36-abi3-macosx_10_5_universal",
"cp36-abi3-macosx_10_4_x86_64",
"cp36-abi3-macosx_10_4_intel",
"cp36-abi3-macosx_10_4_fat64",
"cp36-abi3-macosx_10_4_fat32",
"cp36-abi3-macosx_10_4_universal2",
"cp36-abi3-macosx_10_4_universal",
"cp35-abi3-macosx_12_0_x86_64",
"cp35-abi3-macosx_12_0_intel",
"cp35-abi3-macosx_12_0_fat64",
"cp35-abi3-macosx_12_0_fat32",
"cp35-abi3-macosx_12_0_universal2",
"cp35-abi3-macosx_12_0_universal",
"cp35-abi3-macosx_11_0_x86_64",
"cp35-abi3-macosx_11_0_intel",
"cp35-abi3-macosx_11_0_fat64",
"cp35-abi3-macosx_11_0_fat32",
"cp35-abi3-macosx_11_0_universal2",
"cp35-abi3-macosx_11_0_universal",
"cp35-abi3-macosx_10_16_x86_64",
"cp35-abi3-macosx_10_16_intel",
"cp35-abi3-macosx_10_16_fat64",
"cp35-abi3-macosx_10_16_fat32",
"cp35-abi3-macosx_10_16_universal2",
"cp35-abi3-macosx_10_16_universal",
"cp35-abi3-macosx_10_15_x86_64",
"cp35-abi3-macosx_10_15_intel",
"cp35-abi3-macosx_10_15_fat64",
"cp35-abi3-macosx_10_15_fat32",
"cp35-abi3-macosx_10_15_universal2",
"cp35-abi3-macosx_10_15_universal",
"cp35-abi3-macosx_10_14_x86_64",
"cp35-abi3-macosx_10_14_intel",
"cp35-abi3-macosx_10_14_fat64",
"cp35-abi3-macosx_10_14_fat32",
"cp35-abi3-macosx_10_14_universal2",
"cp35-abi3-macosx_10_14_universal",
"cp35-abi3-macosx_10_13_x86_64",
"cp35-abi3-macosx_10_13_intel",
"cp35-abi3-macosx_10_13_fat64",
"cp35-abi3-macosx_10_13_fat32",
"cp35-abi3-macosx_10_13_universal2",
"cp35-abi3-macosx_10_13_universal",
"cp35-abi3-macosx_10_12_x86_64",
"cp35-abi3-macosx_10_12_intel",
"cp35-abi3-macosx_10_12_fat64",
"cp35-abi3-macosx_10_12_fat32",
"cp35-abi3-macosx_10_12_universal2",
"cp35-abi3-macosx_10_12_universal",
"cp35-abi3-macosx_10_11_x86_64",
"cp35-abi3-macosx_10_11_intel",
"cp35-abi3-macosx_10_11_fat64",
"cp35-abi3-macosx_10_11_fat32",
"cp35-abi3-macosx_10_11_universal2",
"cp35-abi3-macosx_10_11_universal",
"cp35-abi3-macosx_10_10_x86_64",
"cp35-abi3-macosx_10_10_intel",
"cp35-abi3-macosx_10_10_fat64",
"cp35-abi3-macosx_10_10_fat32",
"cp35-abi3-macosx_10_10_universal2",
"cp35-abi3-macosx_10_10_universal",
"cp35-abi3-macosx_10_9_x86_64",
"cp35-abi3-macosx_10_9_intel",
"cp35-abi3-macosx_10_9_fat64",
"cp35-abi3-macosx_10_9_fat32",
"cp35-abi3-macosx_10_9_universal2",
"cp35-abi3-macosx_10_9_universal",
"cp35-abi3-macosx_10_8_x86_64",
"cp35-abi3-macosx_10_8_intel",
"cp35-abi3-macosx_10_8_fat64",
"cp35-abi3-macosx_10_8_fat32",
"cp35-abi3-macosx_10_8_universal2",
"cp35-abi3-macosx_10_8_universal",
"cp35-abi3-macosx_10_7_x86_64",
"cp35-abi3-macosx_10_7_intel",
"cp35-abi3-macosx_10_7_fat64",
"cp35-abi3-macosx_10_7_fat32",
"cp35-abi3-macosx_10_7_universal2",
"cp35-abi3-macosx_10_7_universal",
"cp35-abi3-macosx_10_6_x86_64",
"cp35-abi3-macosx_10_6_intel",
"cp35-abi3-macosx_10_6_fat64",
"cp35-abi3-macosx_10_6_fat32",
"cp35-abi3-macosx_10_6_universal2",
"cp35-abi3-macosx_10_6_universal",
"cp35-abi3-macosx_10_5_x86_64",
"cp35-abi3-macosx_10_5_intel",
"cp35-abi3-macosx_10_5_fat64",
"cp35-abi3-macosx_10_5_fat32",
"cp35-abi3-macosx_10_5_universal2",
"cp35-abi3-macosx_10_5_universal",
"cp35-abi3-macosx_10_4_x86_64",
"cp35-abi3-macosx_10_4_intel",
"cp35-abi3-macosx_10_4_fat64",
"cp35-abi3-macosx_10_4_fat32",
"cp35-abi3-macosx_10_4_universal2",
"cp35-abi3-macosx_10_4_universal",
"cp34-abi3-macosx_12_0_x86_64",
"cp34-abi3-macosx_12_0_intel",
"cp34-abi3-macosx_12_0_fat64",
"cp34-abi3-macosx_12_0_fat32",
"cp34-abi3-macosx_12_0_universal2",
"cp34-abi3-macosx_12_0_universal",
"cp34-abi3-macosx_11_0_x86_64",
"cp34-abi3-macosx_11_0_intel",
"cp34-abi3-macosx_11_0_fat64",
"cp34-abi3-macosx_11_0_fat32",
"cp34-abi3-macosx_11_0_universal2",
"cp34-abi3-macosx_11_0_universal",
"cp34-abi3-macosx_10_16_x86_64",
"cp34-abi3-macosx_10_16_intel",
"cp34-abi3-macosx_10_16_fat64",
"cp34-abi3-macosx_10_16_fat32",
"cp34-abi3-macosx_10_16_universal2",
"cp34-abi3-macosx_10_16_universal",
"cp34-abi3-macosx_10_15_x86_64",
"cp34-abi3-macosx_10_15_intel",
"cp34-abi3-macosx_10_15_fat64",
"cp34-abi3-macosx_10_15_fat32",
"cp34-abi3-macosx_10_15_universal2",
"cp34-abi3-macosx_10_15_universal",
"cp34-abi3-macosx_10_14_x86_64",
"cp34-abi3-macosx_10_14_intel",
"cp34-abi3-macosx_10_14_fat64",
"cp34-abi3-macosx_10_14_fat32",
"cp34-abi3-macosx_10_14_universal2",
"cp34-abi3-macosx_10_14_universal",
"cp34-abi3-macosx_10_13_x86_64",
"cp34-abi3-macosx_10_13_intel",
"cp34-abi3-macosx_10_13_fat64",
"cp34-abi3-macosx_10_13_fat32",
"cp34-abi3-macosx_10_13_universal2",
"cp34-abi3-macosx_10_13_universal",
"cp34-abi3-macosx_10_12_x86_64",
"cp34-abi3-macosx_10_12_intel",
"cp34-abi3-macosx_10_12_fat64",
"cp34-abi3-macosx_10_12_fat32",
"cp34-abi3-macosx_10_12_universal2",
"cp34-abi3-macosx_10_12_universal",
"cp34-abi3-macosx_10_11_x86_64",
"cp34-abi3-macosx_10_11_intel",
"cp34-abi3-macosx_10_11_fat64",
"cp34-abi3-macosx_10_11_fat32",
"cp34-abi3-macosx_10_11_universal2",
"cp34-abi3-macosx_10_11_universal",
"cp34-abi3-macosx_10_10_x86_64",
"cp34-abi3-macosx_10_10_intel",
"cp34-abi3-macosx_10_10_fat64",
"cp34-abi3-macosx_10_10_fat32",
"cp34-abi3-macosx_10_10_universal2",
"cp34-abi3-macosx_10_10_universal",
"cp34-abi3-macosx_10_9_x86_64",
"cp34-abi3-macosx_10_9_intel",
"cp34-abi3-macosx_10_9_fat64",
"cp34-abi3-macosx_10_9_fat32",
"cp34-abi3-macosx_10_9_universal2",
"cp34-abi3-macosx_10_9_universal",
"cp34-abi3-macosx_10_8_x86_64",
"cp34-abi3-macosx_10_8_intel",
"cp34-abi3-macosx_10_8_fat64",
"cp34-abi3-macosx_10_8_fat32",
"cp34-abi3-macosx_10_8_universal2",
"cp34-abi3-macosx_10_8_universal",
"cp34-abi3-macosx_10_7_x86_64",
"cp34-abi3-macosx_10_7_intel",
"cp34-abi3-macosx_10_7_fat64",
"cp34-abi3-macosx_10_7_fat32",
"cp34-abi3-macosx_10_7_universal2",
"cp34-abi3-macosx_10_7_universal",
"cp34-abi3-macosx_10_6_x86_64",
"cp34-abi3-macosx_10_6_intel",
"cp34-abi3-macosx_10_6_fat64",
"cp34-abi3-macosx_10_6_fat32",
"cp34-abi3-macosx_10_6_universal2",
"cp34-abi3-macosx_10_6_universal",
"cp34-abi3-macosx_10_5_x86_64",
"cp34-abi3-macosx_10_5_intel",
"cp34-abi3-macosx_10_5_fat64",
"cp34-abi3-macosx_10_5_fat32",
"cp34-abi3-macosx_10_5_universal2",
"cp34-abi3-macosx_10_5_universal",
"cp34-abi3-macosx_10_4_x86_64",
"cp34-abi3-macosx_10_4_intel",
"cp34-abi3-macosx_10_4_fat64",
"cp34-abi3-macosx_10_4_fat32",
"cp34-abi3-macosx_10_4_universal2",
"cp34-abi3-macosx_10_4_universal",
"cp33-abi3-macosx_12_0_x86_64",
"cp33-abi3-macosx_12_0_intel",
"cp33-abi3-macosx_12_0_fat64",
"cp33-abi3-macosx_12_0_fat32",
"cp33-abi3-macosx_12_0_universal2",
"cp33-abi3-macosx_12_0_universal",
"cp33-abi3-macosx_11_0_x86_64",
"cp33-abi3-macosx_11_0_intel",
"cp33-abi3-macosx_11_0_fat64",
"cp33-abi3-macosx_11_0_fat32",
"cp33-abi3-macosx_11_0_universal2",
"cp33-abi3-macosx_11_0_universal",
"cp33-abi3-macosx_10_16_x86_64",
"cp33-abi3-macosx_10_16_intel",
"cp33-abi3-macosx_10_16_fat64",
"cp33-abi3-macosx_10_16_fat32",
"cp33-abi3-macosx_10_16_universal2",
"cp33-abi3-macosx_10_16_universal",
"cp33-abi3-macosx_10_15_x86_64",
"cp33-abi3-macosx_10_15_intel",
"cp33-abi3-macosx_10_15_fat64",
"cp33-abi3-macosx_10_15_fat32",
"cp33-abi3-macosx_10_15_universal2",
"cp33-abi3-macosx_10_15_universal",
"cp33-abi3-macosx_10_14_x86_64",
"cp33-abi3-macosx_10_14_intel",
"cp33-abi3-macosx_10_14_fat64",
"cp33-abi3-macosx_10_14_fat32",
"cp33-abi3-macosx_10_14_universal2",
"cp33-abi3-macosx_10_14_universal",
"cp33-abi3-macosx_10_13_x86_64",
"cp33-abi3-macosx_10_13_intel",
"cp33-abi3-macosx_10_13_fat64",
"cp33-abi3-macosx_10_13_fat32",
"cp33-abi3-macosx_10_13_universal2",
"cp33-abi3-macosx_10_13_universal",
"cp33-abi3-macosx_10_12_x86_64",
"cp33-abi3-macosx_10_12_intel",
"cp33-abi3-macosx_10_12_fat64",
"cp33-abi3-macosx_10_12_fat32",
"cp33-abi3-macosx_10_12_universal2",
"cp33-abi3-macosx_10_12_universal",
"cp33-abi3-macosx_10_11_x86_64",
"cp33-abi3-macosx_10_11_intel",
"cp33-abi3-macosx_10_11_fat64",
"cp33-abi3-macosx_10_11_fat32",
"cp33-abi3-macosx_10_11_universal2",
"cp33-abi3-macosx_10_11_universal",
"cp33-abi3-macosx_10_10_x86_64",
"cp33-abi3-macosx_10_10_intel",
"cp33-abi3-macosx_10_10_fat64",
"cp33-abi3-macosx_10_10_fat32",
"cp33-abi3-macosx_10_10_universal2",
"cp33-abi3-macosx_10_10_universal",
"cp33-abi3-macosx_10_9_x86_64",
"cp33-abi3-macosx_10_9_intel",
"cp33-abi3-macosx_10_9_fat64",
"cp33-abi3-macosx_10_9_fat32",
"cp33-abi3-macosx_10_9_universal2",
"cp33-abi3-macosx_10_9_universal",
"cp33-abi3-macosx_10_8_x86_64",
"cp33-abi3-macosx_10_8_intel",
"cp33-abi3-macosx_10_8_fat64",
"cp33-abi3-macosx_10_8_fat32",
"cp33-abi3-macosx_10_8_universal2",
"cp33-abi3-macosx_10_8_universal",
"cp33-abi3-macosx_10_7_x86_64",
"cp33-abi3-macosx_10_7_intel",
"cp33-abi3-macosx_10_7_fat64",
"cp33-abi3-macosx_10_7_fat32",
"cp33-abi3-macosx_10_7_universal2",
"cp33-abi3-macosx_10_7_universal",
"cp33-abi3-macosx_10_6_x86_64",
"cp33-abi3-macosx_10_6_intel",
"cp33-abi3-macosx_10_6_fat64",
"cp33-abi3-macosx_10_6_fat32",
"cp33-abi3-macosx_10_6_universal2",
"cp33-abi3-macosx_10_6_universal",
"cp33-abi3-macosx_10_5_x86_64",
"cp33-abi3-macosx_10_5_intel",
"cp33-abi3-macosx_10_5_fat64",
"cp33-abi3-macosx_10_5_fat32",
"cp33-abi3-macosx_10_5_universal2",
"cp33-abi3-macosx_10_5_universal",
"cp33-abi3-macosx_10_4_x86_64",
"cp33-abi3-macosx_10_4_intel",
"cp33-abi3-macosx_10_4_fat64",
"cp33-abi3-macosx_10_4_fat32",
"cp33-abi3-macosx_10_4_universal2",
"cp33-abi3-macosx_10_4_universal",
"cp32-abi3-macosx_12_0_x86_64",
"cp32-abi3-macosx_12_0_intel",
"cp32-abi3-macosx_12_0_fat64",
"cp32-abi3-macosx_12_0_fat32",
"cp32-abi3-macosx_12_0_universal2",
"cp32-abi3-macosx_12_0_universal",
"cp32-abi3-macosx_11_0_x86_64",
"cp32-abi3-macosx_11_0_intel",
"cp32-abi3-macosx_11_0_fat64",
"cp32-abi3-macosx_11_0_fat32",
"cp32-abi3-macosx_11_0_universal2",
"cp32-abi3-macosx_11_0_universal",
"cp32-abi3-macosx_10_16_x86_64",
"cp32-abi3-macosx_10_16_intel",
"cp32-abi3-macosx_10_16_fat64",
"cp32-abi3-macosx_10_16_fat32",
"cp32-abi3-macosx_10_16_universal2",
"cp32-abi3-macosx_10_16_universal",
"cp32-abi3-macosx_10_15_x86_64",
"cp32-abi3-macosx_10_15_intel",
"cp32-abi3-macosx_10_15_fat64",
"cp32-abi3-macosx_10_15_fat32",
"cp32-abi3-macosx_10_15_universal2",
"cp32-abi3-macosx_10_15_universal",
"cp32-abi3-macosx_10_14_x86_64",
"cp32-abi3-macosx_10_14_intel",
"cp32-abi3-macosx_10_14_fat64",
"cp32-abi3-macosx_10_14_fat32",
"cp32-abi3-macosx_10_14_universal2",
"cp32-abi3-macosx_10_14_universal",
"cp32-abi3-macosx_10_13_x86_64",
"cp32-abi3-macosx_10_13_intel",
"cp32-abi3-macosx_10_13_fat64",
"cp32-abi3-macosx_10_13_fat32",
"cp32-abi3-macosx_10_13_universal2",
"cp32-abi3-macosx_10_13_universal",
"cp32-abi3-macosx_10_12_x86_64",
"cp32-abi3-macosx_10_12_intel",
"cp32-abi3-macosx_10_12_fat64",
"cp32-abi3-macosx_10_12_fat32",
"cp32-abi3-macosx_10_12_universal2",
"cp32-abi3-macosx_10_12_universal",
"cp32-abi3-macosx_10_11_x86_64",
"cp32-abi3-macosx_10_11_intel",
"cp32-abi3-macosx_10_11_fat64",
"cp32-abi3-macosx_10_11_fat32",
"cp32-abi3-macosx_10_11_universal2",
"cp32-abi3-macosx_10_11_universal",
"cp32-abi3-macosx_10_10_x86_64",
"cp32-abi3-macosx_10_10_intel",
"cp32-abi3-macosx_10_10_fat64",
"cp32-abi3-macosx_10_10_fat32",
"cp32-abi3-macosx_10_10_universal2",
"cp32-abi3-macosx_10_10_universal",
"cp32-abi3-macosx_10_9_x86_64",
"cp32-abi3-macosx_10_9_intel",
"cp32-abi3-macosx_10_9_fat64",
"cp32-abi3-macosx_10_9_fat32",
"cp32-abi3-macosx_10_9_universal2",
"cp32-abi3-macosx_10_9_universal",
"cp32-abi3-macosx_10_8_x86_64",
"cp32-abi3-macosx_10_8_intel",
"cp32-abi3-macosx_10_8_fat64",
"cp32-abi3-macosx_10_8_fat32",
"cp32-abi3-macosx_10_8_universal2",
"cp32-abi3-macosx_10_8_universal",
"cp32-abi3-macosx_10_7_x86_64",
"cp32-abi3-macosx_10_7_intel",
"cp32-abi3-macosx_10_7_fat64",
"cp32-abi3-macosx_10_7_fat32",
"cp32-abi3-macosx_10_7_universal2",
"cp32-abi3-macosx_10_7_universal",
"cp32-abi3-macosx_10_6_x86_64",
"cp32-abi3-macosx_10_6_intel",
"cp32-abi3-macosx_10_6_fat64",
"cp32-abi3-macosx_10_6_fat32",
"cp32-abi3-macosx_10_6_universal2",
"cp32-abi3-macosx_10_6_universal",
"cp32-abi3-macosx_10_5_x86_64",
"cp32-abi3-macosx_10_5_intel",
"cp32-abi3-macosx_10_5_fat64",
"cp32-abi3-macosx_10_5_fat32",
"cp32-abi3-macosx_10_5_universal2",
"cp32-abi3-macosx_10_5_universal",
"cp32-abi3-macosx_10_4_x86_64",
"cp32-abi3-macosx_10_4_intel",
"cp32-abi3-macosx_10_4_fat64",
"cp32-abi3-macosx_10_4_fat32",
"cp32-abi3-macosx_10_4_universal2",
"cp32-abi3-macosx_10_4_universal",
"py39-none-macosx_12_0_x86_64",
"py39-none-macosx_12_0_intel",
"py39-none-macosx_12_0_fat64",
"py39-none-macosx_12_0_fat32",
"py39-none-macosx_12_0_universal2",
"py39-none-macosx_12_0_universal",
"py39-none-macosx_11_0_x86_64",
"py39-none-macosx_11_0_intel",
"py39-none-macosx_11_0_fat64",
"py39-none-macosx_11_0_fat32",
"py39-none-macosx_11_0_universal2",
"py39-none-macosx_11_0_universal",
"py39-none-macosx_10_16_x86_64",
"py39-none-macosx_10_16_intel",
"py39-none-macosx_10_16_fat64",
"py39-none-macosx_10_16_fat32",
"py39-none-macosx_10_16_universal2",
"py39-none-macosx_10_16_universal",
"py39-none-macosx_10_15_x86_64",
"py39-none-macosx_10_15_intel",
"py39-none-macosx_10_15_fat64",
"py39-none-macosx_10_15_fat32",
"py39-none-macosx_10_15_universal2",
"py39-none-macosx_10_15_universal",
"py39-none-macosx_10_14_x86_64",
"py39-none-macosx_10_14_intel",
"py39-none-macosx_10_14_fat64",
"py39-none-macosx_10_14_fat32",
"py39-none-macosx_10_14_universal2",
"py39-none-macosx_10_14_universal",
"py39-none-macosx_10_13_x86_64",
"py39-none-macosx_10_13_intel",
"py39-none-macosx_10_13_fat64",
"py39-none-macosx_10_13_fat32",
"py39-none-macosx_10_13_universal2",
"py39-none-macosx_10_13_universal",
"py39-none-macosx_10_12_x86_64",
"py39-none-macosx_10_12_intel",
"py39-none-macosx_10_12_fat64",
"py39-none-macosx_10_12_fat32",
"py39-none-macosx_10_12_universal2",
"py39-none-macosx_10_12_universal",
"py39-none-macosx_10_11_x86_64",
"py39-none-macosx_10_11_intel",
"py39-none-macosx_10_11_fat64",
"py39-none-macosx_10_11_fat32",
"py39-none-macosx_10_11_universal2",
"py39-none-macosx_10_11_universal",
"py39-none-macosx_10_10_x86_64",
"py39-none-macosx_10_10_intel",
"py39-none-macosx_10_10_fat64",
"py39-none-macosx_10_10_fat32",
"py39-none-macosx_10_10_universal2",
"py39-none-macosx_10_10_universal",
"py39-none-macosx_10_9_x86_64",
"py39-none-macosx_10_9_intel",
"py39-none-macosx_10_9_fat64",
"py39-none-macosx_10_9_fat32",
"py39-none-macosx_10_9_universal2",
"py39-none-macosx_10_9_universal",
"py39-none-macosx_10_8_x86_64",
"py39-none-macosx_10_8_intel",
"py39-none-macosx_10_8_fat64",
"py39-none-macosx_10_8_fat32",
"py39-none-macosx_10_8_universal2",
"py39-none-macosx_10_8_universal",
"py39-none-macosx_10_7_x86_64",
"py39-none-macosx_10_7_intel",
"py39-none-macosx_10_7_fat64",
"py39-none-macosx_10_7_fat32",
"py39-none-macosx_10_7_universal2",
"py39-none-macosx_10_7_universal",
"py39-none-macosx_10_6_x86_64",
"py39-none-macosx_10_6_intel",
"py39-none-macosx_10_6_fat64",
"py39-none-macosx_10_6_fat32",
"py39-none-macosx_10_6_universal2",
"py39-none-macosx_10_6_universal",
"py39-none-macosx_10_5_x86_64",
"py39-none-macosx_10_5_intel",
"py39-none-macosx_10_5_fat64",
"py39-none-macosx_10_5_fat32",
"py39-none-macosx_10_5_universal2",
"py39-none-macosx_10_5_universal",
"py39-none-macosx_10_4_x86_64",
"py39-none-macosx_10_4_intel",
"py39-none-macosx_10_4_fat64",
"py39-none-macosx_10_4_fat32",
"py39-none-macosx_10_4_universal2",
"py39-none-macosx_10_4_universal",
"py3-none-macosx_12_0_x86_64",
"py3-none-macosx_12_0_intel",
"py3-none-macosx_12_0_fat64",
"py3-none-macosx_12_0_fat32",
"py3-none-macosx_12_0_universal2",
"py3-none-macosx_12_0_universal",
"py3-none-macosx_11_0_x86_64",
"py3-none-macosx_11_0_intel",
"py3-none-macosx_11_0_fat64",
"py3-none-macosx_11_0_fat32",
"py3-none-macosx_11_0_universal2",
"py3-none-macosx_11_0_universal",
"py3-none-macosx_10_16_x86_64",
"py3-none-macosx_10_16_intel",
"py3-none-macosx_10_16_fat64",
"py3-none-macosx_10_16_fat32",
"py3-none-macosx_10_16_universal2",
"py3-none-macosx_10_16_universal",
"py3-none-macosx_10_15_x86_64",
"py3-none-macosx_10_15_intel",
"py3-none-macosx_10_15_fat64",
"py3-none-macosx_10_15_fat32",
"py3-none-macosx_10_15_universal2",
"py3-none-macosx_10_15_universal",
"py3-none-macosx_10_14_x86_64",
"py3-none-macosx_10_14_intel",
"py3-none-macosx_10_14_fat64",
"py3-none-macosx_10_14_fat32",
"py3-none-macosx_10_14_universal2",
"py3-none-macosx_10_14_universal",
"py3-none-macosx_10_13_x86_64",
"py3-none-macosx_10_13_intel",
"py3-none-macosx_10_13_fat64",
"py3-none-macosx_10_13_fat32",
"py3-none-macosx_10_13_universal2",
"py3-none-macosx_10_13_universal",
"py3-none-macosx_10_12_x86_64",
"py3-none-macosx_10_12_intel",
"py3-none-macosx_10_12_fat64",
"py3-none-macosx_10_12_fat32",
"py3-none-macosx_10_12_universal2",
"py3-none-macosx_10_12_universal",
"py3-none-macosx_10_11_x86_64",
"py3-none-macosx_10_11_intel",
"py3-none-macosx_10_11_fat64",
"py3-none-macosx_10_11_fat32",
"py3-none-macosx_10_11_universal2",
"py3-none-macosx_10_11_universal",
"py3-none-macosx_10_10_x86_64",
"py3-none-macosx_10_10_intel",
"py3-none-macosx_10_10_fat64",
"py3-none-macosx_10_10_fat32",
"py3-none-macosx_10_10_universal2",
"py3-none-macosx_10_10_universal",
"py3-none-macosx_10_9_x86_64",
"py3-none-macosx_10_9_intel",
"py3-none-macosx_10_9_fat64",
"py3-none-macosx_10_9_fat32",
"py3-none-macosx_10_9_universal2",
"py3-none-macosx_10_9_universal",
"py3-none-macosx_10_8_x86_64",
"py3-none-macosx_10_8_intel",
"py3-none-macosx_10_8_fat64",
"py3-none-macosx_10_8_fat32",
"py3-none-macosx_10_8_universal2",
"py3-none-macosx_10_8_universal",
"py3-none-macosx_10_7_x86_64",
"py3-none-macosx_10_7_intel",
"py3-none-macosx_10_7_fat64",
"py3-none-macosx_10_7_fat32",
"py3-none-macosx_10_7_universal2",
"py3-none-macosx_10_7_universal",
"py3-none-macosx_10_6_x86_64",
"py3-none-macosx_10_6_intel",
"py3-none-macosx_10_6_fat64",
"py3-none-macosx_10_6_fat32",
"py3-none-macosx_10_6_universal2",
"py3-none-macosx_10_6_universal",
"py3-none-macosx_10_5_x86_64",
"py3-none-macosx_10_5_intel",
"py3-none-macosx_10_5_fat64",
"py3-none-macosx_10_5_fat32",
"py3-none-macosx_10_5_universal2",
"py3-none-macosx_10_5_universal",
"py3-none-macosx_10_4_x86_64",
"py3-none-macosx_10_4_intel",
"py3-none-macosx_10_4_fat64",
"py3-none-macosx_10_4_fat32",
"py3-none-macosx_10_4_universal2",
"py3-none-macosx_10_4_universal",
"py38-none-macosx_12_0_x86_64",
"py38-none-macosx_12_0_intel",
"py38-none-macosx_12_0_fat64",
"py38-none-macosx_12_0_fat32",
"py38-none-macosx_12_0_universal2",
"py38-none-macosx_12_0_universal",
"py38-none-macosx_11_0_x86_64",
"py38-none-macosx_11_0_intel",
"py38-none-macosx_11_0_fat64",
"py38-none-macosx_11_0_fat32",
"py38-none-macosx_11_0_universal2",
"py38-none-macosx_11_0_universal",
"py38-none-macosx_10_16_x86_64",
"py38-none-macosx_10_16_intel",
"py38-none-macosx_10_16_fat64",
"py38-none-macosx_10_16_fat32",
"py38-none-macosx_10_16_universal2",
"py38-none-macosx_10_16_universal",
"py38-none-macosx_10_15_x86_64",
"py38-none-macosx_10_15_intel",
"py38-none-macosx_10_15_fat64",
"py38-none-macosx_10_15_fat32",
"py38-none-macosx_10_15_universal2",
"py38-none-macosx_10_15_universal",
"py38-none-macosx_10_14_x86_64",
"py38-none-macosx_10_14_intel",
"py38-none-macosx_10_14_fat64",
"py38-none-macosx_10_14_fat32",
"py38-none-macosx_10_14_universal2",
"py38-none-macosx_10_14_universal",
"py38-none-macosx_10_13_x86_64",
"py38-none-macosx_10_13_intel",
"py38-none-macosx_10_13_fat64",
"py38-none-macosx_10_13_fat32",
"py38-none-macosx_10_13_universal2",
"py38-none-macosx_10_13_universal",
"py38-none-macosx_10_12_x86_64",
"py38-none-macosx_10_12_intel",
"py38-none-macosx_10_12_fat64",
"py38-none-macosx_10_12_fat32",
"py38-none-macosx_10_12_universal2",
"py38-none-macosx_10_12_universal",
"py38-none-macosx_10_11_x86_64",
"py38-none-macosx_10_11_intel",
"py38-none-macosx_10_11_fat64",
"py38-none-macosx_10_11_fat32",
"py38-none-macosx_10_11_universal2",
"py38-none-macosx_10_11_universal",
"py38-none-macosx_10_10_x86_64",
"py38-none-macosx_10_10_intel",
"py38-none-macosx_10_10_fat64",
"py38-none-macosx_10_10_fat32",
"py38-none-macosx_10_10_universal2",
"py38-none-macosx_10_10_universal",
"py38-none-macosx_10_9_x86_64",
"py38-none-macosx_10_9_intel",
"py38-none-macosx_10_9_fat64",
"py38-none-macosx_10_9_fat32",
"py38-none-macosx_10_9_universal2",
"py38-none-macosx_10_9_universal",
"py38-none-macosx_10_8_x86_64",
"py38-none-macosx_10_8_intel",
"py38-none-macosx_10_8_fat64",
"py38-none-macosx_10_8_fat32",
"py38-none-macosx_10_8_universal2",
"py38-none-macosx_10_8_universal",
"py38-none-macosx_10_7_x86_64",
"py38-none-macosx_10_7_intel",
"py38-none-macosx_10_7_fat64",
"py38-none-macosx_10_7_fat32",
"py38-none-macosx_10_7_universal2",
"py38-none-macosx_10_7_universal",
"py38-none-macosx_10_6_x86_64",
"py38-none-macosx_10_6_intel",
"py38-none-macosx_10_6_fat64",
"py38-none-macosx_10_6_fat32",
"py38-none-macosx_10_6_universal2",
"py38-none-macosx_10_6_universal",
"py38-none-macosx_10_5_x86_64",
"py38-none-macosx_10_5_intel",
"py38-none-macosx_10_5_fat64",
"py38-none-macosx_10_5_fat32",
"py38-none-macosx_10_5_universal2",
"py38-none-macosx_10_5_universal",
"py38-none-macosx_10_4_x86_64",
"py38-none-macosx_10_4_intel",
"py38-none-macosx_10_4_fat64",
"py38-none-macosx_10_4_fat32",
"py38-none-macosx_10_4_universal2",
"py38-none-macosx_10_4_universal",
"py37-none-macosx_12_0_x86_64",
"py37-none-macosx_12_0_intel",
"py37-none-macosx_12_0_fat64",
"py37-none-macosx_12_0_fat32",
"py37-none-macosx_12_0_universal2",
"py37-none-macosx_12_0_universal",
"py37-none-macosx_11_0_x86_64",
"py37-none-macosx_11_0_intel",
"py37-none-macosx_11_0_fat64",
"py37-none-macosx_11_0_fat32",
"py37-none-macosx_11_0_universal2",
"py37-none-macosx_11_0_universal",
"py37-none-macosx_10_16_x86_64",
"py37-none-macosx_10_16_intel",
"py37-none-macosx_10_16_fat64",
"py37-none-macosx_10_16_fat32",
"py37-none-macosx_10_16_universal2",
"py37-none-macosx_10_16_universal",
"py37-none-macosx_10_15_x86_64",
"py37-none-macosx_10_15_intel",
"py37-none-macosx_10_15_fat64",
"py37-none-macosx_10_15_fat32",
"py37-none-macosx_10_15_universal2",
"py37-none-macosx_10_15_universal",
"py37-none-macosx_10_14_x86_64",
"py37-none-macosx_10_14_intel",
"py37-none-macosx_10_14_fat64",
"py37-none-macosx_10_14_fat32",
"py37-none-macosx_10_14_universal2",
"py37-none-macosx_10_14_universal",
"py37-none-macosx_10_13_x86_64",
"py37-none-macosx_10_13_intel",
"py37-none-macosx_10_13_fat64",
"py37-none-macosx_10_13_fat32",
"py37-none-macosx_10_13_universal2",
"py37-none-macosx_10_13_universal",
"py37-none-macosx_10_12_x86_64",
"py37-none-macosx_10_12_intel",
"py37-none-macosx_10_12_fat64",
"py37-none-macosx_10_12_fat32",
"py37-none-macosx_10_12_universal2",
"py37-none-macosx_10_12_universal",
"py37-none-macosx_10_11_x86_64",
"py37-none-macosx_10_11_intel",
"py37-none-macosx_10_11_fat64",
"py37-none-macosx_10_11_fat32",
"py37-none-macosx_10_11_universal2",
"py37-none-macosx_10_11_universal",
"py37-none-macosx_10_10_x86_64",
"py37-none-macosx_10_10_intel",
"py37-none-macosx_10_10_fat64",
"py37-none-macosx_10_10_fat32",
"py37-none-macosx_10_10_universal2",
"py37-none-macosx_10_10_universal",
"py37-none-macosx_10_9_x86_64",
"py37-none-macosx_10_9_intel",
"py37-none-macosx_10_9_fat64",
"py37-none-macosx_10_9_fat32",
"py37-none-macosx_10_9_universal2",
"py37-none-macosx_10_9_universal",
"py37-none-macosx_10_8_x86_64",
"py37-none-macosx_10_8_intel",
"py37-none-macosx_10_8_fat64",
"py37-none-macosx_10_8_fat32",
"py37-none-macosx_10_8_universal2",
"py37-none-macosx_10_8_universal",
"py37-none-macosx_10_7_x86_64",
"py37-none-macosx_10_7_intel",
"py37-none-macosx_10_7_fat64",
"py37-none-macosx_10_7_fat32",
"py37-none-macosx_10_7_universal2",
"py37-none-macosx_10_7_universal",
"py37-none-macosx_10_6_x86_64",
"py37-none-macosx_10_6_intel",
"py37-none-macosx_10_6_fat64",
"py37-none-macosx_10_6_fat32",
"py37-none-macosx_10_6_universal2",
"py37-none-macosx_10_6_universal",
"py37-none-macosx_10_5_x86_64",
"py37-none-macosx_10_5_intel",
"py37-none-macosx_10_5_fat64",
"py37-none-macosx_10_5_fat32",
"py37-none-macosx_10_5_universal2",
"py37-none-macosx_10_5_universal",
"py37-none-macosx_10_4_x86_64",
"py37-none-macosx_10_4_intel",
"py37-none-macosx_10_4_fat64",
"py37-none-macosx_10_4_fat32",
"py37-none-macosx_10_4_universal2",
"py37-none-macosx_10_4_universal",
"py36-none-macosx_12_0_x86_64",
"py36-none-macosx_12_0_intel",
"py36-none-macosx_12_0_fat64",
"py36-none-macosx_12_0_fat32",
"py36-none-macosx_12_0_universal2",
"py36-none-macosx_12_0_universal",
"py36-none-macosx_11_0_x86_64",
"py36-none-macosx_11_0_intel",
"py36-none-macosx_11_0_fat64",
"py36-none-macosx_11_0_fat32",
"py36-none-macosx_11_0_universal2",
"py36-none-macosx_11_0_universal",
"py36-none-macosx_10_16_x86_64",
"py36-none-macosx_10_16_intel",
"py36-none-macosx_10_16_fat64",
"py36-none-macosx_10_16_fat32",
"py36-none-macosx_10_16_universal2",
"py36-none-macosx_10_16_universal",
"py36-none-macosx_10_15_x86_64",
"py36-none-macosx_10_15_intel",
"py36-none-macosx_10_15_fat64",
"py36-none-macosx_10_15_fat32",
"py36-none-macosx_10_15_universal2",
"py36-none-macosx_10_15_universal",
"py36-none-macosx_10_14_x86_64",
"py36-none-macosx_10_14_intel",
"py36-none-macosx_10_14_fat64",
"py36-none-macosx_10_14_fat32",
"py36-none-macosx_10_14_universal2",
"py36-none-macosx_10_14_universal",
"py36-none-macosx_10_13_x86_64",
"py36-none-macosx_10_13_intel",
"py36-none-macosx_10_13_fat64",
"py36-none-macosx_10_13_fat32",
"py36-none-macosx_10_13_universal2",
"py36-none-macosx_10_13_universal",
"py36-none-macosx_10_12_x86_64",
"py36-none-macosx_10_12_intel",
"py36-none-macosx_10_12_fat64",
"py36-none-macosx_10_12_fat32",
"py36-none-macosx_10_12_universal2",
"py36-none-macosx_10_12_universal",
"py36-none-macosx_10_11_x86_64",
"py36-none-macosx_10_11_intel",
"py36-none-macosx_10_11_fat64",
"py36-none-macosx_10_11_fat32",
"py36-none-macosx_10_11_universal2",
"py36-none-macosx_10_11_universal",
"py36-none-macosx_10_10_x86_64",
"py36-none-macosx_10_10_intel",
"py36-none-macosx_10_10_fat64",
"py36-none-macosx_10_10_fat32",
"py36-none-macosx_10_10_universal2",
"py36-none-macosx_10_10_universal",
"py36-none-macosx_10_9_x86_64",
"py36-none-macosx_10_9_intel",
"py36-none-macosx_10_9_fat64",
"py36-none-macosx_10_9_fat32",
"py36-none-macosx_10_9_universal2",
"py36-none-macosx_10_9_universal",
"py36-none-macosx_10_8_x86_64",
"py36-none-macosx_10_8_intel",
"py36-none-macosx_10_8_fat64",
"py36-none-macosx_10_8_fat32",
"py36-none-macosx_10_8_universal2",
"py36-none-macosx_10_8_universal",
"py36-none-macosx_10_7_x86_64",
"py36-none-macosx_10_7_intel",
"py36-none-macosx_10_7_fat64",
"py36-none-macosx_10_7_fat32",
"py36-none-macosx_10_7_universal2",
"py36-none-macosx_10_7_universal",
"py36-none-macosx_10_6_x86_64",
"py36-none-macosx_10_6_intel",
"py36-none-macosx_10_6_fat64",
"py36-none-macosx_10_6_fat32",
"py36-none-macosx_10_6_universal2",
"py36-none-macosx_10_6_universal",
"py36-none-macosx_10_5_x86_64",
"py36-none-macosx_10_5_intel",
"py36-none-macosx_10_5_fat64",
"py36-none-macosx_10_5_fat32",
"py36-none-macosx_10_5_universal2",
"py36-none-macosx_10_5_universal",
"py36-none-macosx_10_4_x86_64",
"py36-none-macosx_10_4_intel",
"py36-none-macosx_10_4_fat64",
"py36-none-macosx_10_4_fat32",
"py36-none-macosx_10_4_universal2",
"py36-none-macosx_10_4_universal",
"py35-none-macosx_12_0_x86_64",
"py35-none-macosx_12_0_intel",
"py35-none-macosx_12_0_fat64",
"py35-none-macosx_12_0_fat32",
"py35-none-macosx_12_0_universal2",
"py35-none-macosx_12_0_universal",
"py35-none-macosx_11_0_x86_64",
"py35-none-macosx_11_0_intel",
"py35-none-macosx_11_0_fat64",
"py35-none-macosx_11_0_fat32",
"py35-none-macosx_11_0_universal2",
"py35-none-macosx_11_0_universal",
"py35-none-macosx_10_16_x86_64",
"py35-none-macosx_10_16_intel",
"py35-none-macosx_10_16_fat64",
"py35-none-macosx_10_16_fat32",
"py35-none-macosx_10_16_universal2",
"py35-none-macosx_10_16_universal",
"py35-none-macosx_10_15_x86_64",
"py35-none-macosx_10_15_intel",
"py35-none-macosx_10_15_fat64",
"py35-none-macosx_10_15_fat32",
"py35-none-macosx_10_15_universal2",
"py35-none-macosx_10_15_universal",
"py35-none-macosx_10_14_x86_64",
"py35-none-macosx_10_14_intel",
"py35-none-macosx_10_14_fat64",
"py35-none-macosx_10_14_fat32",
"py35-none-macosx_10_14_universal2",
"py35-none-macosx_10_14_universal",
"py35-none-macosx_10_13_x86_64",
"py35-none-macosx_10_13_intel",
"py35-none-macosx_10_13_fat64",
"py35-none-macosx_10_13_fat32",
"py35-none-macosx_10_13_universal2",
"py35-none-macosx_10_13_universal",
"py35-none-macosx_10_12_x86_64",
"py35-none-macosx_10_12_intel",
"py35-none-macosx_10_12_fat64",
"py35-none-macosx_10_12_fat32",
"py35-none-macosx_10_12_universal2",
"py35-none-macosx_10_12_universal",
"py35-none-macosx_10_11_x86_64",
"py35-none-macosx_10_11_intel",
"py35-none-macosx_10_11_fat64",
"py35-none-macosx_10_11_fat32",
"py35-none-macosx_10_11_universal2",
"py35-none-macosx_10_11_universal",
"py35-none-macosx_10_10_x86_64",
"py35-none-macosx_10_10_intel",
"py35-none-macosx_10_10_fat64",
"py35-none-macosx_10_10_fat32",
"py35-none-macosx_10_10_universal2",
"py35-none-macosx_10_10_universal",
"py35-none-macosx_10_9_x86_64",
"py35-none-macosx_10_9_intel",
"py35-none-macosx_10_9_fat64",
"py35-none-macosx_10_9_fat32",
"py35-none-macosx_10_9_universal2",
"py35-none-macosx_10_9_universal",
"py35-none-macosx_10_8_x86_64",
"py35-none-macosx_10_8_intel",
"py35-none-macosx_10_8_fat64",
"py35-none-macosx_10_8_fat32",
"py35-none-macosx_10_8_universal2",
"py35-none-macosx_10_8_universal",
"py35-none-macosx_10_7_x86_64",
"py35-none-macosx_10_7_intel",
"py35-none-macosx_10_7_fat64",
"py35-none-macosx_10_7_fat32",
"py35-none-macosx_10_7_universal2",
"py35-none-macosx_10_7_universal",
"py35-none-macosx_10_6_x86_64",
"py35-none-macosx_10_6_intel",
"py35-none-macosx_10_6_fat64",
"py35-none-macosx_10_6_fat32",
"py35-none-macosx_10_6_universal2",
"py35-none-macosx_10_6_universal",
"py35-none-macosx_10_5_x86_64",
"py35-none-macosx_10_5_intel",
"py35-none-macosx_10_5_fat64",
"py35-none-macosx_10_5_fat32",
"py35-none-macosx_10_5_universal2",
"py35-none-macosx_10_5_universal",
"py35-none-macosx_10_4_x86_64",
"py35-none-macosx_10_4_intel",
"py35-none-macosx_10_4_fat64",
"py35-none-macosx_10_4_fat32",
"py35-none-macosx_10_4_universal2",
"py35-none-macosx_10_4_universal",
"py34-none-macosx_12_0_x86_64",
"py34-none-macosx_12_0_intel",
"py34-none-macosx_12_0_fat64",
"py34-none-macosx_12_0_fat32",
"py34-none-macosx_12_0_universal2",
"py34-none-macosx_12_0_universal",
"py34-none-macosx_11_0_x86_64",
"py34-none-macosx_11_0_intel",
"py34-none-macosx_11_0_fat64",
"py34-none-macosx_11_0_fat32",
"py34-none-macosx_11_0_universal2",
"py34-none-macosx_11_0_universal",
"py34-none-macosx_10_16_x86_64",
"py34-none-macosx_10_16_intel",
"py34-none-macosx_10_16_fat64",
"py34-none-macosx_10_16_fat32",
"py34-none-macosx_10_16_universal2",
"py34-none-macosx_10_16_universal",
"py34-none-macosx_10_15_x86_64",
"py34-none-macosx_10_15_intel",
"py34-none-macosx_10_15_fat64",
"py34-none-macosx_10_15_fat32",
"py34-none-macosx_10_15_universal2",
"py34-none-macosx_10_15_universal",
"py34-none-macosx_10_14_x86_64",
"py34-none-macosx_10_14_intel",
"py34-none-macosx_10_14_fat64",
"py34-none-macosx_10_14_fat32",
"py34-none-macosx_10_14_universal2",
"py34-none-macosx_10_14_universal",
"py34-none-macosx_10_13_x86_64",
"py34-none-macosx_10_13_intel",
"py34-none-macosx_10_13_fat64",
"py34-none-macosx_10_13_fat32",
"py34-none-macosx_10_13_universal2",
"py34-none-macosx_10_13_universal",
"py34-none-macosx_10_12_x86_64",
"py34-none-macosx_10_12_intel",
"py34-none-macosx_10_12_fat64",
"py34-none-macosx_10_12_fat32",
"py34-none-macosx_10_12_universal2",
"py34-none-macosx_10_12_universal",
"py34-none-macosx_10_11_x86_64",
"py34-none-macosx_10_11_intel",
"py34-none-macosx_10_11_fat64",
"py34-none-macosx_10_11_fat32",
"py34-none-macosx_10_11_universal2",
"py34-none-macosx_10_11_universal",
"py34-none-macosx_10_10_x86_64",
"py34-none-macosx_10_10_intel",
"py34-none-macosx_10_10_fat64",
"py34-none-macosx_10_10_fat32",
"py34-none-macosx_10_10_universal2",
"py34-none-macosx_10_10_universal",
"py34-none-macosx_10_9_x86_64",
"py34-none-macosx_10_9_intel",
"py34-none-macosx_10_9_fat64",
"py34-none-macosx_10_9_fat32",
"py34-none-macosx_10_9_universal2",
"py34-none-macosx_10_9_universal",
"py34-none-macosx_10_8_x86_64",
"py34-none-macosx_10_8_intel",
"py34-none-macosx_10_8_fat64",
"py34-none-macosx_10_8_fat32",
"py34-none-macosx_10_8_universal2",
"py34-none-macosx_10_8_universal",
"py34-none-macosx_10_7_x86_64",
"py34-none-macosx_10_7_intel",
"py34-none-macosx_10_7_fat64",
"py34-none-macosx_10_7_fat32",
"py34-none-macosx_10_7_universal2",
"py34-none-macosx_10_7_universal",
"py34-none-macosx_10_6_x86_64",
"py34-none-macosx_10_6_intel",
"py34-none-macosx_10_6_fat64",
"py34-none-macosx_10_6_fat32",
"py34-none-macosx_10_6_universal2",
"py34-none-macosx_10_6_universal",
"py34-none-macosx_10_5_x86_64",
"py34-none-macosx_10_5_intel",
"py34-none-macosx_10_5_fat64",
"py34-none-macosx_10_5_fat32",
"py34-none-macosx_10_5_universal2",
"py34-none-macosx_10_5_universal",
"py34-none-macosx_10_4_x86_64",
"py34-none-macosx_10_4_intel",
"py34-none-macosx_10_4_fat64",
"py34-none-macosx_10_4_fat32",
"py34-none-macosx_10_4_universal2",
"py34-none-macosx_10_4_universal",
"py33-none-macosx_12_0_x86_64",
"py33-none-macosx_12_0_intel",
"py33-none-macosx_12_0_fat64",
"py33-none-macosx_12_0_fat32",
"py33-none-macosx_12_0_universal2",
"py33-none-macosx_12_0_universal",
"py33-none-macosx_11_0_x86_64",
"py33-none-macosx_11_0_intel",
"py33-none-macosx_11_0_fat64",
"py33-none-macosx_11_0_fat32",
"py33-none-macosx_11_0_universal2",
"py33-none-macosx_11_0_universal",
"py33-none-macosx_10_16_x86_64",
"py33-none-macosx_10_16_intel",
"py33-none-macosx_10_16_fat64",
"py33-none-macosx_10_16_fat32",
"py33-none-macosx_10_16_universal2",
"py33-none-macosx_10_16_universal",
"py33-none-macosx_10_15_x86_64",
"py33-none-macosx_10_15_intel",
"py33-none-macosx_10_15_fat64",
"py33-none-macosx_10_15_fat32",
"py33-none-macosx_10_15_universal2",
"py33-none-macosx_10_15_universal",
"py33-none-macosx_10_14_x86_64",
"py33-none-macosx_10_14_intel",
"py33-none-macosx_10_14_fat64",
"py33-none-macosx_10_14_fat32",
"py33-none-macosx_10_14_universal2",
"py33-none-macosx_10_14_universal",
"py33-none-macosx_10_13_x86_64",
"py33-none-macosx_10_13_intel",
"py33-none-macosx_10_13_fat64",
"py33-none-macosx_10_13_fat32",
"py33-none-macosx_10_13_universal2",
"py33-none-macosx_10_13_universal",
"py33-none-macosx_10_12_x86_64",
"py33-none-macosx_10_12_intel",
"py33-none-macosx_10_12_fat64",
"py33-none-macosx_10_12_fat32",
"py33-none-macosx_10_12_universal2",
"py33-none-macosx_10_12_universal",
"py33-none-macosx_10_11_x86_64",
"py33-none-macosx_10_11_intel",
"py33-none-macosx_10_11_fat64",
"py33-none-macosx_10_11_fat32",
"py33-none-macosx_10_11_universal2",
"py33-none-macosx_10_11_universal",
"py33-none-macosx_10_10_x86_64",
"py33-none-macosx_10_10_intel",
"py33-none-macosx_10_10_fat64",
"py33-none-macosx_10_10_fat32",
"py33-none-macosx_10_10_universal2",
"py33-none-macosx_10_10_universal",
"py33-none-macosx_10_9_x86_64",
"py33-none-macosx_10_9_intel",
"py33-none-macosx_10_9_fat64",
"py33-none-macosx_10_9_fat32",
"py33-none-macosx_10_9_universal2",
"py33-none-macosx_10_9_universal",
"py33-none-macosx_10_8_x86_64",
"py33-none-macosx_10_8_intel",
"py33-none-macosx_10_8_fat64",
"py33-none-macosx_10_8_fat32",
"py33-none-macosx_10_8_universal2",
"py33-none-macosx_10_8_universal",
"py33-none-macosx_10_7_x86_64",
"py33-none-macosx_10_7_intel",
"py33-none-macosx_10_7_fat64",
"py33-none-macosx_10_7_fat32",
"py33-none-macosx_10_7_universal2",
"py33-none-macosx_10_7_universal",
"py33-none-macosx_10_6_x86_64",
"py33-none-macosx_10_6_intel",
"py33-none-macosx_10_6_fat64",
"py33-none-macosx_10_6_fat32",
"py33-none-macosx_10_6_universal2",
"py33-none-macosx_10_6_universal",
"py33-none-macosx_10_5_x86_64",
"py33-none-macosx_10_5_intel",
"py33-none-macosx_10_5_fat64",
"py33-none-macosx_10_5_fat32",
"py33-none-macosx_10_5_universal2",
"py33-none-macosx_10_5_universal",
"py33-none-macosx_10_4_x86_64",
"py33-none-macosx_10_4_intel",
"py33-none-macosx_10_4_fat64",
"py33-none-macosx_10_4_fat32",
"py33-none-macosx_10_4_universal2",
"py33-none-macosx_10_4_universal",
"py32-none-macosx_12_0_x86_64",
"py32-none-macosx_12_0_intel",
"py32-none-macosx_12_0_fat64",
"py32-none-macosx_12_0_fat32",
"py32-none-macosx_12_0_universal2",
"py32-none-macosx_12_0_universal",
"py32-none-macosx_11_0_x86_64",
"py32-none-macosx_11_0_intel",
"py32-none-macosx_11_0_fat64",
"py32-none-macosx_11_0_fat32",
"py32-none-macosx_11_0_universal2",
"py32-none-macosx_11_0_universal",
"py32-none-macosx_10_16_x86_64",
"py32-none-macosx_10_16_intel",
"py32-none-macosx_10_16_fat64",
"py32-none-macosx_10_16_fat32",
"py32-none-macosx_10_16_universal2",
"py32-none-macosx_10_16_universal",
"py32-none-macosx_10_15_x86_64",
"py32-none-macosx_10_15_intel",
"py32-none-macosx_10_15_fat64",
"py32-none-macosx_10_15_fat32",
"py32-none-macosx_10_15_universal2",
"py32-none-macosx_10_15_universal",
"py32-none-macosx_10_14_x86_64",
"py32-none-macosx_10_14_intel",
"py32-none-macosx_10_14_fat64",
"py32-none-macosx_10_14_fat32",
"py32-none-macosx_10_14_universal2",
"py32-none-macosx_10_14_universal",
"py32-none-macosx_10_13_x86_64",
"py32-none-macosx_10_13_intel",
"py32-none-macosx_10_13_fat64",
"py32-none-macosx_10_13_fat32",
"py32-none-macosx_10_13_universal2",
"py32-none-macosx_10_13_universal",
"py32-none-macosx_10_12_x86_64",
"py32-none-macosx_10_12_intel",
"py32-none-macosx_10_12_fat64",
"py32-none-macosx_10_12_fat32",
"py32-none-macosx_10_12_universal2",
"py32-none-macosx_10_12_universal",
"py32-none-macosx_10_11_x86_64",
"py32-none-macosx_10_11_intel",
"py32-none-macosx_10_11_fat64",
"py32-none-macosx_10_11_fat32",
"py32-none-macosx_10_11_universal2",
"py32-none-macosx_10_11_universal",
"py32-none-macosx_10_10_x86_64",
"py32-none-macosx_10_10_intel",
"py32-none-macosx_10_10_fat64",
"py32-none-macosx_10_10_fat32",
"py32-none-macosx_10_10_universal2",
"py32-none-macosx_10_10_universal",
"py32-none-macosx_10_9_x86_64",
"py32-none-macosx_10_9_intel",
"py32-none-macosx_10_9_fat64",
"py32-none-macosx_10_9_fat32",
"py32-none-macosx_10_9_universal2",
"py32-none-macosx_10_9_universal",
"py32-none-macosx_10_8_x86_64",
"py32-none-macosx_10_8_intel",
"py32-none-macosx_10_8_fat64",
"py32-none-macosx_10_8_fat32",
"py32-none-macosx_10_8_universal2",
"py32-none-macosx_10_8_universal",
"py32-none-macosx_10_7_x86_64",
"py32-none-macosx_10_7_intel",
"py32-none-macosx_10_7_fat64",
"py32-none-macosx_10_7_fat32",
"py32-none-macosx_10_7_universal2",
"py32-none-macosx_10_7_universal",
"py32-none-macosx_10_6_x86_64",
"py32-none-macosx_10_6_intel",
"py32-none-macosx_10_6_fat64",
"py32-none-macosx_10_6_fat32",
"py32-none-macosx_10_6_universal2",
"py32-none-macosx_10_6_universal",
"py32-none-macosx_10_5_x86_64",
"py32-none-macosx_10_5_intel",
"py32-none-macosx_10_5_fat64",
"py32-none-macosx_10_5_fat32",
"py32-none-macosx_10_5_universal2",
"py32-none-macosx_10_5_universal",
"py32-none-macosx_10_4_x86_64",
"py32-none-macosx_10_4_intel",
"py32-none-macosx_10_4_fat64",
"py32-none-macosx_10_4_fat32",
"py32-none-macosx_10_4_universal2",
"py32-none-macosx_10_4_universal",
"py31-none-macosx_12_0_x86_64",
"py31-none-macosx_12_0_intel",
"py31-none-macosx_12_0_fat64",
"py31-none-macosx_12_0_fat32",
"py31-none-macosx_12_0_universal2",
"py31-none-macosx_12_0_universal",
"py31-none-macosx_11_0_x86_64",
"py31-none-macosx_11_0_intel",
"py31-none-macosx_11_0_fat64",
"py31-none-macosx_11_0_fat32",
"py31-none-macosx_11_0_universal2",
"py31-none-macosx_11_0_universal",
"py31-none-macosx_10_16_x86_64",
"py31-none-macosx_10_16_intel",
"py31-none-macosx_10_16_fat64",
"py31-none-macosx_10_16_fat32",
"py31-none-macosx_10_16_universal2",
"py31-none-macosx_10_16_universal",
"py31-none-macosx_10_15_x86_64",
"py31-none-macosx_10_15_intel",
"py31-none-macosx_10_15_fat64",
"py31-none-macosx_10_15_fat32",
"py31-none-macosx_10_15_universal2",
"py31-none-macosx_10_15_universal",
"py31-none-macosx_10_14_x86_64",
"py31-none-macosx_10_14_intel",
"py31-none-macosx_10_14_fat64",
"py31-none-macosx_10_14_fat32",
"py31-none-macosx_10_14_universal2",
"py31-none-macosx_10_14_universal",
"py31-none-macosx_10_13_x86_64",
"py31-none-macosx_10_13_intel",
"py31-none-macosx_10_13_fat64",
"py31-none-macosx_10_13_fat32",
"py31-none-macosx_10_13_universal2",
"py31-none-macosx_10_13_universal",
"py31-none-macosx_10_12_x86_64",
"py31-none-macosx_10_12_intel",
"py31-none-macosx_10_12_fat64",
"py31-none-macosx_10_12_fat32",
"py31-none-macosx_10_12_universal2",
"py31-none-macosx_10_12_universal",
"py31-none-macosx_10_11_x86_64",
"py31-none-macosx_10_11_intel",
"py31-none-macosx_10_11_fat64",
"py31-none-macosx_10_11_fat32",
"py31-none-macosx_10_11_universal2",
"py31-none-macosx_10_11_universal",
"py31-none-macosx_10_10_x86_64",
"py31-none-macosx_10_10_intel",
"py31-none-macosx_10_10_fat64",
"py31-none-macosx_10_10_fat32",
"py31-none-macosx_10_10_universal2",
"py31-none-macosx_10_10_universal",
"py31-none-macosx_10_9_x86_64",
"py31-none-macosx_10_9_intel",
"py31-none-macosx_10_9_fat64",
"py31-none-macosx_10_9_fat32",
"py31-none-macosx_10_9_universal2",
"py31-none-macosx_10_9_universal",
"py31-none-macosx_10_8_x86_64",
"py31-none-macosx_10_8_intel",
"py31-none-macosx_10_8_fat64",
"py31-none-macosx_10_8_fat32",
"py31-none-macosx_10_8_universal2",
"py31-none-macosx_10_8_universal",
"py31-none-macosx_10_7_x86_64",
"py31-none-macosx_10_7_intel",
"py31-none-macosx_10_7_fat64",
"py31-none-macosx_10_7_fat32",
"py31-none-macosx_10_7_universal2",
"py31-none-macosx_10_7_universal",
"py31-none-macosx_10_6_x86_64",
"py31-none-macosx_10_6_intel",
"py31-none-macosx_10_6_fat64",
"py31-none-macosx_10_6_fat32",
"py31-none-macosx_10_6_universal2",
"py31-none-macosx_10_6_universal",
"py31-none-macosx_10_5_x86_64",
"py31-none-macosx_10_5_intel",
"py31-none-macosx_10_5_fat64",
"py31-none-macosx_10_5_fat32",
"py31-none-macosx_10_5_universal2",
"py31-none-macosx_10_5_universal",
"py31-none-macosx_10_4_x86_64",
"py31-none-macosx_10_4_intel",
"py31-none-macosx_10_4_fat64",
"py31-none-macosx_10_4_fat32",
"py31-none-macosx_10_4_universal2",
"py31-none-macosx_10_4_universal",
"py30-none-macosx_12_0_x86_64",
"py30-none-macosx_12_0_intel",
"py30-none-macosx_12_0_fat64",
"py30-none-macosx_12_0_fat32",
"py30-none-macosx_12_0_universal2",
"py30-none-macosx_12_0_universal",
"py30-none-macosx_11_0_x86_64",
"py30-none-macosx_11_0_intel",
"py30-none-macosx_11_0_fat64",
"py30-none-macosx_11_0_fat32",
"py30-none-macosx_11_0_universal2",
"py30-none-macosx_11_0_universal",
"py30-none-macosx_10_16_x86_64",
"py30-none-macosx_10_16_intel",
"py30-none-macosx_10_16_fat64",
"py30-none-macosx_10_16_fat32",
"py30-none-macosx_10_16_universal2",
"py30-none-macosx_10_16_universal",
"py30-none-macosx_10_15_x86_64",
"py30-none-macosx_10_15_intel",
"py30-none-macosx_10_15_fat64",
"py30-none-macosx_10_15_fat32",
"py30-none-macosx_10_15_universal2",
"py30-none-macosx_10_15_universal",
"py30-none-macosx_10_14_x86_64",
"py30-none-macosx_10_14_intel",
"py30-none-macosx_10_14_fat64",
"py30-none-macosx_10_14_fat32",
"py30-none-macosx_10_14_universal2",
"py30-none-macosx_10_14_universal",
"py30-none-macosx_10_13_x86_64",
"py30-none-macosx_10_13_intel",
"py30-none-macosx_10_13_fat64",
"py30-none-macosx_10_13_fat32",
"py30-none-macosx_10_13_universal2",
"py30-none-macosx_10_13_universal",
"py30-none-macosx_10_12_x86_64",
"py30-none-macosx_10_12_intel",
"py30-none-macosx_10_12_fat64",
"py30-none-macosx_10_12_fat32",
"py30-none-macosx_10_12_universal2",
"py30-none-macosx_10_12_universal",
"py30-none-macosx_10_11_x86_64",
"py30-none-macosx_10_11_intel",
"py30-none-macosx_10_11_fat64",
"py30-none-macosx_10_11_fat32",
"py30-none-macosx_10_11_universal2",
"py30-none-macosx_10_11_universal",
"py30-none-macosx_10_10_x86_64",
"py30-none-macosx_10_10_intel",
"py30-none-macosx_10_10_fat64",
"py30-none-macosx_10_10_fat32",
"py30-none-macosx_10_10_universal2",
"py30-none-macosx_10_10_universal",
"py30-none-macosx_10_9_x86_64",
"py30-none-macosx_10_9_intel",
"py30-none-macosx_10_9_fat64",
"py30-none-macosx_10_9_fat32",
"py30-none-macosx_10_9_universal2",
"py30-none-macosx_10_9_universal",
"py30-none-macosx_10_8_x86_64",
"py30-none-macosx_10_8_intel",
"py30-none-macosx_10_8_fat64",
"py30-none-macosx_10_8_fat32",
"py30-none-macosx_10_8_universal2",
"py30-none-macosx_10_8_universal",
"py30-none-macosx_10_7_x86_64",
"py30-none-macosx_10_7_intel",
"py30-none-macosx_10_7_fat64",
"py30-none-macosx_10_7_fat32",
"py30-none-macosx_10_7_universal2",
"py30-none-macosx_10_7_universal",
"py30-none-macosx_10_6_x86_64",
"py30-none-macosx_10_6_intel",
"py30-none-macosx_10_6_fat64",
"py30-none-macosx_10_6_fat32",
"py30-none-macosx_10_6_universal2",
"py30-none-macosx_10_6_universal",
"py30-none-macosx_10_5_x86_64",
"py30-none-macosx_10_5_intel",
"py30-none-macosx_10_5_fat64",
"py30-none-macosx_10_5_fat32",
"py30-none-macosx_10_5_universal2",
"py30-none-macosx_10_5_universal",
"py30-none-macosx_10_4_x86_64",
"py30-none-macosx_10_4_intel",
"py30-none-macosx_10_4_fat64",
"py30-none-macosx_10_4_fat32",
"py30-none-macosx_10_4_universal2",
"py30-none-macosx_10_4_universal",
"py39-none-any",
"py3-none-any",
"py38-none-any",
"py37-none-any",
"py36-none-any",
"py35-none-any",
"py34-none-any",
"py33-none-any",
"py32-none-any",
"py31-none-any",
"py30-none-any"
]
} cp39-cp39-manylinux_2_26_x86_64.json{
"marker_environment": {
"implementation_name": "cpython",
"implementation_version": "3.9.11",
"os_name": "posix",
"platform_machine": "x86_64",
"platform_python_implementation": "CPython",
"platform_release": "4.14.255-273-220.498.amzn2.x86_64",
"platform_system": "Linux",
"platform_version": "#1 SMP Tue Mar 29 00:40:11 UTC 2022",
"python_full_version": "3.9.11",
"python_version": "3.9",
"sys_platform": "linux"
},
"compatible_tags": [
"cp39-cp39-manylinux_2_26_x86_64",
"cp39-cp39-manylinux_2_25_x86_64",
"cp39-cp39-manylinux_2_24_x86_64",
"cp39-cp39-manylinux_2_23_x86_64",
"cp39-cp39-manylinux_2_22_x86_64",
"cp39-cp39-manylinux_2_21_x86_64",
"cp39-cp39-manylinux_2_20_x86_64",
"cp39-cp39-manylinux_2_19_x86_64",
"cp39-cp39-manylinux_2_18_x86_64",
"cp39-cp39-manylinux_2_17_x86_64",
"cp39-cp39-manylinux2014_x86_64",
"cp39-cp39-manylinux_2_16_x86_64",
"cp39-cp39-manylinux_2_15_x86_64",
"cp39-cp39-manylinux_2_14_x86_64",
"cp39-cp39-manylinux_2_13_x86_64",
"cp39-cp39-manylinux_2_12_x86_64",
"cp39-cp39-manylinux2010_x86_64",
"cp39-cp39-manylinux_2_11_x86_64",
"cp39-cp39-manylinux_2_10_x86_64",
"cp39-cp39-manylinux_2_9_x86_64",
"cp39-cp39-manylinux_2_8_x86_64",
"cp39-cp39-manylinux_2_7_x86_64",
"cp39-cp39-manylinux_2_6_x86_64",
"cp39-cp39-manylinux_2_5_x86_64",
"cp39-cp39-manylinux1_x86_64",
"cp39-cp39-linux_x86_64",
"cp39-abi3-manylinux_2_26_x86_64",
"cp39-abi3-manylinux_2_25_x86_64",
"cp39-abi3-manylinux_2_24_x86_64",
"cp39-abi3-manylinux_2_23_x86_64",
"cp39-abi3-manylinux_2_22_x86_64",
"cp39-abi3-manylinux_2_21_x86_64",
"cp39-abi3-manylinux_2_20_x86_64",
"cp39-abi3-manylinux_2_19_x86_64",
"cp39-abi3-manylinux_2_18_x86_64",
"cp39-abi3-manylinux_2_17_x86_64",
"cp39-abi3-manylinux2014_x86_64",
"cp39-abi3-manylinux_2_16_x86_64",
"cp39-abi3-manylinux_2_15_x86_64",
"cp39-abi3-manylinux_2_14_x86_64",
"cp39-abi3-manylinux_2_13_x86_64",
"cp39-abi3-manylinux_2_12_x86_64",
"cp39-abi3-manylinux2010_x86_64",
"cp39-abi3-manylinux_2_11_x86_64",
"cp39-abi3-manylinux_2_10_x86_64",
"cp39-abi3-manylinux_2_9_x86_64",
"cp39-abi3-manylinux_2_8_x86_64",
"cp39-abi3-manylinux_2_7_x86_64",
"cp39-abi3-manylinux_2_6_x86_64",
"cp39-abi3-manylinux_2_5_x86_64",
"cp39-abi3-manylinux1_x86_64",
"cp39-abi3-linux_x86_64",
"cp39-none-manylinux_2_26_x86_64",
"cp39-none-manylinux_2_25_x86_64",
"cp39-none-manylinux_2_24_x86_64",
"cp39-none-manylinux_2_23_x86_64",
"cp39-none-manylinux_2_22_x86_64",
"cp39-none-manylinux_2_21_x86_64",
"cp39-none-manylinux_2_20_x86_64",
"cp39-none-manylinux_2_19_x86_64",
"cp39-none-manylinux_2_18_x86_64",
"cp39-none-manylinux_2_17_x86_64",
"cp39-none-manylinux2014_x86_64",
"cp39-none-manylinux_2_16_x86_64",
"cp39-none-manylinux_2_15_x86_64",
"cp39-none-manylinux_2_14_x86_64",
"cp39-none-manylinux_2_13_x86_64",
"cp39-none-manylinux_2_12_x86_64",
"cp39-none-manylinux2010_x86_64",
"cp39-none-manylinux_2_11_x86_64",
"cp39-none-manylinux_2_10_x86_64",
"cp39-none-manylinux_2_9_x86_64",
"cp39-none-manylinux_2_8_x86_64",
"cp39-none-manylinux_2_7_x86_64",
"cp39-none-manylinux_2_6_x86_64",
"cp39-none-manylinux_2_5_x86_64",
"cp39-none-manylinux1_x86_64",
"cp39-none-linux_x86_64",
"cp38-abi3-manylinux_2_26_x86_64",
"cp38-abi3-manylinux_2_25_x86_64",
"cp38-abi3-manylinux_2_24_x86_64",
"cp38-abi3-manylinux_2_23_x86_64",
"cp38-abi3-manylinux_2_22_x86_64",
"cp38-abi3-manylinux_2_21_x86_64",
"cp38-abi3-manylinux_2_20_x86_64",
"cp38-abi3-manylinux_2_19_x86_64",
"cp38-abi3-manylinux_2_18_x86_64",
"cp38-abi3-manylinux_2_17_x86_64",
"cp38-abi3-manylinux2014_x86_64",
"cp38-abi3-manylinux_2_16_x86_64",
"cp38-abi3-manylinux_2_15_x86_64",
"cp38-abi3-manylinux_2_14_x86_64",
"cp38-abi3-manylinux_2_13_x86_64",
"cp38-abi3-manylinux_2_12_x86_64",
"cp38-abi3-manylinux2010_x86_64",
"cp38-abi3-manylinux_2_11_x86_64",
"cp38-abi3-manylinux_2_10_x86_64",
"cp38-abi3-manylinux_2_9_x86_64",
"cp38-abi3-manylinux_2_8_x86_64",
"cp38-abi3-manylinux_2_7_x86_64",
"cp38-abi3-manylinux_2_6_x86_64",
"cp38-abi3-manylinux_2_5_x86_64",
"cp38-abi3-manylinux1_x86_64",
"cp38-abi3-linux_x86_64",
"cp37-abi3-manylinux_2_26_x86_64",
"cp37-abi3-manylinux_2_25_x86_64",
"cp37-abi3-manylinux_2_24_x86_64",
"cp37-abi3-manylinux_2_23_x86_64",
"cp37-abi3-manylinux_2_22_x86_64",
"cp37-abi3-manylinux_2_21_x86_64",
"cp37-abi3-manylinux_2_20_x86_64",
"cp37-abi3-manylinux_2_19_x86_64",
"cp37-abi3-manylinux_2_18_x86_64",
"cp37-abi3-manylinux_2_17_x86_64",
"cp37-abi3-manylinux2014_x86_64",
"cp37-abi3-manylinux_2_16_x86_64",
"cp37-abi3-manylinux_2_15_x86_64",
"cp37-abi3-manylinux_2_14_x86_64",
"cp37-abi3-manylinux_2_13_x86_64",
"cp37-abi3-manylinux_2_12_x86_64",
"cp37-abi3-manylinux2010_x86_64",
"cp37-abi3-manylinux_2_11_x86_64",
"cp37-abi3-manylinux_2_10_x86_64",
"cp37-abi3-manylinux_2_9_x86_64",
"cp37-abi3-manylinux_2_8_x86_64",
"cp37-abi3-manylinux_2_7_x86_64",
"cp37-abi3-manylinux_2_6_x86_64",
"cp37-abi3-manylinux_2_5_x86_64",
"cp37-abi3-manylinux1_x86_64",
"cp37-abi3-linux_x86_64",
"cp36-abi3-manylinux_2_26_x86_64",
"cp36-abi3-manylinux_2_25_x86_64",
"cp36-abi3-manylinux_2_24_x86_64",
"cp36-abi3-manylinux_2_23_x86_64",
"cp36-abi3-manylinux_2_22_x86_64",
"cp36-abi3-manylinux_2_21_x86_64",
"cp36-abi3-manylinux_2_20_x86_64",
"cp36-abi3-manylinux_2_19_x86_64",
"cp36-abi3-manylinux_2_18_x86_64",
"cp36-abi3-manylinux_2_17_x86_64",
"cp36-abi3-manylinux2014_x86_64",
"cp36-abi3-manylinux_2_16_x86_64",
"cp36-abi3-manylinux_2_15_x86_64",
"cp36-abi3-manylinux_2_14_x86_64",
"cp36-abi3-manylinux_2_13_x86_64",
"cp36-abi3-manylinux_2_12_x86_64",
"cp36-abi3-manylinux2010_x86_64",
"cp36-abi3-manylinux_2_11_x86_64",
"cp36-abi3-manylinux_2_10_x86_64",
"cp36-abi3-manylinux_2_9_x86_64",
"cp36-abi3-manylinux_2_8_x86_64",
"cp36-abi3-manylinux_2_7_x86_64",
"cp36-abi3-manylinux_2_6_x86_64",
"cp36-abi3-manylinux_2_5_x86_64",
"cp36-abi3-manylinux1_x86_64",
"cp36-abi3-linux_x86_64",
"cp35-abi3-manylinux_2_26_x86_64",
"cp35-abi3-manylinux_2_25_x86_64",
"cp35-abi3-manylinux_2_24_x86_64",
"cp35-abi3-manylinux_2_23_x86_64",
"cp35-abi3-manylinux_2_22_x86_64",
"cp35-abi3-manylinux_2_21_x86_64",
"cp35-abi3-manylinux_2_20_x86_64",
"cp35-abi3-manylinux_2_19_x86_64",
"cp35-abi3-manylinux_2_18_x86_64",
"cp35-abi3-manylinux_2_17_x86_64",
"cp35-abi3-manylinux2014_x86_64",
"cp35-abi3-manylinux_2_16_x86_64",
"cp35-abi3-manylinux_2_15_x86_64",
"cp35-abi3-manylinux_2_14_x86_64",
"cp35-abi3-manylinux_2_13_x86_64",
"cp35-abi3-manylinux_2_12_x86_64",
"cp35-abi3-manylinux2010_x86_64",
"cp35-abi3-manylinux_2_11_x86_64",
"cp35-abi3-manylinux_2_10_x86_64",
"cp35-abi3-manylinux_2_9_x86_64",
"cp35-abi3-manylinux_2_8_x86_64",
"cp35-abi3-manylinux_2_7_x86_64",
"cp35-abi3-manylinux_2_6_x86_64",
"cp35-abi3-manylinux_2_5_x86_64",
"cp35-abi3-manylinux1_x86_64",
"cp35-abi3-linux_x86_64",
"cp34-abi3-manylinux_2_26_x86_64",
"cp34-abi3-manylinux_2_25_x86_64",
"cp34-abi3-manylinux_2_24_x86_64",
"cp34-abi3-manylinux_2_23_x86_64",
"cp34-abi3-manylinux_2_22_x86_64",
"cp34-abi3-manylinux_2_21_x86_64",
"cp34-abi3-manylinux_2_20_x86_64",
"cp34-abi3-manylinux_2_19_x86_64",
"cp34-abi3-manylinux_2_18_x86_64",
"cp34-abi3-manylinux_2_17_x86_64",
"cp34-abi3-manylinux2014_x86_64",
"cp34-abi3-manylinux_2_16_x86_64",
"cp34-abi3-manylinux_2_15_x86_64",
"cp34-abi3-manylinux_2_14_x86_64",
"cp34-abi3-manylinux_2_13_x86_64",
"cp34-abi3-manylinux_2_12_x86_64",
"cp34-abi3-manylinux2010_x86_64",
"cp34-abi3-manylinux_2_11_x86_64",
"cp34-abi3-manylinux_2_10_x86_64",
"cp34-abi3-manylinux_2_9_x86_64",
"cp34-abi3-manylinux_2_8_x86_64",
"cp34-abi3-manylinux_2_7_x86_64",
"cp34-abi3-manylinux_2_6_x86_64",
"cp34-abi3-manylinux_2_5_x86_64",
"cp34-abi3-manylinux1_x86_64",
"cp34-abi3-linux_x86_64",
"cp33-abi3-manylinux_2_26_x86_64",
"cp33-abi3-manylinux_2_25_x86_64",
"cp33-abi3-manylinux_2_24_x86_64",
"cp33-abi3-manylinux_2_23_x86_64",
"cp33-abi3-manylinux_2_22_x86_64",
"cp33-abi3-manylinux_2_21_x86_64",
"cp33-abi3-manylinux_2_20_x86_64",
"cp33-abi3-manylinux_2_19_x86_64",
"cp33-abi3-manylinux_2_18_x86_64",
"cp33-abi3-manylinux_2_17_x86_64",
"cp33-abi3-manylinux2014_x86_64",
"cp33-abi3-manylinux_2_16_x86_64",
"cp33-abi3-manylinux_2_15_x86_64",
"cp33-abi3-manylinux_2_14_x86_64",
"cp33-abi3-manylinux_2_13_x86_64",
"cp33-abi3-manylinux_2_12_x86_64",
"cp33-abi3-manylinux2010_x86_64",
"cp33-abi3-manylinux_2_11_x86_64",
"cp33-abi3-manylinux_2_10_x86_64",
"cp33-abi3-manylinux_2_9_x86_64",
"cp33-abi3-manylinux_2_8_x86_64",
"cp33-abi3-manylinux_2_7_x86_64",
"cp33-abi3-manylinux_2_6_x86_64",
"cp33-abi3-manylinux_2_5_x86_64",
"cp33-abi3-manylinux1_x86_64",
"cp33-abi3-linux_x86_64",
"cp32-abi3-manylinux_2_26_x86_64",
"cp32-abi3-manylinux_2_25_x86_64",
"cp32-abi3-manylinux_2_24_x86_64",
"cp32-abi3-manylinux_2_23_x86_64",
"cp32-abi3-manylinux_2_22_x86_64",
"cp32-abi3-manylinux_2_21_x86_64",
"cp32-abi3-manylinux_2_20_x86_64",
"cp32-abi3-manylinux_2_19_x86_64",
"cp32-abi3-manylinux_2_18_x86_64",
"cp32-abi3-manylinux_2_17_x86_64",
"cp32-abi3-manylinux2014_x86_64",
"cp32-abi3-manylinux_2_16_x86_64",
"cp32-abi3-manylinux_2_15_x86_64",
"cp32-abi3-manylinux_2_14_x86_64",
"cp32-abi3-manylinux_2_13_x86_64",
"cp32-abi3-manylinux_2_12_x86_64",
"cp32-abi3-manylinux2010_x86_64",
"cp32-abi3-manylinux_2_11_x86_64",
"cp32-abi3-manylinux_2_10_x86_64",
"cp32-abi3-manylinux_2_9_x86_64",
"cp32-abi3-manylinux_2_8_x86_64",
"cp32-abi3-manylinux_2_7_x86_64",
"cp32-abi3-manylinux_2_6_x86_64",
"cp32-abi3-manylinux_2_5_x86_64",
"cp32-abi3-manylinux1_x86_64",
"cp32-abi3-linux_x86_64",
"py39-none-manylinux_2_26_x86_64",
"py39-none-manylinux_2_25_x86_64",
"py39-none-manylinux_2_24_x86_64",
"py39-none-manylinux_2_23_x86_64",
"py39-none-manylinux_2_22_x86_64",
"py39-none-manylinux_2_21_x86_64",
"py39-none-manylinux_2_20_x86_64",
"py39-none-manylinux_2_19_x86_64",
"py39-none-manylinux_2_18_x86_64",
"py39-none-manylinux_2_17_x86_64",
"py39-none-manylinux2014_x86_64",
"py39-none-manylinux_2_16_x86_64",
"py39-none-manylinux_2_15_x86_64",
"py39-none-manylinux_2_14_x86_64",
"py39-none-manylinux_2_13_x86_64",
"py39-none-manylinux_2_12_x86_64",
"py39-none-manylinux2010_x86_64",
"py39-none-manylinux_2_11_x86_64",
"py39-none-manylinux_2_10_x86_64",
"py39-none-manylinux_2_9_x86_64",
"py39-none-manylinux_2_8_x86_64",
"py39-none-manylinux_2_7_x86_64",
"py39-none-manylinux_2_6_x86_64",
"py39-none-manylinux_2_5_x86_64",
"py39-none-manylinux1_x86_64",
"py39-none-linux_x86_64",
"py3-none-manylinux_2_26_x86_64",
"py3-none-manylinux_2_25_x86_64",
"py3-none-manylinux_2_24_x86_64",
"py3-none-manylinux_2_23_x86_64",
"py3-none-manylinux_2_22_x86_64",
"py3-none-manylinux_2_21_x86_64",
"py3-none-manylinux_2_20_x86_64",
"py3-none-manylinux_2_19_x86_64",
"py3-none-manylinux_2_18_x86_64",
"py3-none-manylinux_2_17_x86_64",
"py3-none-manylinux2014_x86_64",
"py3-none-manylinux_2_16_x86_64",
"py3-none-manylinux_2_15_x86_64",
"py3-none-manylinux_2_14_x86_64",
"py3-none-manylinux_2_13_x86_64",
"py3-none-manylinux_2_12_x86_64",
"py3-none-manylinux2010_x86_64",
"py3-none-manylinux_2_11_x86_64",
"py3-none-manylinux_2_10_x86_64",
"py3-none-manylinux_2_9_x86_64",
"py3-none-manylinux_2_8_x86_64",
"py3-none-manylinux_2_7_x86_64",
"py3-none-manylinux_2_6_x86_64",
"py3-none-manylinux_2_5_x86_64",
"py3-none-manylinux1_x86_64",
"py3-none-linux_x86_64",
"py38-none-manylinux_2_26_x86_64",
"py38-none-manylinux_2_25_x86_64",
"py38-none-manylinux_2_24_x86_64",
"py38-none-manylinux_2_23_x86_64",
"py38-none-manylinux_2_22_x86_64",
"py38-none-manylinux_2_21_x86_64",
"py38-none-manylinux_2_20_x86_64",
"py38-none-manylinux_2_19_x86_64",
"py38-none-manylinux_2_18_x86_64",
"py38-none-manylinux_2_17_x86_64",
"py38-none-manylinux2014_x86_64",
"py38-none-manylinux_2_16_x86_64",
"py38-none-manylinux_2_15_x86_64",
"py38-none-manylinux_2_14_x86_64",
"py38-none-manylinux_2_13_x86_64",
"py38-none-manylinux_2_12_x86_64",
"py38-none-manylinux2010_x86_64",
"py38-none-manylinux_2_11_x86_64",
"py38-none-manylinux_2_10_x86_64",
"py38-none-manylinux_2_9_x86_64",
"py38-none-manylinux_2_8_x86_64",
"py38-none-manylinux_2_7_x86_64",
"py38-none-manylinux_2_6_x86_64",
"py38-none-manylinux_2_5_x86_64",
"py38-none-manylinux1_x86_64",
"py38-none-linux_x86_64",
"py37-none-manylinux_2_26_x86_64",
"py37-none-manylinux_2_25_x86_64",
"py37-none-manylinux_2_24_x86_64",
"py37-none-manylinux_2_23_x86_64",
"py37-none-manylinux_2_22_x86_64",
"py37-none-manylinux_2_21_x86_64",
"py37-none-manylinux_2_20_x86_64",
"py37-none-manylinux_2_19_x86_64",
"py37-none-manylinux_2_18_x86_64",
"py37-none-manylinux_2_17_x86_64",
"py37-none-manylinux2014_x86_64",
"py37-none-manylinux_2_16_x86_64",
"py37-none-manylinux_2_15_x86_64",
"py37-none-manylinux_2_14_x86_64",
"py37-none-manylinux_2_13_x86_64",
"py37-none-manylinux_2_12_x86_64",
"py37-none-manylinux2010_x86_64",
"py37-none-manylinux_2_11_x86_64",
"py37-none-manylinux_2_10_x86_64",
"py37-none-manylinux_2_9_x86_64",
"py37-none-manylinux_2_8_x86_64",
"py37-none-manylinux_2_7_x86_64",
"py37-none-manylinux_2_6_x86_64",
"py37-none-manylinux_2_5_x86_64",
"py37-none-manylinux1_x86_64",
"py37-none-linux_x86_64",
"py36-none-manylinux_2_26_x86_64",
"py36-none-manylinux_2_25_x86_64",
"py36-none-manylinux_2_24_x86_64",
"py36-none-manylinux_2_23_x86_64",
"py36-none-manylinux_2_22_x86_64",
"py36-none-manylinux_2_21_x86_64",
"py36-none-manylinux_2_20_x86_64",
"py36-none-manylinux_2_19_x86_64",
"py36-none-manylinux_2_18_x86_64",
"py36-none-manylinux_2_17_x86_64",
"py36-none-manylinux2014_x86_64",
"py36-none-manylinux_2_16_x86_64",
"py36-none-manylinux_2_15_x86_64",
"py36-none-manylinux_2_14_x86_64",
"py36-none-manylinux_2_13_x86_64",
"py36-none-manylinux_2_12_x86_64",
"py36-none-manylinux2010_x86_64",
"py36-none-manylinux_2_11_x86_64",
"py36-none-manylinux_2_10_x86_64",
"py36-none-manylinux_2_9_x86_64",
"py36-none-manylinux_2_8_x86_64",
"py36-none-manylinux_2_7_x86_64",
"py36-none-manylinux_2_6_x86_64",
"py36-none-manylinux_2_5_x86_64",
"py36-none-manylinux1_x86_64",
"py36-none-linux_x86_64",
"py35-none-manylinux_2_26_x86_64",
"py35-none-manylinux_2_25_x86_64",
"py35-none-manylinux_2_24_x86_64",
"py35-none-manylinux_2_23_x86_64",
"py35-none-manylinux_2_22_x86_64",
"py35-none-manylinux_2_21_x86_64",
"py35-none-manylinux_2_20_x86_64",
"py35-none-manylinux_2_19_x86_64",
"py35-none-manylinux_2_18_x86_64",
"py35-none-manylinux_2_17_x86_64",
"py35-none-manylinux2014_x86_64",
"py35-none-manylinux_2_16_x86_64",
"py35-none-manylinux_2_15_x86_64",
"py35-none-manylinux_2_14_x86_64",
"py35-none-manylinux_2_13_x86_64",
"py35-none-manylinux_2_12_x86_64",
"py35-none-manylinux2010_x86_64",
"py35-none-manylinux_2_11_x86_64",
"py35-none-manylinux_2_10_x86_64",
"py35-none-manylinux_2_9_x86_64",
"py35-none-manylinux_2_8_x86_64",
"py35-none-manylinux_2_7_x86_64",
"py35-none-manylinux_2_6_x86_64",
"py35-none-manylinux_2_5_x86_64",
"py35-none-manylinux1_x86_64",
"py35-none-linux_x86_64",
"py34-none-manylinux_2_26_x86_64",
"py34-none-manylinux_2_25_x86_64",
"py34-none-manylinux_2_24_x86_64",
"py34-none-manylinux_2_23_x86_64",
"py34-none-manylinux_2_22_x86_64",
"py34-none-manylinux_2_21_x86_64",
"py34-none-manylinux_2_20_x86_64",
"py34-none-manylinux_2_19_x86_64",
"py34-none-manylinux_2_18_x86_64",
"py34-none-manylinux_2_17_x86_64",
"py34-none-manylinux2014_x86_64",
"py34-none-manylinux_2_16_x86_64",
"py34-none-manylinux_2_15_x86_64",
"py34-none-manylinux_2_14_x86_64",
"py34-none-manylinux_2_13_x86_64",
"py34-none-manylinux_2_12_x86_64",
"py34-none-manylinux2010_x86_64",
"py34-none-manylinux_2_11_x86_64",
"py34-none-manylinux_2_10_x86_64",
"py34-none-manylinux_2_9_x86_64",
"py34-none-manylinux_2_8_x86_64",
"py34-none-manylinux_2_7_x86_64",
"py34-none-manylinux_2_6_x86_64",
"py34-none-manylinux_2_5_x86_64",
"py34-none-manylinux1_x86_64",
"py34-none-linux_x86_64",
"py33-none-manylinux_2_26_x86_64",
"py33-none-manylinux_2_25_x86_64",
"py33-none-manylinux_2_24_x86_64",
"py33-none-manylinux_2_23_x86_64",
"py33-none-manylinux_2_22_x86_64",
"py33-none-manylinux_2_21_x86_64",
"py33-none-manylinux_2_20_x86_64",
"py33-none-manylinux_2_19_x86_64",
"py33-none-manylinux_2_18_x86_64",
"py33-none-manylinux_2_17_x86_64",
"py33-none-manylinux2014_x86_64",
"py33-none-manylinux_2_16_x86_64",
"py33-none-manylinux_2_15_x86_64",
"py33-none-manylinux_2_14_x86_64",
"py33-none-manylinux_2_13_x86_64",
"py33-none-manylinux_2_12_x86_64",
"py33-none-manylinux2010_x86_64",
"py33-none-manylinux_2_11_x86_64",
"py33-none-manylinux_2_10_x86_64",
"py33-none-manylinux_2_9_x86_64",
"py33-none-manylinux_2_8_x86_64",
"py33-none-manylinux_2_7_x86_64",
"py33-none-manylinux_2_6_x86_64",
"py33-none-manylinux_2_5_x86_64",
"py33-none-manylinux1_x86_64",
"py33-none-linux_x86_64",
"py32-none-manylinux_2_26_x86_64",
"py32-none-manylinux_2_25_x86_64",
"py32-none-manylinux_2_24_x86_64",
"py32-none-manylinux_2_23_x86_64",
"py32-none-manylinux_2_22_x86_64",
"py32-none-manylinux_2_21_x86_64",
"py32-none-manylinux_2_20_x86_64",
"py32-none-manylinux_2_19_x86_64",
"py32-none-manylinux_2_18_x86_64",
"py32-none-manylinux_2_17_x86_64",
"py32-none-manylinux2014_x86_64",
"py32-none-manylinux_2_16_x86_64",
"py32-none-manylinux_2_15_x86_64",
"py32-none-manylinux_2_14_x86_64",
"py32-none-manylinux_2_13_x86_64",
"py32-none-manylinux_2_12_x86_64",
"py32-none-manylinux2010_x86_64",
"py32-none-manylinux_2_11_x86_64",
"py32-none-manylinux_2_10_x86_64",
"py32-none-manylinux_2_9_x86_64",
"py32-none-manylinux_2_8_x86_64",
"py32-none-manylinux_2_7_x86_64",
"py32-none-manylinux_2_6_x86_64",
"py32-none-manylinux_2_5_x86_64",
"py32-none-manylinux1_x86_64",
"py32-none-linux_x86_64",
"py31-none-manylinux_2_26_x86_64",
"py31-none-manylinux_2_25_x86_64",
"py31-none-manylinux_2_24_x86_64",
"py31-none-manylinux_2_23_x86_64",
"py31-none-manylinux_2_22_x86_64",
"py31-none-manylinux_2_21_x86_64",
"py31-none-manylinux_2_20_x86_64",
"py31-none-manylinux_2_19_x86_64",
"py31-none-manylinux_2_18_x86_64",
"py31-none-manylinux_2_17_x86_64",
"py31-none-manylinux2014_x86_64",
"py31-none-manylinux_2_16_x86_64",
"py31-none-manylinux_2_15_x86_64",
"py31-none-manylinux_2_14_x86_64",
"py31-none-manylinux_2_13_x86_64",
"py31-none-manylinux_2_12_x86_64",
"py31-none-manylinux2010_x86_64",
"py31-none-manylinux_2_11_x86_64",
"py31-none-manylinux_2_10_x86_64",
"py31-none-manylinux_2_9_x86_64",
"py31-none-manylinux_2_8_x86_64",
"py31-none-manylinux_2_7_x86_64",
"py31-none-manylinux_2_6_x86_64",
"py31-none-manylinux_2_5_x86_64",
"py31-none-manylinux1_x86_64",
"py31-none-linux_x86_64",
"py30-none-manylinux_2_26_x86_64",
"py30-none-manylinux_2_25_x86_64",
"py30-none-manylinux_2_24_x86_64",
"py30-none-manylinux_2_23_x86_64",
"py30-none-manylinux_2_22_x86_64",
"py30-none-manylinux_2_21_x86_64",
"py30-none-manylinux_2_20_x86_64",
"py30-none-manylinux_2_19_x86_64",
"py30-none-manylinux_2_18_x86_64",
"py30-none-manylinux_2_17_x86_64",
"py30-none-manylinux2014_x86_64",
"py30-none-manylinux_2_16_x86_64",
"py30-none-manylinux_2_15_x86_64",
"py30-none-manylinux_2_14_x86_64",
"py30-none-manylinux_2_13_x86_64",
"py30-none-manylinux_2_12_x86_64",
"py30-none-manylinux2010_x86_64",
"py30-none-manylinux_2_11_x86_64",
"py30-none-manylinux_2_10_x86_64",
"py30-none-manylinux_2_9_x86_64",
"py30-none-manylinux_2_8_x86_64",
"py30-none-manylinux_2_7_x86_64",
"py30-none-manylinux_2_6_x86_64",
"py30-none-manylinux_2_5_x86_64",
"py30-none-manylinux1_x86_64",
"py30-none-linux_x86_64",
"py39-none-any",
"py3-none-any",
"py38-none-any",
"py37-none-any",
"py36-none-any",
"py35-none-any",
"py34-none-any",
"py33-none-any",
"py32-none-any",
"py31-none-any",
"py30-none-any"
]
} And, of course, that only works because the resolve was satisfiable purely by wheels for both platforms. That may not always be the case:
|
Great! I'm happy to sponsor your PEP. First step is probably coming up with the design you want and propose it for discussion at https://discuss.python.org/c/packaging/14 . Once general consensus is reached then you can start work on a PEP. |
Consolidating this into #11664 |
|
Description
A compact example from the CLI:
Here the ambient interpreter is a CPython 3.9 interpreter but the requested TargetPython is elsewise.
Expected behavior
It seems Pip should become aware of whether the TargetPython is the current Python or not. When the TargetPython is not the current Python, Pip should have a different strategy for evaluating environment markers. There are a few behaviors that make more sense than the current evaluation of markers in the wrong context:
python_version
and that happens to be completewly determined by TargetPython py_version_info (--python-version
) and leave the un-evaluatable markers for install time evaluation as in 2.pip version
21.1.2
Python version
CPython 3.9.5
OS
Linux
How to Reproduce
See description.
Output
See description.
Code of Conduct
The text was updated successfully, but these errors were encountered: