Skip to content
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

Switch to py3-none-* #19

Open
mdavidsaver opened this issue May 14, 2023 · 2 comments
Open

Switch to py3-none-* #19

mdavidsaver opened this issue May 14, 2023 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@mdavidsaver
Copy link
Member

mdavidsaver commented May 14, 2023

I notice that PyQt on pypi.org has split out the Qt c++ libraries as PyQt6-Qt6 where the wheel files have py3-none-* tags instead of interpreter specific cp*-cp*-* tags. So they can upload only 4 of these large wheel files per release, as opposed to ~30 files currently uploaded for epicscorelibs.

Need to investigate when pip started supporting tags like py3-none-manylinux_2_28_x86_64.

see also

python -m pip debug --verbose
...
Compatible tags: ...
...
@mdavidsaver mdavidsaver added the enhancement New feature or request label May 14, 2023
@mdavidsaver mdavidsaver self-assigned this May 14, 2023
@mdavidsaver
Copy link
Member Author

Apparently support for py2-none-manylinux1_x86_64 and py3-none-manylinux1_x86_64 go way back. At least circa RHEL7, which is ancient enough for me.

# python2 -m pip --version
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)
# python2 -c 'import pip.pep425tags; import pprint; pprint.pprint(pip.pep425tags.get_supported())'
[('cp27', 'cp27mu', 'manylinux1_x86_64'),
 ('cp27', 'cp27mu', 'linux_x86_64'),
 ('cp27', 'none', 'manylinux1_x86_64'),
 ('cp27', 'none', 'linux_x86_64'),
 ('py2', 'none', 'manylinux1_x86_64'),
 ('py2', 'none', 'linux_x86_64'),
 ('cp27', 'none', 'any'),
 ('cp2', 'none', 'any'),
 ('py27', 'none', 'any'),
 ('py2', 'none', 'any'),
 ('py26', 'none', 'any'),
 ('py25', 'none', 'any'),
 ('py24', 'none', 'any'),
 ('py23', 'none', 'any'),
 ('py22', 'none', 'any'),
 ('py21', 'none', 'any'),
 ('py20', 'none', 'any')]
# python3 -m pip --version 
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)
# python3 -c 'import pip.pep425tags; import pprint; pprint.pprint(pip.pep425tags.get_supported())'
[('cp36', 'cp36m', 'manylinux1_x86_64'),
 ('cp36', 'cp36m', 'linux_x86_64'),
 ('cp36', 'abi3', 'manylinux1_x86_64'),
 ('cp36', 'abi3', 'linux_x86_64'),
 ('cp36', 'none', 'manylinux1_x86_64'),
 ('cp36', 'none', 'linux_x86_64'),
 ('cp35', 'abi3', 'manylinux1_x86_64'),
 ('cp35', 'abi3', 'linux_x86_64'),
 ('cp34', 'abi3', 'manylinux1_x86_64'),
 ('cp34', 'abi3', 'linux_x86_64'),
 ('cp33', 'abi3', 'manylinux1_x86_64'),
 ('cp33', 'abi3', 'linux_x86_64'),
 ('cp32', 'abi3', 'manylinux1_x86_64'),
 ('cp32', 'abi3', 'linux_x86_64'),
 ('py3', 'none', 'manylinux1_x86_64'),
 ('py3', 'none', 'linux_x86_64'),
 ('cp36', 'none', 'any'),
 ('cp3', 'none', 'any'),
 ('py36', 'none', 'any'),
 ('py3', 'none', 'any'),
 ('py35', 'none', 'any'),
 ('py34', 'none', 'any'),
 ('py33', 'none', 'any'),
 ('py32', 'none', 'any'),
 ('py31', 'none', 'any'),
 ('py30', 'none', 'any')]

@mdavidsaver
Copy link
Member Author

Theoretically epicscorelibs could get by with

  • py2-none-manylinux1_x86_64
  • py3-none-manylinux1_x86_64
  • py3-none-manylinux2010_x86_64
  • py3-none-manylinux2014_x86_64
  • py2-none-macosx_10_9_intel
  • py3-none-macosx_10_9_intel
  • py3-none-win_amd64

The next question is about dependency resolution. Would PIP install eg. p4p with cp36-cp36m-manylinux2010_x86_64 and epicscorelibs with py3-none-manylinux2014_x86_64? (mixing manylinux 2010 and 2014 ABIs)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant