setuptools 3.3–18.4 with parser setuptools 3.3–18.4 without parser2 setuptools 18.5–20.1.1 with parser setuptools 19.1–20.1.1 without parser2,3 packaging 16.1–16.5 (& setuptools 20.2–20.6.5) packaging 16.6 (& setuptools 20.6.6–20.9.0) packaging 16.7 (& setuptools 20.10.0–22.0.5 & pip 8.1.2) distlib 0.1.8–0.2.3 (& pip 6.0–8.1.1)
python_version
python_full_version
os_name
os.name1





sys_platform
sys.platform





platform_release




platform_system





platform_version
platform.version1





platform_machine
platform.machine1





platform_python_implementation
platform.python_implementation1





python_implementation1




implementation_name




implementation_version




extra

4 4 4
  1. These do not appear in PEP 508 as of writing. These are legacy markers supported by packaging for compatibility with old software.
  2. The "without parser" variants are essentially just used on Jython and IronPython.
  3. setuptools versions 18.5 through 19.0 do not work without parser.
  4. The extra marker is meant to be defined by what uses the markers; setuptools' APIs fails to parse it, though packaging can parse it but cannot evaluate whether the markers match.