Instantly share code, notes, and snippets.
Last active
May 7, 2026 03:51
-
Star
0
(0)
You must be signed in to star a gist -
Fork
0
(0)
You must be signed in to fork a gist
-
-
Save tecmaverick/15d867e3ba0ab77ae180d4b1ffc045c2 to your computer and use it in GitHub Desktop.
AWS Lambda - Python Wheel compatibility tags
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # List all wheel compatibility tags in AWS Lambda Python 3.14 | |
| # Tag format - python_tag-abi_tag-platform_tag | |
| # python_tag = interpreter/language version | |
| # abi_tag = ABI (Application Binary Interface) | |
| # platform_tag = platform compatibility markers | |
| # Example: py32-none-manylinux_2_34_x86_64 | |
| # py32 - Python language compatibility meaning Python 3.2 (If its Py it means any Python 3 [CPython or PyPy] implementation, if its cp3xx means CPython 3.xx specifically) | |
| # none - no special Python ABI required | |
| # manylinux_2_34_x86_64 - Linux x86_64 wheel compatible with glibc/manylinux 2.34 for both x86 and x64 platforms | |
| # Amazon Linux 2023 (AL2023) - Based on Fedora, uses dnf as the package manager (replacing yum)- based runtimes ship with glibc 2.34. This includes newer Lambda runtimes like Python 3.12+, Node.js 20+, Java 21, .NET 8, Ruby 3.3, and the provided.al2023 custom runtime. AWS | |
| # Amazon Linux 2022 (AL2022) — released as a preview in November 2021 but never reached general availability. Later renamed to AL2023. | |
| # Amazon Linux 2 (AL2) - Based on a mix of RHEL 7 and Fedora (yum) - based runtimes ship with glibc 2.26. This covers older runtimes like Python 3.8–3.11, Node.js 16/18, Java 11/17, and provided.al2. AWS. introduced systemd as the init system | |
| # Amazon Linux 1 (AL1) - RHEL/CentOS 6 (Yum) - based runtimes had glibc 2.17, but these are deprecated. | |
| # Note that current AL2023 systems may actually be running a patched version like glibc-2.34-231.amzn2023.0.3, which backports transparent huge pages support from glibc 2.35, but the base version is still 2.34 | |
| import os | |
| import json | |
| import subprocess | |
| def lambda_handler(event, context): | |
| result = subprocess.run(["pip", "debug","--verbose"], capture_output=True, text=True) | |
| print(result.stdout) | |
| result = subprocess.run(["ldd", "--version"], capture_output=True, text=True) | |
| print(result.stdout) | |
| print(f"python_version: {sys.version}") | |
| print(f"python_short: cp{sys.version_info.major}{sys.version_info.minor}") | |
| print(f"architecture: {platform.machine()} # x86_64 or aarch64") | |
| print(f"glibc: {os.popen('ldd --version | head -1').read().strip()}") | |
| print("platform_tag:" + os.popen("python3 -c 'import sysconfig; print(sysconfig.get_platform())'").read().strip()) | |
| ================================================================================================================ | |
| Runtime, Python tag, glibc, manylinux tag accepted | |
| Python 3.9 (AL2), cp39, 2.26, manylinux_2_17, manylinux2014 | |
| Python 3.10 (AL2), cp310, 2.26, manylinux_2_17, manylinux2014 | |
| Python 3.11 (AL2), cp311, 2.26, manylinux_2_17, manylinux2014 | |
| Python 3.12 (AL2023), cp312, 2.34, manylinux_2_28, manylinux_2_17 | |
| Python 3.13 (AL2023), cp313, 2.34, manylinux_2_28, manylinux_2_17 | |
| #Python 3.14 (128 MB) | |
| 33-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_34_x86_64 | |
| py32-none-manylinux_2_33_x86_64 | |
| py32-none-manylinux_2_32_x86_64 | |
| py32-none-manylinux_2_31_x86_64 | |
| py32-none-manylinux_2_30_x86_64 | |
| py32-none-manylinux_2_29_x86_64 | |
| py32-none-manylinux_2_28_x86_64 | |
| py32-none-manylinux_2_27_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_34_x86_64 | |
| py31-none-manylinux_2_33_x86_64 | |
| py31-none-manylinux_2_32_x86_64 | |
| py31-none-manylinux_2_31_x86_64 | |
| py31-none-manylinux_2_30_x86_64 | |
| py31-none-manylinux_2_29_x86_64 | |
| py31-none-manylinux_2_28_x86_64 | |
| py31-none-manylinux_2_27_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_34_x86_64 | |
| py30-none-manylinux_2_33_x86_64 | |
| py30-none-manylinux_2_32_x86_64 | |
| py30-none-manylinux_2_31_x86_64 | |
| py30-none-manylinux_2_30_x86_64 | |
| py30-none-manylinux_2_29_x86_64 | |
| py30-none-manylinux_2_28_x86_64 | |
| py30-none-manylinux_2_27_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 | |
| cp314-none-any | |
| py314-none-any | |
| py3-none-any | |
| py313-none-any | |
| py312-none-any | |
| py311-none-any | |
| py310-none-any | |
| py39-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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment