ArchitecturesΒΆ
Each architecture represents a CPU instruction set, and is associated with:
a unique architecture ID
a human-readable name
an icon (emoji / unicode character)
various metadata in its
info()method
Architecture usageΒΆ
Each architecture is materialized by an Architecture object, from which you can access various metadata:
>>> from extra_platforms import X86_64
>>> X86_64
Architecture(id='x86_64', name='x86-64 (AMD64)')
>>> X86_64.id
'x86_64'
>>> X86_64.current
True
>>> X86_64.info()
{'id': 'x86_64', 'name': 'x86-64 (AMD64)', 'icon': 'π»', 'url': 'https://en.wikipedia.org/wiki/X86-64', 'current': True, 'machine': None, 'processor': None}
To check if the current architecture matches a specific architecture, use the corresponding detection function:
>>> from extra_platforms import is_x86_64
>>> is_x86_64()
True
The current architecture can be obtained via the current_architecture() function:
>>> from extra_platforms import current_architecture
>>> current_architecture()
Architecture(id='x86_64', name='x86-64 (AMD64)')
Recognized architecturesΒΆ
Icon |
Symbol |
Name |
Detection function |
|---|---|---|---|
π± |
ARM64 (AArch64) |
||
π± |
ARM (32-bit) |
||
π± |
ARMv5TE (little-endian) |
||
π± |
ARMv6 (little-endian) |
||
π± |
ARMv7 (little-endian) |
||
π± |
ARMv8 (32-bit, little-endian) |
||
πΆ |
Intel 80386 (i386) |
||
πΆ |
Intel Pentium (i586) |
||
πΆ |
Intel Pentium Pro (i686) |
||
π |
LoongArch (64-bit) |
||
π² |
MIPS (32-bit, big-endian) |
||
π² |
MIPS64 (big-endian) |
||
π² |
MIPS64 (little-endian) |
||
π² |
MIPS (32-bit, little-endian) |
||
β‘ |
PowerPC (32-bit) |
||
β‘ |
PowerPC 64-bit (big-endian) |
||
β‘ |
PowerPC 64-bit (little-endian) |
||
β € |
RISC-V (32-bit) |
||
β € |
RISC-V (64-bit) |
||
π’ |
IBM z/Architecture (s390x) |
||
βοΈ |
SPARC (32-bit) |
||
βοΈ |
SPARC (64-bit) |
||
π |
WebAssembly (32-bit) |
||
π |
WebAssembly (64-bit) |
||
π₯οΈ |
x86-64 (AMD64) |
Hint
The UNKNOWN_ARCHITECTURE trait represents an unrecognized
architecture. It is not included in the ALL_ARCHITECTURES group,
and will be returned by current_architecture() if the current
architecture is not recognized.
Groups of architecturesΒΆ
All architecture groupsΒΆ
Icon |
Symbol |
Description |
||
|---|---|---|---|---|
ποΈ |
All architectures |
|||
π± |
ARM architectures |
β¬₯ |
||
π² |
MIPS architectures |
β¬₯ |
||
βοΈ |
SPARC architectures |
β¬₯ |
||
Β³Β² |
32-bit architectures |
|||
βΆβ΄ |
64-bit architectures |
|||
β¬οΈ |
Big-endian architectures |
|||
π’ |
IBM mainframe |
β¬₯ |
||
β¬οΈ |
Little-endian architectures |
|||
π |
LoongArch |
β¬₯ |
||
β‘ |
PowerPC family |
β¬₯ |
||
β € |
RISC-V family |
β¬₯ |
||
π |
WebAssembly |
β¬₯ |
||
π |
x86 family |
β¬₯ |
Hint
Canonical groups are non-overlapping groups that together cover all recognized traits. They are marked with a β¬₯ icon in the table above.
Other groups are provided for convenience, but overlap with each other or with canonical groups.
Canonical groupsΒΆ
All recognized architectures are grouped in canonical families, with each architecture belonging to exactly one family.
Here are the non-overlapping families that encompass all recognized architectures, visualized as a Sankey diagram:
---
config:
sankey:
height: 800
showValues: false
width: 800
---
sankey-beta
ALL_ARCHITECTURES,ALL_ARM,6
ALL_ARCHITECTURES,X86,4
ALL_ARCHITECTURES,ALL_MIPS,4
ALL_ARCHITECTURES,POWERPC,3
ALL_ARCHITECTURES,WEBASSEMBLY,2
ALL_ARCHITECTURES,RISCV,2
ALL_ARCHITECTURES,ALL_SPARC,2
ALL_ARCHITECTURES,LOONGARCH,1
ALL_ARCHITECTURES,IBM_MAINFRAME,1
ALL_ARM,AARCH64,1
ALL_ARM,ARM,1
ALL_ARM,ARMV5TEL,1
ALL_ARM,ARMV6L,1
ALL_ARM,ARMV7L,1
ALL_ARM,ARMV8L,1
X86,I386,1
X86,I586,1
X86,I686,1
X86,X86_64,1
ALL_MIPS,MIPS,1
ALL_MIPS,MIPS64,1
ALL_MIPS,MIPS64EL,1
ALL_MIPS,MIPSEL,1
POWERPC,PPC,1
POWERPC,PPC64,1
POWERPC,PPC64LE,1
WEBASSEMBLY,WASM32,1
WEBASSEMBLY,WASM64,1
RISCV,RISCV32,1
RISCV,RISCV64,1
ALL_SPARC,SPARC,1
ALL_SPARC,SPARC64,1
LOONGARCH,LOONGARCH64,1
IBM_MAINFRAME,S390X,1
And the same families visualized as a mindmap:
---
config:
mindmap:
padding: 5
---
mindmap
((ποΈ ALL_ARCHITECTURES))
)π
X86(
(πΆ I386)
(πΆ I586)
(πΆ I686)
(π₯οΈ X86_64)
)π WEBASSEMBLY(
(π WASM32)
(π WASM64)
)β
€ RISCV(
(β
€ RISCV32)
(β
€ RISCV64)
)β‘ POWERPC(
(β‘ PPC)
(β‘ PPC64)
(β‘ PPC64LE)
)π LOONGARCH(
(π LOONGARCH64)
)π’ IBM_MAINFRAME(
(π’ S390X)
)βοΈ ALL_SPARC(
(βοΈ SPARC)
(βοΈ SPARC64)
)π² ALL_MIPS(
(π² MIPS)
(π² MIPS64)
(π² MIPS64EL)
(π² MIPSEL)
)π± ALL_ARM(
(π± AARCH64)
(π± ARM)
(π± ARMV5TEL)
(π± ARMV6L)
(π± ARMV7L)
(π± ARMV8L)
Bitness groupsΒΆ
Architectures are also grouped by bitness (32-bit vs 64-bit), visualized as a Sankey diagram:
---
config:
sankey:
height: 800
showValues: false
width: 800
---
sankey-beta
ALL_ARCHITECTURES,ARCH_32_BIT,14
ALL_ARCHITECTURES,ARCH_64_BIT,11
ARCH_32_BIT,ARM,1
ARCH_32_BIT,ARMV5TEL,1
ARCH_32_BIT,ARMV6L,1
ARCH_32_BIT,ARMV7L,1
ARCH_32_BIT,ARMV8L,1
ARCH_32_BIT,I386,1
ARCH_32_BIT,I586,1
ARCH_32_BIT,I686,1
ARCH_32_BIT,MIPS,1
ARCH_32_BIT,MIPSEL,1
ARCH_32_BIT,PPC,1
ARCH_32_BIT,RISCV32,1
ARCH_32_BIT,SPARC,1
ARCH_32_BIT,WASM32,1
ARCH_64_BIT,AARCH64,1
ARCH_64_BIT,LOONGARCH64,1
ARCH_64_BIT,MIPS64,1
ARCH_64_BIT,MIPS64EL,1
ARCH_64_BIT,PPC64,1
ARCH_64_BIT,PPC64LE,1
ARCH_64_BIT,RISCV64,1
ARCH_64_BIT,S390X,1
ARCH_64_BIT,SPARC64,1
ARCH_64_BIT,WASM64,1
ARCH_64_BIT,X86_64,1
And the same bitness groups visualized as a mindmap:
---
config:
mindmap:
padding: 5
---
mindmap
((ποΈ ALL_ARCHITECTURES))
)βΆβ΄ ARCH_64_BIT(
(π± AARCH64)
(π LOONGARCH64)
(π² MIPS64)
(π² MIPS64EL)
(β‘ PPC64)
(β‘ PPC64LE)
(β
€ RISCV64)
(π’ S390X)
(βοΈ SPARC64)
(π WASM64)
(π₯οΈ X86_64)
)Β³Β² ARCH_32_BIT(
(π± ARM)
(π± ARMV5TEL)
(π± ARMV6L)
(π± ARMV7L)
(π± ARMV8L)
(πΆ I386)
(πΆ I586)
(πΆ I686)
(π² MIPS)
(π² MIPSEL)
(β‘ PPC)
(β
€ RISCV32)
(βοΈ SPARC)
(π WASM32)
Endianness groupsΒΆ
Architectures are also grouped by endianness (big-endian vs little-endian), visualized as a Sankey diagram:
---
config:
sankey:
height: 800
showValues: false
width: 800
---
sankey-beta
ALL_ARCHITECTURES,LITTLE_ENDIAN,18
ALL_ARCHITECTURES,BIG_ENDIAN,7
LITTLE_ENDIAN,AARCH64,1
LITTLE_ENDIAN,ARM,1
LITTLE_ENDIAN,ARMV5TEL,1
LITTLE_ENDIAN,ARMV6L,1
LITTLE_ENDIAN,ARMV7L,1
LITTLE_ENDIAN,ARMV8L,1
LITTLE_ENDIAN,I386,1
LITTLE_ENDIAN,I586,1
LITTLE_ENDIAN,I686,1
LITTLE_ENDIAN,LOONGARCH64,1
LITTLE_ENDIAN,MIPS64EL,1
LITTLE_ENDIAN,MIPSEL,1
LITTLE_ENDIAN,PPC64LE,1
LITTLE_ENDIAN,RISCV32,1
LITTLE_ENDIAN,RISCV64,1
LITTLE_ENDIAN,WASM32,1
LITTLE_ENDIAN,WASM64,1
LITTLE_ENDIAN,X86_64,1
BIG_ENDIAN,MIPS,1
BIG_ENDIAN,MIPS64,1
BIG_ENDIAN,PPC,1
BIG_ENDIAN,PPC64,1
BIG_ENDIAN,S390X,1
BIG_ENDIAN,SPARC,1
BIG_ENDIAN,SPARC64,1
And the same endianness groups visualized as a mindmap:
---
config:
mindmap:
padding: 5
---
mindmap
((ποΈ ALL_ARCHITECTURES))
)β¬οΈ LITTLE_ENDIAN(
(π± AARCH64)
(π± ARM)
(π± ARMV5TEL)
(π± ARMV6L)
(π± ARMV7L)
(π± ARMV8L)
(πΆ I386)
(πΆ I586)
(πΆ I686)
(π LOONGARCH64)
(π² MIPS64EL)
(π² MIPSEL)
(β‘ PPC64LE)
(β
€ RISCV32)
(β
€ RISCV64)
(π WASM32)
(π WASM64)
(π₯οΈ X86_64)
)β¬οΈ BIG_ENDIAN(
(π² MIPS)
(π² MIPS64)
(β‘ PPC)
(β‘ PPC64)
(π’ S390X)
(βοΈ SPARC)
(βοΈ SPARC64)
Predefined architecturesΒΆ
Architecture definitions and metadata.
Hint
Architectureβs canonical IDs are inspired by those used in the auditwheel project to encode the manylinux policies.
See also
Architecture variants from Rustβs target-lexicon.
Todo
Add mapping of architecture to manylinux Python targets? As per:
- extra_platforms.architecture_data.AARCH64 = Architecture(id='aarch64', name='ARM64 (AArch64)')
Hint
Although
aarch64is the canonical ID for this architecture, some platforms may use the aliasarm64instead (e.g., macOS on Apple Silicon).
- extra_platforms.architecture_data.ARMV5TEL = Architecture(id='armv5tel', name='ARMv5TE (little-endian)')
Hint
ARMv5TE includes Thumb and DSP extensions. This architecture is found on older ARM devices and may appear in embedded systems or legacy platforms.
- extra_platforms.architecture_data.X86_64 = Architecture(id='x86_64', name='x86-64 (AMD64)')
Hint
Although
x86_64is the canonical ID for this architecture, some platforms may use the aliasamd64instead (e.g., Windows on x86-64).
- extra_platforms.AARCH64 = Architecture(id='aarch64', name='ARM64 (AArch64)')ΒΆ
Hint
Although
aarch64is the canonical ID for this architecture, some platforms may use the aliasarm64instead (e.g., macOS on Apple Silicon).ID:
aarch64Aliases:
arm64Name: ARM64 (AArch64)
Icon: π±
Reference: <https://en.wikipedia.org/wiki/AArch64>_
Detection function:
is_aarch64()Pytest decorators:
@skip_aarch64/@unless_aarch64Groups (5):
ALL_ARCHITECTURES,ALL_ARMβ¬₯,ALL_TRAITS,ARCH_64_BIT,LITTLE_ENDIAN
- extra_platforms.ARM = Architecture(id='arm', name='ARM (32-bit)')ΒΆ
ID:
armAliases: -
Name: ARM (32-bit)
Icon: π±
Reference: <https://en.wikipedia.org/wiki/ARM_architecture_family>_
Detection function:
is_arm()Pytest decorators:
@skip_arm/@unless_armGroups (5):
ALL_ARCHITECTURES,ALL_ARMβ¬₯,ALL_TRAITS,ARCH_32_BIT,LITTLE_ENDIAN
- extra_platforms.ARMV5TEL = Architecture(id='armv5tel', name='ARMv5TE (little-endian)')ΒΆ
Hint
ARMv5TE includes Thumb and DSP extensions. This architecture is found on older ARM devices and may appear in embedded systems or legacy platforms.
ID:
armv5telAliases: -
Name: ARMv5TE (little-endian)
Icon: π±
Reference: <https://en.wikipedia.org/wiki/ARM11>_
Detection function:
is_armv5tel()Pytest decorators:
@skip_armv5tel/@unless_armv5telGroups (5):
ALL_ARCHITECTURES,ALL_ARMβ¬₯,ALL_TRAITS,ARCH_32_BIT,LITTLE_ENDIAN
- extra_platforms.ARMV6L = Architecture(id='armv6l', name='ARMv6 (little-endian)')ΒΆ
ID:
armv6lAliases: -
Name: ARMv6 (little-endian)
Icon: π±
Reference: <https://en.wikipedia.org/wiki/ARM11>_
Detection function:
is_armv6l()Pytest decorators:
@skip_armv6l/@unless_armv6lGroups (5):
ALL_ARCHITECTURES,ALL_ARMβ¬₯,ALL_TRAITS,ARCH_32_BIT,LITTLE_ENDIAN
- extra_platforms.ARMV7L = Architecture(id='armv7l', name='ARMv7 (little-endian)')ΒΆ
ID:
armv7lAliases:
armhf,armv7Name: ARMv7 (little-endian)
Icon: π±
Reference: <https://en.wikipedia.org/wiki/ARM_Cortex-A>_
Detection function:
is_armv7l()Pytest decorators:
@skip_armv7l/@unless_armv7lGroups (5):
ALL_ARCHITECTURES,ALL_ARMβ¬₯,ALL_TRAITS,ARCH_32_BIT,LITTLE_ENDIAN
- extra_platforms.ARMV8L = Architecture(id='armv8l', name='ARMv8 (32-bit, little-endian)')ΒΆ
ID:
armv8lAliases: -
Name: ARMv8 (32-bit, little-endian)
Icon: π±
Reference: <https://en.wikipedia.org/wiki/ARM_Cortex-A>_
Detection function:
is_armv8l()Pytest decorators:
@skip_armv8l/@unless_armv8lGroups (5):
ALL_ARCHITECTURES,ALL_ARMβ¬₯,ALL_TRAITS,ARCH_32_BIT,LITTLE_ENDIAN
- extra_platforms.I386 = Architecture(id='i386', name='Intel 80386 (i386)')ΒΆ
ID:
i386Aliases:
i486Name: Intel 80386 (i386)
Icon: πΆ
Reference: <https://en.wikipedia.org/wiki/Intel_80386>_
Detection function:
is_i386()Pytest decorators:
@skip_i386/@unless_i386Groups (5):
ALL_ARCHITECTURES,ALL_TRAITS,ARCH_32_BIT,LITTLE_ENDIAN,X86β¬₯
- extra_platforms.I586 = Architecture(id='i586', name='Intel Pentium (i586)')ΒΆ
ID:
i586Aliases: -
Name: Intel Pentium (i586)
Icon: πΆ
Reference: <https://en.wikipedia.org/wiki/P5_(microarchitecture)>_
Detection function:
is_i586()Pytest decorators:
@skip_i586/@unless_i586Groups (5):
ALL_ARCHITECTURES,ALL_TRAITS,ARCH_32_BIT,LITTLE_ENDIAN,X86β¬₯
- extra_platforms.I686 = Architecture(id='i686', name='Intel Pentium Pro (i686)')ΒΆ
ID:
i686Aliases: -
Name: Intel Pentium Pro (i686)
Icon: πΆ
Reference: <https://en.wikipedia.org/wiki/P6_(microarchitecture)>_
Detection function:
is_i686()Pytest decorators:
@skip_i686/@unless_i686Groups (5):
ALL_ARCHITECTURES,ALL_TRAITS,ARCH_32_BIT,LITTLE_ENDIAN,X86β¬₯
- extra_platforms.LOONGARCH64 = Architecture(id='loongarch64', name='LoongArch (64-bit)')ΒΆ
ID:
loongarch64Aliases: -
Name: LoongArch (64-bit)
Icon: π
Reference: <https://en.wikipedia.org/wiki/Loongson#LoongArch>_
Detection function:
is_loongarch64()Pytest decorators:
@skip_loongarch64/@unless_loongarch64Groups (5):
ALL_ARCHITECTURES,ALL_TRAITS,ARCH_64_BIT,LITTLE_ENDIAN,LOONGARCHβ¬₯
- extra_platforms.MIPS = Architecture(id='mips', name='MIPS (32-bit, big-endian)')ΒΆ
ID:
mipsAliases: -
Name: MIPS (32-bit, big-endian)
Icon: π²
Reference: <https://en.wikipedia.org/wiki/MIPS_architecture>_
Detection function:
is_mips()Pytest decorators:
@skip_mips/@unless_mipsGroups (5):
ALL_ARCHITECTURES,ALL_MIPSβ¬₯,ALL_TRAITS,ARCH_32_BIT,BIG_ENDIAN
- extra_platforms.MIPS64 = Architecture(id='mips64', name='MIPS64 (big-endian)')ΒΆ
ID:
mips64Aliases: -
Name: MIPS64 (big-endian)
Icon: π²
Reference: <https://en.wikipedia.org/wiki/MIPS_architecture>_
Detection function:
is_mips64()Pytest decorators:
@skip_mips64/@unless_mips64Groups (5):
ALL_ARCHITECTURES,ALL_MIPSβ¬₯,ALL_TRAITS,ARCH_64_BIT,BIG_ENDIAN
- extra_platforms.MIPS64EL = Architecture(id='mips64el', name='MIPS64 (little-endian)')ΒΆ
ID:
mips64elAliases: -
Name: MIPS64 (little-endian)
Icon: π²
Reference: <https://en.wikipedia.org/wiki/MIPS_architecture>_
Detection function:
is_mips64el()Pytest decorators:
@skip_mips64el/@unless_mips64elGroups (5):
ALL_ARCHITECTURES,ALL_MIPSβ¬₯,ALL_TRAITS,ARCH_64_BIT,LITTLE_ENDIAN
- extra_platforms.MIPSEL = Architecture(id='mipsel', name='MIPS (32-bit, little-endian)')ΒΆ
ID:
mipselAliases: -
Name: MIPS (32-bit, little-endian)
Icon: π²
Reference: <https://en.wikipedia.org/wiki/MIPS_architecture>_
Detection function:
is_mipsel()Pytest decorators:
@skip_mipsel/@unless_mipselGroups (5):
ALL_ARCHITECTURES,ALL_MIPSβ¬₯,ALL_TRAITS,ARCH_32_BIT,LITTLE_ENDIAN
- extra_platforms.PPC = Architecture(id='ppc', name='PowerPC (32-bit)')ΒΆ
ID:
ppcAliases: -
Name: PowerPC (32-bit)
Icon: β‘
Reference: <https://en.wikipedia.org/wiki/PowerPC>_
Detection function:
is_ppc()Pytest decorators:
@skip_ppc/@unless_ppcGroups (5):
ALL_ARCHITECTURES,ALL_TRAITS,ARCH_32_BIT,BIG_ENDIAN,POWERPCβ¬₯
- extra_platforms.PPC64 = Architecture(id='ppc64', name='PowerPC 64-bit (big-endian)')ΒΆ
ID:
ppc64Aliases: -
Name: PowerPC 64-bit (big-endian)
Icon: β‘
Reference: <https://en.wikipedia.org/wiki/Ppc64>_
Detection function:
is_ppc64()Pytest decorators:
@skip_ppc64/@unless_ppc64Groups (5):
ALL_ARCHITECTURES,ALL_TRAITS,ARCH_64_BIT,BIG_ENDIAN,POWERPCβ¬₯
- extra_platforms.PPC64LE = Architecture(id='ppc64le', name='PowerPC 64-bit (little-endian)')ΒΆ
ID:
ppc64leAliases:
powerpc64le,ppc64elName: PowerPC 64-bit (little-endian)
Icon: β‘
Reference: <https://en.wikipedia.org/wiki/Ppc64>_
Detection function:
is_ppc64le()Pytest decorators:
@skip_ppc64le/@unless_ppc64leGroups (5):
ALL_ARCHITECTURES,ALL_TRAITS,ARCH_64_BIT,LITTLE_ENDIAN,POWERPCβ¬₯
- extra_platforms.RISCV32 = Architecture(id='riscv32', name='RISC-V (32-bit)')ΒΆ
ID:
riscv32Aliases: -
Name: RISC-V (32-bit)
Icon: β €
Reference: <https://en.wikipedia.org/wiki/RISC-V>_
Detection function:
is_riscv32()Pytest decorators:
@skip_riscv32/@unless_riscv32Groups (5):
ALL_ARCHITECTURES,ALL_TRAITS,ARCH_32_BIT,LITTLE_ENDIAN,RISCVβ¬₯
- extra_platforms.RISCV64 = Architecture(id='riscv64', name='RISC-V (64-bit)')ΒΆ
ID:
riscv64Aliases: -
Name: RISC-V (64-bit)
Icon: β €
Reference: <https://en.wikipedia.org/wiki/RISC-V>_
Detection function:
is_riscv64()Pytest decorators:
@skip_riscv64/@unless_riscv64Groups (5):
ALL_ARCHITECTURES,ALL_TRAITS,ARCH_64_BIT,LITTLE_ENDIAN,RISCVβ¬₯
- extra_platforms.S390X = Architecture(id='s390x', name='IBM z/Architecture (s390x)')ΒΆ
ID:
s390xAliases: -
Name: IBM z/Architecture (s390x)
Icon: π’
Reference: <https://en.wikipedia.org/wiki/Z/Architecture>_
Detection function:
is_s390x()Pytest decorators:
@skip_s390x/@unless_s390xGroups (5):
ALL_ARCHITECTURES,ALL_TRAITS,ARCH_64_BIT,BIG_ENDIAN,IBM_MAINFRAMEβ¬₯
- extra_platforms.SPARC = Architecture(id='sparc', name='SPARC (32-bit)')ΒΆ
ID:
sparcAliases: -
Name: SPARC (32-bit)
Icon: βοΈ
Reference: <https://en.wikipedia.org/wiki/SPARC>_
Detection function:
is_sparc()Pytest decorators:
@skip_sparc/@unless_sparcGroups (5):
ALL_ARCHITECTURES,ALL_SPARCβ¬₯,ALL_TRAITS,ARCH_32_BIT,BIG_ENDIAN
- extra_platforms.SPARC64 = Architecture(id='sparc64', name='SPARC (64-bit)')ΒΆ
ID:
sparc64Aliases: -
Name: SPARC (64-bit)
Icon: βοΈ
Reference: <https://en.wikipedia.org/wiki/SPARC>_
Detection function:
is_sparc64()Pytest decorators:
@skip_sparc64/@unless_sparc64Groups (5):
ALL_ARCHITECTURES,ALL_SPARCβ¬₯,ALL_TRAITS,ARCH_64_BIT,BIG_ENDIAN
- extra_platforms.UNKNOWN_ARCHITECTURE = Architecture(id='unknown_architecture', name='Unknown architecture')ΒΆ
ID:
unknown_architectureAliases: -
Name: Unknown architecture
Icon: β
Reference: <https://en.wikipedia.org/wiki/Instruction_set_architecture>_
Detection function:
is_unknown_architecture()Pytest decorators:
@skip_unknown_architecture/@unless_unknown_architectureGroups (2):
ALL_TRAITS,UNKNOWNβ¬₯
- extra_platforms.WASM32 = Architecture(id='wasm32', name='WebAssembly (32-bit)')ΒΆ
ID:
wasm32Aliases: -
Name: WebAssembly (32-bit)
Icon: π
Reference: <https://en.wikipedia.org/wiki/WebAssembly>_
Detection function:
is_wasm32()Pytest decorators:
@skip_wasm32/@unless_wasm32Groups (5):
ALL_ARCHITECTURES,ALL_TRAITS,ARCH_32_BIT,LITTLE_ENDIAN,WEBASSEMBLYβ¬₯
- extra_platforms.WASM64 = Architecture(id='wasm64', name='WebAssembly (64-bit)')ΒΆ
ID:
wasm64Aliases: -
Name: WebAssembly (64-bit)
Icon: π
Reference: <https://en.wikipedia.org/wiki/WebAssembly>_
Detection function:
is_wasm64()Pytest decorators:
@skip_wasm64/@unless_wasm64Groups (5):
ALL_ARCHITECTURES,ALL_TRAITS,ARCH_64_BIT,LITTLE_ENDIAN,WEBASSEMBLYβ¬₯
- extra_platforms.X86_64 = Architecture(id='x86_64', name='x86-64 (AMD64)')ΒΆ
Hint
Although
x86_64is the canonical ID for this architecture, some platforms may use the aliasamd64instead (e.g., Windows on x86-64).ID:
x86_64Aliases:
amd64Name: x86-64 (AMD64)
Icon: π₯οΈ
Reference: <https://en.wikipedia.org/wiki/X86-64>_
Detection function:
is_x86_64()Pytest decorators:
@skip_x86_64/@unless_x86_64Groups (5):
ALL_ARCHITECTURES,ALL_TRAITS,ARCH_64_BIT,LITTLE_ENDIAN,X86β¬₯