Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does the 'm' in a Python ABI tag mean?

Tags:

python

abi

PEP 425 explains the compatibility tag format for built python distributions, but does not explain the ABI tag in full detail.

The ABI tag can end with a combination of the letters 'd', 'm', and 'u'. As an example, it is explained within the PEP that the 'd' means an ABI with debugging, and this answer explains that the 'u' denotes an interpreter compiled with --enable-unicode=ucs4, but I could not find the meaning of the 'm' anywhere.

like image 867
Rörd Avatar asked Jan 08 '19 17:01

Rörd


1 Answers

Per PEP 3149, m indicates that the ABI in question is using the pymalloc allocator:

Python implementations MAY include additional flags in the file name tag as appropriate. For example, on POSIX systems these flags will also contribute to the file name:

  • --with-pydebug (flag: d)
  • --with-pymalloc (flag: m)
  • --with-wide-unicode (flag: u)
like image 196
ShadowRanger Avatar answered Nov 01 '22 23:11

ShadowRanger