import json
import platform
import struct
import sys
import sysconfig
if platform.python_implementation() == "PyPy":
import importlib.machinery
ext_suffix = importlib.machinery.EXTENSION_SUFFIXES[0]
else:
ext_suffix = sysconfig.get_config_var("EXT_SUFFIX")
metadata = {
"implementation_name": sys.implementation.name,
"executable": sys.executable or None,
"major": sys.version_info.major,
"minor": sys.version_info.minor,
"abiflags": sysconfig.get_config_var("ABIFLAGS"),
"interpreter": platform.python_implementation().lower(),
"ext_suffix": ext_suffix,
"soabi": sysconfig.get_config_var("SOABI") or None,
"platform": sysconfig.get_platform(),
"system": platform.system().lower(),
"pointer_width": struct.calcsize("P") * 8,
"gil_disabled": sysconfig.get_config_var("Py_GIL_DISABLED") == 1,
}
print(json.dumps(metadata))