python-poetry / python-poetry/poetry

Poetry generates contradictory package markers when locking transitive dependencies with mutually exclusive dependency variants when using sys_platform

Open
#10,989 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/bug status/triage
Dominant language
Python
Stars
34.3k
Forks
2.5k
Avg merge
2d 19h
Merged PRs (30d)
30

Description

Description

Dear Poetry team,

I found the following issue. Let me know if you need additional information.

Description

Poetry generates an invalid package marker in poetry.lock when the same dependency is declared multiple times with mutually exclusive environment markers and one variant has transitive dependencies that are not available for the other variant.

In this case, torch is declared with different variants for non-macOS and macOS environments:

torch = [
    { version = "^2.6.0+cpu", source = "pytorch_cpu", markers = "sys_platform != 'darwin'" },
    { version = "^2.6.0", markers = "sys_platform == 'darwin'" }
]

And torchvision is declared in an equal way:

torchvision = [
    { version = "0.21.0+cpu", source = "pytorch_cpu", markers = "sys_platform != 'darwin'" },
    { version = "^0.21.0", markers = "sys_platform == 'darwin'" }
]

The issue also happens without torchvision. The difference will be, that

The resolver correctly identifies the two dependency branches separately. However, the generated poetry.lock contains an invalid marker for the transitive dependency triton.

Same behavior happens when sys_platform is explicitly set to linux:

torchvision = [
    { version = "0.21.0+cpu", source = "pytorch_cpu", markers = "sys_platform == 'linux'" },
    { version = "^0.21.0", markers = "sys_platform == 'darwin'" }
]

I could work around the issue, by replacing sys_platform with platform_system which shows the expected behavior.

Expected behavior

Poetry should preserve the dependency marker context correctly.

The triton dependency of the non-CPU torch package should remain scoped to the corresponding dependency branch:

triton = { version = "3.2.0", markers = "platform_system == "Linux" and platform_machine == "x86_64"" }

The lock file should not create a standalone package marker that combines mutually exclusive parent and dependency markers.

Actual behavior

The poetry.lock file contains:

[[package]]
name = "triton"
version = "3.2.0"
description = "A language and compiler for custom Deep Learning operations"
optional = false
python-versions = "*"
groups = ["main"]
markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\" and sys_platform == \"darwin\""

This marker can never evaluate to True, because:

platform_system == "Linux"

and

sys_platform == "darwin"

are mutually exclusive.

The same invalid marker is then propagated to exported requirements files generated with the export plugin:

triton==3.2.0 ; platform_system == "Linux" and platform_machine == "x86_64" and sys_platform == "darwin" and python_version == "3.12"

Resolver output

Running:

poetry lock -vvv

shows that Poetry resolves the two branches separately:

Resolved with overrides:
({Package('poetry-bug', '0.1.0'): {'torch': <Dependency torch (>=2.6.0+cpu,<3.0.0)>}})

Resolved with overrides:
({Package('poetry-bug', '0.1.0'): {'torch': <Dependency torch (>=2.6.0,<3.0.0)>}})

For the non-CPU branch, the resolver correctly finds:

torch (2.6.0) depends on triton (3.2.0)

and the dependency marker remains correct:

triton = {version = "3.2.0", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""}
The incorrect marker appears when the resolved branches are merged into the final lock file.

Environment

Poetry:
Poetry (version 2.4.1)

Plugins:
poetry-plugin-export (1.10.0)
poetry-plugin-migrate (0.1.1)

Export command used:
poetry export --all-groups --format requirements.txt --without-hashes -o requirements.txt

Additional information

triton is not a direct dependency. It is introduced transitively by torch.
The issue is reproducible after deleting poetry.lock and regenerating it.
The problematic marker is already present in poetry.lock; poetry export only propagates it.
The issue appears to occur during lock file generation/merging of resolver override results rather than during export.

Minimal reproduction

A pyproject.toml containing:

[project]
name = "poetry-issue"
version = "0.1.0"
requires-python = ">=3.12"

[[tool.poetry.source]]
name = "pytorch_cpu"
url = "https://download.pytorch.org/whl/cpu"
priority = "explicit"

[tool.poetry.dependencies]
python = ">=3.12,<3.13"
torch = [
    { version = "^2.6.0+cpu", source = "pytorch_cpu", markers = "sys_platform == 'linux'" },
    { version = "^2.6.0", markers = "sys_platform == 'darwin'" }
]
torchvision = [
    { version = "0.21.0+cpu", source = "pytorch_cpu", markers = "sys_platform == 'linux'" },
    { version = "^0.21.0", markers = "sys_platform == 'darwin'" }
]

is sufficient to reproduce the issue (torchvision can be left out).

Workarounds

I could work around the issue, by replacing sys_platform with platform_system which shows the expected behavior.

Poetry Installation Method

pipx

Operating System

Ubuntu 22.04 LTS

Poetry Version

2.4.1

Poetry Configuration
cache-dir = "/home/<user>/.cache/pypoetry"
data-dir = "/home/<user>/.local/share/pypoetry"
installer.max-workers = null
installer.no-binary = null
installer.only-binary = null
installer.parallel = true
installer.re-resolve = false
keyring.enabled = true
python.installation-dir = "{data-dir}/python"  # /home/<user>/.local/share/pypoetry/python
repositories.gitlab-pypi.url = "https://gitlab.ourcompanyname.de/api/v4/projects/100/packages/pypi/simple"
repositories.pytorch_cpu.url = "https://download.pytorch.org/whl/cpu"
requests.max-retries = 0
solver.lazy-wheel = true
solver.min-release-age = 0
solver.min-release-age-exclude = null
solver.min-release-age-exclude-source = null
system-git-client = false
virtualenvs.create = true
virtualenvs.in-project = true
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}/virtualenvs"  # /home/<user>/.cache/pypoetry/virtualenvs
virtualenvs.prompt = "{project_name}-py{python_version}"
virtualenvs.use-poetry-python = false
Python Sysconfig
sysconfig.log
Platform: "linux-x86_64"
Python version: "3.12"
Current installation scheme: "venv"

Paths: 
      data = "/home/<user>/code/project-name/.venv"
      include = "/usr/include/python3.12"
      platinclude = "/usr/include/python3.12"
      platlib = "/home/<user>/code/project-name/.venv/lib/python3.12/site-packages"
      platstdlib = "/home/<user>/code/project-name/.venv/lib/python3.12"
      purelib = "/home/<user>/code/project-name/.venv/lib/python3.12/site-packages"
      scripts = "/home/<user>/code/project-name/.venv/bin"
      stdlib = "/usr/lib/python3.12"

Variables: 
      ABIFLAGS = ""
      AC_APPLE_UNIVERSAL_BUILD = "0"
      AIX_BUILDDATE = "0"
      AIX_GENUINE_CPLUSPLUS = "0"
      ALIGNOF_LONG = "8"
      ALIGNOF_MAX_ALIGN_T = "16"
      ALIGNOF_SIZE_T = "8"
      ALT_SOABI = "0"
      ANDROID_API_LEVEL = "0"
      AR = "x86_64-linux-gnu-gcc-ar"
      ARFLAGS = "rcs"
      BASECFLAGS = "-fno-strict-overflow -Wsign-compare"
      BASECPPFLAGS = "-IObjects -IInclude -IPython"
      BASEMODLIBS = ""
      BINDIR = "/usr/bin"
      BINLIBDEST = "/usr/lib/x86_64-linux-gnu/python3.12"
      BLDLIBRARY = "-lpython3.12"
      BLDSHARED = "x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
      BOOTSTRAP_HEADERS = "\"
      BUILDEXE = ""
      BUILDPYTHON = "python"
      BUILD_GNU_TYPE = "x86_64-pc-linux-gnu"
      BUILD_SCRIPTS_DIR = "build/scripts-3.12"
      BYTESTR_DEPS = "\"
      CC = "x86_64-linux-gnu-gcc"
      CCSHARED = "-fPIC"
      CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g       -fstack-protector-strong -Wformat -Werror=format-security  -g -fwrapv -O2   "
      CFLAGSFORSHARED = "-fPIC"
      CFLAGS_ALIASING = ""
      CFLAGS_NODIST = ""
      CODECS_COMMON_HEADERS = "../Modules/cjkcodecs/multibytecodec.h ../Modules/cjkcodecs/cjkcodecs.h"
      COMPILEALL_OPTS = "-j0"
      CONFIGFILES = "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
      CONFIGURE_CFLAGS = "-g       -fstack-protector-strong -Wformat -Werror=format-security"
      CONFIGURE_CFLAGS_NODIST = "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden"
      CONFIGURE_CPPFLAGS = "-Wdate-time -D_FORTIFY_SOURCE=2"
      CONFIGURE_LDFLAGS = "-Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
      CONFIGURE_LDFLAGS_NODIST = ""
      CONFIGURE_LDFLAGS_NOLTO = ""
      CONFIG_ARGS = "'--enable-shared' '--prefix=/usr' '--libdir=/usr/lib/x86_64-linux-gnu' '--enable-ipv6' '--enable-loadable-sqlite-extensions' '--with-dbmliborder=bdb:gdbm' '--with-computed-gotos' '--without-ensurepip' '--with-system-expat' 'MKDIR_P=/bin/mkdir -p' 'CC=x86_64-linux-gnu-gcc' 'CFLAGS=-g       -fstack-protector-strong -Wformat -Werror=format-security ' 'LDFLAGS=-Wl,-Bsymbolic-functions      -g -fwrapv -O2   ' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'"
      CONFINCLUDEDIR = "/usr/include"
      CONFINCLUDEPY = "/usr/include/python3.12"
      COREPYTHONPATH = ""
      COVERAGE_INFO = "/build/python3.12-pOdM36/python3.12-3.12.13/build-shared/coverage.info"
      COVERAGE_LCOV_OPTIONS = "--rc lcov_branch_coverage=1"
      COVERAGE_REPORT = "/build/python3.12-pOdM36/python3.12-3.12.13/build-shared/lcov-report"
      COVERAGE_REPORT_OPTIONS = "--rc lcov_branch_coverage=1 --branch-coverage --title "CPython 3.12 LCOV report [commit $(shell )]""
      CPPFLAGS = "-IObjects -IInclude -IPython -I. -I../Include -Wdate-time -D_FORTIFY_SOURCE=2"
      CXX = "x86_64-linux-gnu-g++"
      DEEPFREEZE_C = "Python/deepfreeze/deepfreeze.c"
      DEEPFREEZE_DEPS = "../Tools/build/deepfreeze.py _bootstrap_python ../Programs/_freeze_module.py \"
      DEEPFREEZE_OBJS = "Python/deepfreeze/deepfreeze.o"
      DESTDIRS = "/usr /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/python3.12 /usr/lib/python3.12/lib-dynload"
      DESTLIB = "/usr/lib/python3.12"
      DESTPATH = ""
      DESTSHARED = "/usr/lib/python3.12/lib-dynload"
      DFLAGS = ""
      DIRMODE = "755"
      DIST = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy"
      DISTDIRS = "Include Lib Misc Ext-dummy"
      DISTFILES = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
      DLINCLDIR = "."
      DLLLIBRARY = ""
      DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 = "0"
      DOUBLE_IS_BIG_ENDIAN_IEEE754 = "0"
      DOUBLE_IS_LITTLE_ENDIAN_IEEE754 = "1"
      DSYMUTIL = ""
      DSYMUTIL_PATH = ""
      DTRACE = ""
      DTRACE_DEPS = "\"
      DTRACE_HEADERS = ""
      DTRACE_OBJS = ""
      DYNLOADFILE = "dynload_shlib.o"
      ENABLE_IPV6 = "1"
      ENSUREPIP = "no"
      EXE = ""
      EXEMODE = "755"
      EXENAME = "/usr/bin/python3.12"
      EXPORTSFROM = ""
      EXPORTSYMS = ""
      EXTRATESTOPTS = ""
      EXT_SUFFIX = ".cpython-312-x86_64-linux-gnu.so"
      FILEMODE = "644"
      FREEZE_MODULE = "./_bootstrap_python ../Programs/_freeze_module.py"
      FREEZE_MODULE_BOOTSTRAP = "./Programs/_freeze_module"
      FREEZE_MODULE_BOOTSTRAP_DEPS = "Programs/_freeze_module"
      FREEZE_MODULE_DEPS = "_bootstrap_python ../Programs/_freeze_module.py"
      FROZEN_FILES_IN = "\"
      FROZEN_FILES_OUT = "\"
      GETPGRP_HAVE_ARG = "0"
      GITBRANCH = ""
      GITTAG = ""
      GITVERSION = ""
      GNULD = "yes"
      HAVE_ACCEPT = "1"
      HAVE_ACCEPT4 = "1"
      HAVE_ACOSH = "1"
      HAVE_ADDRINFO = "1"
      HAVE_ALARM = "1"
      HAVE_ALIGNED_REQUIRED = "0"
      HAVE_ALLOCA_H = "1"
      HAVE_ALTZONE = "0"
      HAVE_ASINH = "1"
      HAVE_ASM_TYPES_H = "1"
      HAVE_ATANH = "1"
      HAVE_BIND = "1"
      HAVE_BIND_TEXTDOMAIN_CODESET = "1"
      HAVE_BLUETOOTH_BLUETOOTH_H = "1"
      HAVE_BLUETOOTH_H = "0"
      HAVE_BROKEN_MBSTOWCS = "0"
      HAVE_BROKEN_NICE = "0"
      HAVE_BROKEN_PIPE_BUF = "0"
      HAVE_BROKEN_POLL = "0"
      HAVE_BROKEN_POSIX_SEMAPHORES = "0"
      HAVE_BROKEN_PTHREAD_SIGMASK = "0"
      HAVE_BROKEN_SEM_GETVALUE = "0"
      HAVE_BROKEN_UNSETENV = "0"
      HAVE_BUILTIN_ATOMIC = "1"
      HAVE_BZLIB_H = "1"
      HAVE_CHFLAGS = "0"
      HAVE_CHMOD = "1"
      HAVE_CHOWN = "1"
      HAVE_CHROOT = "1"
      HAVE_CLOCK = "1"
      HAVE_CLOCK_GETRES = "1"
      HAVE_CLOCK_GETTIME = "1"
      HAVE_CLOCK_NANOSLEEP = "1"
      HAVE_CLOCK_SETTIME = "1"
      HAVE_CLOSE_RANGE = "1"
      HAVE_COMPUTED_GOTOS = "1"
      HAVE_CONFSTR = "1"
      HAVE_CONIO_H = "0"
      HAVE_CONNECT = "1"
      HAVE_COPY_FILE_RANGE = "1"
      HAVE_CRYPT_H = "1"
      HAVE_CRYPT_R = "1"
      HAVE_CTERMID = "1"
      HAVE_CTERMID_R = "0"
      HAVE_CURSES_FILTER = "1"
      HAVE_CURSES_H = "1"
      HAVE_CURSES_HAS_KEY = "1"
      HAVE_CURSES_IMMEDOK = "1"
      HAVE_CURSES_IS_PAD = "1"
      HAVE_CURSES_IS_TERM_RESIZED = "1"
      HAVE_CURSES_RESIZETERM = "1"
      HAVE_CURSES_RESIZE_TERM = "1"
      HAVE_CURSES_SYNCOK = "1"
      HAVE_CURSES_TYPEAHEAD = "1"
      HAVE_CURSES_USE_ENV = "1"
      HAVE_CURSES_WCHGAT = "1"
      HAVE_DB_H = "1"
      HAVE_DECL_RTLD_DEEPBIND = "1"
      HAVE_DECL_RTLD_GLOBAL = "1"
      HAVE_DECL_RTLD_LAZY = "1"
      HAVE_DECL_RTLD_LOCAL = "1"
      HAVE_DECL_RTLD_MEMBER = "0"
      HAVE_DECL_RTLD_NODELETE = "1"
      HAVE_DECL_RTLD_NOLOAD = "1"
      HAVE_DECL_RTLD_NOW = "1"
      HAVE_DECL_TZNAME = "0"
      HAVE_DEVICE_MACROS = "1"
      HAVE_DEV_PTC = "0"
      HAVE_DEV_PTMX = "1"
      HAVE_DIRECT_H = "0"
      HAVE_DIRENT_D_TYPE = "1"
      HAVE_DIRENT_H = "1"
      HAVE_DIRFD = "1"
      HAVE_DLFCN_H = "1"
      HAVE_DLOPEN = "1"
      HAVE_DUP = "1"
      HAVE_DUP2 = "1"
      HAVE_DUP3 = "1"
      HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH = "0"
      HAVE_DYNAMIC_LOADING = "1"
      HAVE_EDITLINE_READLINE_H = "0"
      HAVE_ENDIAN_H = "1"
      HAVE_EPOLL = "1"
      HAVE_EPOLL_CREATE1 = "1"
      HAVE_ERF = "1"
      HAVE_ERFC = "1"
      HAVE_ERRNO_H = "1"
      HAVE_EVENTFD = "1"
      HAVE_EXECV = "1"
      HAVE_EXPLICIT_BZERO = "1"
      HAVE_EXPLICIT_MEMSET = "0"
      HAVE_EXPM1 = "1"
      HAVE_FACCESSAT = "1"
      HAVE_FCHDIR = "1"
      HAVE_FCHMOD = "1"
      HAVE_FCHMODAT = "1"
      HAVE_FCHOWN = "1"
      HAVE_FCHOWNAT = "1"
      HAVE_FCNTL_H = "1"
      HAVE_FDATASYNC = "1"
      HAVE_FDOPENDIR = "1"
      HAVE_FDWALK = "0"
      HAVE_FEXECVE = "1"
      HAVE_FFI_CLOSURE_ALLOC = "1"
      HAVE_FFI_PREP_CIF_VAR = "1"
      HAVE_FFI_PREP_CLOSURE_LOC = "1"
      HAVE_FLOCK = "1"
      HAVE_FORK = "1"
      HAVE_FORK1 = "0"
      HAVE_FORKPTY = "1"
      HAVE_FPATHCONF = "1"
      HAVE_FSEEK64 = "0"
      HAVE_FSEEKO = "1"
      HAVE_FSTATAT = "1"
      HAVE_FSTATVFS = "1"
      HAVE_FSYNC = "1"
      HAVE_FTELL64 = "0"
      HAVE_FTELLO = "1"
      HAVE_FTIME = "1"
      HAVE_FTRUNCATE = "1"
      HAVE_FUTIMENS = "1"
      HAVE_FUTIMES = "1"
      HAVE_FUTIMESAT = "1"
      HAVE_GAI_STRERROR = "1"
      HAVE_GCC_ASM_FOR_MC68881 = "0"
      HAVE_GCC_ASM_FOR_X64 = "1"
      HAVE_GCC_ASM_FOR_X87 = "1"
      HAVE_GCC_UINT128_T = "1"
      HAVE_GDBM_DASH_NDBM_H = "0"
      HAVE_GDBM_H = "1"
      HAVE_GDBM_NDBM_H = "0"
      HAVE_GETADDRINFO = "1"
      HAVE_GETC_UNLOCKED = "1"
      HAVE_GETEGID = "1"
      HAVE_GETENTROPY = "1"
      HAVE_GETEUID = "1"
      HAVE_GETGID = "1"
      HAVE_GETGRGID = "1"
      HAVE_GETGRGID_R = "1"
      HAVE_GETGRNAM_R = "1"
      HAVE_GETGROUPLIST = "1"
      HAVE_GETGROUPS = "1"
      HAVE_GETHOSTBYADDR = "1"
      HAVE_GETHOSTBYNAME = "1"
      HAVE_GETHOSTBYNAME_R = "1"
      HAVE_GETHOSTBYNAME_R_3_ARG = "0"
      HAVE_GETHOSTBYNAME_R_5_ARG = "0"
      HAVE_GETHOSTBYNAME_R_6_ARG = "1"
      HAVE_GETHOSTNAME = "1"
      HAVE_GETITIMER = "1"
      HAVE_GETLOADAVG = "1"
      HAVE_GETLOGIN = "1"
      HAVE_GETNAMEINFO = "1"
      HAVE_GETPAGESIZE = "1"
      HAVE_GETPEERNAME = "1"
      HAVE_GETPGID = "1"
      HAVE_GETPGRP = "1"
      HAVE_GETPID = "1"
      HAVE_GETPPID = "1"
      HAVE_GETPRIORITY = "1"
      HAVE_GETPROTOBYNAME = "1"
      HAVE_GETPWENT = "1"
      HAVE_GETPWNAM_R = "1"
      HAVE_GETPWUID = "1"
      HAVE_GETPWUID_R = "1"
      HAVE_GETRANDOM = "1"
      HAVE_GETRANDOM_SYSCALL = "1"
      HAVE_GETRESGID = "1"
      HAVE_GETRESUID = "1"
      HAVE_GETRUSAGE = "1"
      HAVE_GETSERVBYNAME = "1"
      HAVE_GETSERVBYPORT = "1"
      HAVE_GETSID = "1"
      HAVE_GETSOCKNAME = "1"
      HAVE_GETSPENT = "1"
      HAVE_GETSPNAM = "1"
      HAVE_GETUID = "1"
      HAVE_GETWD = "1"
      HAVE_GLIBC_MEMMOVE_BUG = "0"
      HAVE_GRP_H = "1"
      HAVE_HSTRERROR = "1"
      HAVE_HTOLE64 = "1"
      HAVE_IEEEFP_H = "0"
      HAVE_IF_NAMEINDEX = "1"
      HAVE_INET_ATON = "1"
      HAVE_INET_NTOA = "1"
      HAVE_INET_PTON = "1"
      HAVE_INITGROUPS = "1"
      HAVE_INTTYPES_H = "1"
      HAVE_IO_H = "0"
      HAVE_IPA_PURE_CONST_BUG = "0"
      HAVE_KILL = "1"
      HAVE_KILLPG = "1"
      HAVE_KQUEUE = "0"
      HAVE_LANGINFO_H = "1"
      HAVE_LARGEFILE_SUPPORT = "0"
      HAVE_LCHFLAGS = "0"
      HAVE_LCHMOD = "0"
      HAVE_LCHOWN = "1"
      HAVE_LIBB2 = "0"
      HAVE_LIBDB = "1"
      HAVE_LIBDL = "1"
      HAVE_LIBDLD = "0"
      HAVE_LIBIEEE = "0"
      HAVE_LIBINTL_H = "1"
      HAVE_LIBRESOLV = "0"
      HAVE_LIBSENDFILE = "0"
      HAVE_LIBSQLITE3 = "1"
      HAVE_LIBUTIL_H = "0"
      HAVE_LINK = "1"
      HAVE_LINKAT = "1"
      HAVE_LINUX_AUXVEC_H = "1"
      HAVE_LINUX_CAN_BCM_H = "1"
      HAVE_LINUX_CAN_H = "1"
      HAVE_LINUX_CAN_J1939_H = "1"
      HAVE_LINUX_CAN_RAW_FD_FRAMES = "1"
      HAVE_LINUX_CAN_RAW_H = "1"
      HAVE_LINUX_CAN_RAW_JOIN_FILTERS = "1"
      HAVE_LINUX_FS_H = "1"
      HAVE_LINUX_LIMITS_H = "1"
      HAVE_LINUX_MEMFD_H = "1"
      HAVE_LINUX_NETLINK_H = "1"
      HAVE_LINUX_QRTR_H = "1"
      HAVE_LINUX_RANDOM_H = "1"
      HAVE_LINUX_SOUNDCARD_H = "1"
      HAVE_LINUX_TIPC_H = "1"
      HAVE_LINUX_VM_SOCKETS_H = "1"
      HAVE_LINUX_WAIT_H = "1"
      HAVE_LISTEN = "1"
      HAVE_LOCKF = "1"
      HAVE_LOG1P = "1"
      HAVE_LOG2 = "1"
      HAVE_LOGIN_TTY = "1"
      HAVE_LONG_DOUBLE = "1"
      HAVE_LSTAT = "1"
      HAVE_LUTIMES = "1"
      HAVE_LZMA_H = "0"
      HAVE_MADVISE = "1"
      HAVE_MAKEDEV = "1"
      HAVE_MBRTOWC = "1"
      HAVE_MEMFD_CREATE = "1"
      HAVE_MEMRCHR = "1"
      HAVE_MINIX_CONFIG_H = "0"
      HAVE_MKDIRAT = "1"
      HAVE_MKFIFO = "1"
      HAVE_MKFIFOAT = "1"
      HAVE_MKNOD = "1"
      HAVE_MKNODAT = "1"
      HAVE_MKTIME = "1"
      HAVE_MMAP = "1"
      HAVE_MREMAP = "1"
      HAVE_NANOSLEEP = "1"
      HAVE_NCURSESW = "1"
      HAVE_NCURSES_H = "1"
      HAVE_NDBM_H = "0"
      HAVE_NDIR_H = "0"
      HAVE_NETCAN_CAN_H = "0"
      HAVE_NETDB_H = "1"
      HAVE_NETINET_IN_H = "1"
      HAVE_NETPACKET_PACKET_H = "1"
      HAVE_NET_ETHERNET_H = "1"
      HAVE_NET_IF_H = "1"
      HAVE_NICE = "1"
      HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION = "0"
      HAVE_OPENAT = "1"
      HAVE_OPENDIR = "1"
      HAVE_OPENPTY = "1"
      HAVE_PANEL_H = "1"
      HAVE_PATHCONF = "1"
      HAVE_PAUSE = "1"
      HAVE_PIPE = "1"
      HAVE_PIPE2 = "1"
      HAVE_PLOCK = "0"
      HAVE_POLL = "1"
      HAVE_POLL_H = "1"
      HAVE_POSIX_FADVISE = "1"
      HAVE_POSIX_FALLOCATE = "1"
      HAVE_POSIX_SPAWN = "1"
      HAVE_POSIX_SPAWNP = "1"
      HAVE_PREAD = "1"
      HAVE_PREADV = "1"
      HAVE_PREADV2 = "1"
      HAVE_PRLIMIT = "1"
      HAVE_PROCESS_H = "0"
      HAVE_PROTOTYPES = "1"
      HAVE_PTHREAD_CONDATTR_SETCLOCK = "1"
      HAVE_PTHREAD_DESTRUCTOR = "0"
      HAVE_PTHREAD_GETCPUCLOCKID = "1"
      HAVE_PTHREAD_H = "1"
      HAVE_PTHREAD_INIT = "0"
      HAVE_PTHREAD_KILL = "1"
      HAVE_PTHREAD_SIGMASK = "1"
      HAVE_PTHREAD_STUBS = "0"
      HAVE_PTY_H = "1"
      HAVE_PWRITE = "1"
      HAVE_PWRITEV = "1"
      HAVE_PWRITEV2 = "1"
      HAVE_READLINE_READLINE_H = "0"
      HAVE_READLINK = "1"
      HAVE_READLINKAT = "1"
      HAVE_READV = "1"
      HAVE_REALPATH = "1"
      HAVE_RECVFROM = "1"
      HAVE_RENAMEAT = "1"
      HAVE_RL_APPEND_HISTORY = "1"
      HAVE_RL_CATCH_SIGNAL = "1"
      HAVE_RL_COMPDISP_FUNC_T = "1"
      HAVE_RL_COMPLETION_APPEND_CHARACTER = "1"
      HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK = "1"
      HAVE_RL_COMPLETION_MATCHES = "1"
      HAVE_RL_COMPLETION_SUPPRESS_APPEND = "1"
      HAVE_RL_PRE_INPUT_HOOK = "1"
      HAVE_RL_RESIZE_TERMINAL = "1"
      HAVE_RPC_RPC_H = "1"
      HAVE_RTPSPAWN = "0"
      HAVE_SCHED_GET_PRIORITY_MAX = "1"
      HAVE_SCHED_H = "1"
      HAVE_SCHED_RR_GET_INTERVAL = "1"
      HAVE_SCHED_SETAFFINITY = "1"
      HAVE_SCHED_SETPARAM = "1"
      HAVE_SCHED_SETSCHEDULER = "1"
      HAVE_SEM_CLOCKWAIT = "1"
      HAVE_SEM_GETVALUE = "1"
      HAVE_SEM_OPEN = "1"
      HAVE_SEM_TIMEDWAIT = "1"
      HAVE_SEM_UNLINK = "1"
      HAVE_SENDFILE = "1"
      HAVE_SENDTO = "1"
      HAVE_SETEGID = "1"
      HAVE_SETEUID = "1"
      HAVE_SETGID = "1"
      HAVE_SETGROUPS = "1"
      HAVE_SETHOSTNAME = "1"
      HAVE_SETITIMER = "1"
      HAVE_SETJMP_H = "1"
      HAVE_SETLOCALE = "1"
      HAVE_SETNS = "1"
      HAVE_SETPGID = "1"
      HAVE_SETPGRP = "1"
      HAVE_SETPRIORITY = "1"
      HAVE_SETREGID = "1"
      HAVE_SETRESGID = "1"
      HAVE_SETRESUID = "1"
      HAVE_SETREUID = "1"
      HAVE_SETSID = "1"
      HAVE_SETSOCKOPT = "1"
      HAVE_SETUID = "1"
      HAVE_SETVBUF = "1"
      HAVE_SHADOW_H = "1"
      HAVE_SHM_OPEN = "1"
      HAVE_SHM_UNLINK = "1"
      HAVE_SHUTDOWN = "1"
      HAVE_SIGACTION = "1"
      HAVE_SIGALTSTACK = "1"
      HAVE_SIGFILLSET = "1"
      HAVE_SIGINFO_T_SI_BAND = "1"
      HAVE_SIGINTERRUPT = "1"
      HAVE_SIGNAL_H = "1"
      HAVE_SIGPENDING = "1"
      HAVE_SIGRELSE = "1"
      HAVE_SIGTIMEDWAIT = "1"
      HAVE_SIGWAIT = "1"
      HAVE_SIGWAITINFO = "1"
      HAVE_SNPRINTF = "1"
      HAVE_SOCKADDR_ALG = "1"
      HAVE_SOCKADDR_SA_LEN = "0"
      HAVE_SOCKADDR_STORAGE = "1"
      HAVE_SOCKET = "1"
      HAVE_SOCKETPAIR = "1"
      HAVE_SPAWN_H = "1"
      HAVE_SPLICE = "1"
      HAVE_SSIZE_T = "1"
      HAVE_STATVFS = "1"
      HAVE_STAT_TV_NSEC = "1"
      HAVE_STAT_TV_NSEC2 = "0"
      HAVE_STDINT_H = "1"
      HAVE_STDIO_H = "1"
      HAVE_STDLIB_H = "1"
      HAVE_STD_ATOMIC = "1"
      HAVE_STRFTIME = "1"
      HAVE_STRINGS_H = "1"
      HAVE_STRING_H = "1"
      HAVE_STRLCPY = "0"
      HAVE_STROPTS_H = "0"
      HAVE_STRSIGNAL = "1"
      HAVE_STRUCT_PASSWD_PW_GECOS = "1"
      HAVE_STRUCT_PASSWD_PW_PASSWD = "1"
      HAVE_STRUCT_STAT_ST_BIRTHTIME = "0"
      HAVE_STRUCT_STAT_ST_BLKSIZE = "1"
      HAVE_STRUCT_STAT_ST_BLOCKS = "1"
      HAVE_STRUCT_STAT_ST_FLAGS = "0"
      HAVE_STRUCT_STAT_ST_GEN = "0"
      HAVE_STRUCT_STAT_ST_RDEV = "1"
      HAVE_STRUCT_TM_TM_ZONE = "1"
      HAVE_SYMLINK = "1"
      HAVE_SYMLINKAT = "1"
      HAVE_SYNC = "1"
      HAVE_SYSCONF = "1"
      HAVE_SYSEXITS_H = "1"
      HAVE_SYSLOG_H = "1"
      HAVE_SYSTEM = "1"
      HAVE_SYS_AUDIOIO_H = "0"
      HAVE_SYS_AUXV_H = "1"
      HAVE_SYS_BSDTTY_H = "0"
      HAVE_SYS_DEVPOLL_H = "0"
      HAVE_SYS_DIR_H = "0"
      HAVE_SYS_ENDIAN_H = "0"
      HAVE_SYS_EPOLL_H = "1"
      HAVE_SYS_EVENTFD_H = "1"
      HAVE_SYS_EVENT_H = "0"
      HAVE_SYS_FILE_H = "1"
      HAVE_SYS_IOCTL_H = "1"
      HAVE_SYS_KERN_CONTROL_H = "0"
      HAVE_SYS_LOADAVG_H = "0"
      HAVE_SYS_LOCK_H = "0"
      HAVE_SYS_MEMFD_H = "0"
      HAVE_SYS_MKDEV_H = "0"
      HAVE_SYS_MMAN_H = "1"
      HAVE_SYS_MODEM_H = "0"
      HAVE_SYS_NDIR_H = "0"
      HAVE_SYS_PARAM_H = "1"
      HAVE_SYS_PIDFD_H = "0"
      HAVE_SYS_POLL_H = "1"
      HAVE_SYS_RANDOM_H = "1"
      HAVE_SYS_RESOURCE_H = "1"
      HAVE_SYS_SELECT_H = "1"
      HAVE_SYS_SENDFILE_H = "1"
      HAVE_SYS_SOCKET_H = "1"
      HAVE_SYS_SOUNDCARD_H = "1"
      HAVE_SYS_STATVFS_H = "1"
      HAVE_SYS_STAT_H = "1"
      HAVE_SYS_SYSCALL_H = "1"
      HAVE_SYS_SYSMACROS_H = "1"
      HAVE_SYS_SYS_DOMAIN_H = "0"
      HAVE_SYS_TERMIO_H = "0"
      HAVE_SYS_TIMES_H = "1"
      HAVE_SYS_TIME_H = "1"
      HAVE_SYS_TYPES_H = "1"
      HAVE_SYS_UIO_H = "1"
      HAVE_SYS_UN_H = "1"
      HAVE_SYS_UTSNAME_H = "1"
      HAVE_SYS_WAIT_H = "1"
      HAVE_SYS_XATTR_H = "1"
      HAVE_TCGETPGRP = "1"
      HAVE_TCSETPGRP = "1"
      HAVE_TEMPNAM = "1"
      HAVE_TERMIOS_H = "1"
      HAVE_TERM_H = "1"
      HAVE_TIMEGM = "1"
      HAVE_TIMES = "1"
      HAVE_TMPFILE = "1"
      HAVE_TMPNAM = "1"
      HAVE_TMPNAM_R = "1"
      HAVE_TM_ZONE = "1"
      HAVE_TRUNCATE = "1"
      HAVE_TTYNAME_R = "1"
      HAVE_TZNAME = "0"
      HAVE_UMASK = "1"
      HAVE_UNAME = "1"
      HAVE_UNISTD_H = "1"
      HAVE_UNLINKAT = "1"
      HAVE_UNSHARE = "1"
      HAVE_USABLE_WCHAR_T = "0"
      HAVE_UTIL_H = "0"
      HAVE_UTIMENSAT = "1"
      HAVE_UTIMES = "1"
      HAVE_UTIME_H = "1"
      HAVE_UTMP_H = "1"
      HAVE_UUID_CREATE = "0"
      HAVE_UUID_ENC_BE = "0"
      HAVE_UUID_GENERATE_TIME_SAFE = "1"
      HAVE_UUID_H = "1"
      HAVE_UUID_UUID_H = "0"
      HAVE_VFORK = "1"
      HAVE_WAIT = "1"
      HAVE_WAIT3 = "1"
      HAVE_WAIT4 = "1"
      HAVE_WAITID = "1"
      HAVE_WAITPID = "1"
      HAVE_WCHAR_H = "1"
      HAVE_WCSCOLL = "1"
      HAVE_WCSFTIME = "1"
      HAVE_WCSXFRM = "1"
      HAVE_WMEMCMP = "1"
      HAVE_WORKING_TZSET = "1"
      HAVE_WRITEV = "1"
      HAVE_ZLIB_COPY = "1"
      HAVE_ZLIB_H = "0"
      HAVE__GETPTY = "0"
      HOSTRUNNER = ""
      HOST_GNU_TYPE = "x86_64-pc-linux-gnu"
      INCLDIRSTOMAKE = "/usr/include /usr/include /usr/include/python3.12 /usr/include/python3.12"
      INCLUDEDIR = "/usr/include"
      INCLUDEPY = "/usr/include/python3.12"
      INSTALL = "/usr/bin/install -c"
      INSTALL_DATA = "/usr/bin/install -c -m 644"
      INSTALL_PROGRAM = "/usr/bin/install -c"
      INSTALL_SCRIPT = "/usr/bin/install -c"
      INSTALL_SHARED = "/usr/bin/install -c -m 755"
      INSTSONAME = "libpython3.12.so.1.0"
      IO_H = "Modules/_io/_iomodule.h"
      IO_OBJS = "\"
      LDCXXSHARED = "x86_64-linux-gnu-g++ -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
      LDFLAGS = "-Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
      LDFLAGS_NODIST = ""
      LDLIBRARY = "libpython3.12.so"
      LDLIBRARYDIR = ""
      LDSHARED = "x86_64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
      LDVERSION = "3.12"
      LIBC = ""
      LIBDEST = "/usr/lib/python3.12"
      LIBDIR = "/usr/lib/x86_64-linux-gnu"
      LIBEXPAT_A = "Modules/expat/libexpat.a"
      LIBEXPAT_CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g       -fstack-protector-strong -Wformat -Werror=format-security  -g -fwrapv -O2    -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I../Include/internal -IObjects -IInclude -IPython -I. -I../Include -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fPIC"
      LIBEXPAT_HEADERS = "\"
      LIBEXPAT_OBJS = "\"
      LIBHACL_CFLAGS = "-I../Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g       -fstack-protector-strong -Wformat -Werror=format-security  -g -fwrapv -O2    -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I../Include/internal -IObjects -IInclude -IPython -I. -I../Include -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fPIC"
      LIBHACL_HEADERS = "\"
      LIBHACL_SHA2_A = "Modules/_hacl/libHacl_Hash_SHA2.a"
      LIBHACL_SHA2_HEADERS = "\"
      LIBHACL_SHA2_OBJS = "\"
      LIBM = "-lm"
      LIBMPDEC_A = "Modules/_decimal/libmpdec/libmpdec.a"
      LIBMPDEC_CFLAGS = "-I../Modules/_decimal/libmpdec -DCONFIG_64=1 -DANSI=1 -DHAVE_UINT128_T=1 -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g       -fstack-protector-strong -Wformat -Werror=format-security  -g -fwrapv -O2    -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I../Include/internal -IObjects -IInclude -IPython -I. -I../Include -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fPIC"
      LIBMPDEC_HEADERS = "\"
      LIBMPDEC_OBJS = "\"
      LIBOBJDIR = "Python/"
      LIBOBJS = ""
      LIBPC = "/usr/lib/x86_64-linux-gnu/pkgconfig"
      LIBPL = "/usr/lib/python3.12/config-3.12-x86_64-linux-gnu"
      LIBPYTHON = ""
      LIBRARY = "libpython3.12.a"
      LIBRARY_DEPS = "libpython3.12.a libpython3.12.so libpython3.so"
      LIBRARY_OBJS = "\"
      LIBRARY_OBJS_OMIT_FROZEN = "\"
      LIBS = "-ldl"
      LIBSUBDIRS = "asyncio \"
      LINKCC = "x86_64-linux-gnu-gcc"
      LINKFORSHARED = "-Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions"
      LINK_PYTHON_DEPS = "libpython3.12.a libpython3.12.so libpython3.so"
      LINK_PYTHON_OBJS = "-L. -lpython3.12"
      LIPO_32BIT_FLAGS = ""
      LIPO_INTEL64_FLAGS = ""
      LLVM_PROF_ERR = "no"
      LLVM_PROF_FILE = ""
      LLVM_PROF_MERGER = "true"
      LN = "ln"
      LOCALMODLIBS = "-lm      -lm   -lz -lm -lm   -lexpat  -lexpat     Modules/_hacl/libHacl_Hash_SHA2.a         -lz"
      MACHDEP = "linux"
      MACHDEP_OBJS = ""
      MACHDESTLIB = "/usr/lib/x86_64-linux-gnu/python3.12"
      MACOSX_DEPLOYMENT_TARGET = ""
      MAJOR_IN_MKDEV = "0"
      MAJOR_IN_SYSMACROS = "1"
      MAKESETUP = "../Modules/makesetup"
      MANDIR = "/usr/share/man"
      MKDIR_P = "/bin/mkdir -p"
      MODBUILT_NAMES = "_bisect  _csv  _datetime  _heapq  _opcode  _pickle  _random  _socket  _statistics  _struct  array  binascii  cmath  math  select  _elementtree  pyexpat  _blake2  _md5  _sha1  _sha2  _sha3  unicodedata  _posixsubprocess  fcntl  grp  spwd  syslog  zlib  _asyncio  _contextvars  _json  _lsprof  _queue  _xxsubinterpreters  _xxinterpchannels  _zoneinfo  audioop  _decimal  _bz2  _lzma  _dbm  _gdbm  readline  _codecs_cn  _codecs_hk  _codecs_iso2022  _codecs_jp  _codecs_kr  _codecs_tw  _multibytecodec  _crypt  mmap  nis  ossaudiodev  resource  termios  _posixshmem  _multiprocessing  _ctypes  _curses  _curses_panel  _sqlite3  _ssl  _hashlib  _uuid  _tkinter  xxsubtype  _xxtestfuzz  _testbuffer  _testinternalcapi  _testcapi  _testclinic  _testimportmultiple  _testmultiphase  _testsinglephase  _ctypes_test  xxlimited  xxlimited_35  atexit  faulthandler  posix  _signal  _tracemalloc  _codecs  _collections  errno  _io  itertools  _sre  _thread  time  _typing  _weakref  _abc  _functools  _locale  _operator  _stat  _symtable  pwd"
      MODDISABLED_NAMES = ""
      MODLIBS = "-lm      -lm   -lz -lm -lm   -lexpat  -lexpat     Modules/_hacl/libHacl_Hash_SHA2.a         -lz"
      MODOBJS = "Modules/_bisectmodule.o  Modules/_csv.o  Modules/_datetimemodule.o  Modules/_heapqmodule.o  Modules/_opcode.o  Modules/_pickle.o  Modules/_randommodule.o  Modules/socketmodule.o  Modules/_statisticsmodule.o  Modules/_struct.o  Modules/arraymodule.o  Modules/binascii.o  Modules/cmathmodule.o  Modules/mathmodule.o  Modules/selectmodule.o  Modules/_elementtree.o  Modules/pyexpat.o  Modules/_blake2/blake2module.o Modules/_blake2/blake2b_impl.o Modules/_blake2/blake2s_impl.o  Modules/md5module.o Modules/_hacl/Hacl_Hash_MD5.o  Modules/sha1module.o Modules/_hacl/Hacl_Hash_SHA1.o  Modules/sha2module.o  Modules/sha3module.o Modules/_hacl/Hacl_Hash_SHA3.o  Modules/unicodedata.o  Modules/_posixsubprocess.o  Modules/fcntlmodule.o  Modules/grpmodule.o  Modules/spwdmodule.o  Modules/syslogmodule.o  Modules/zlibmodule.o  Modules/atexitmodule.o  Modules/faulthandler.o  Modules/posixmodule.o  Modules/signalmodule.o  Modules/_tracemalloc.o  Modules/_codecsmodule.o  Modules/_collectionsmodule.o  Modules/errnomodule.o  Modules/_io/_iomodule.o Modules/_io/iobase.o Modules/_io/fileio.o Modules/_io/bytesio.o Modules/_io/bufferedio.o Modules/_io/textio.o Modules/_io/stringio.o  Modules/itertoolsmodule.o  Modules/_sre/sre.o  Modules/_threadmodule.o  Modules/timemodule.o  Modules/_typingmodule.o  Modules/_weakref.o  Modules/_abc.o  Modules/_functoolsmodule.o  Modules/_localemodule.o  Modules/_operator.o  Modules/_stat.o  Modules/symtablemodule.o  Modules/pwdmodule.o"
      MODSHARED_NAMES = "_asyncio _contextvars _json _lsprof _queue _xxsubinterpreters _xxinterpchannels _zoneinfo audioop _decimal _bz2 _lzma _dbm _gdbm readline _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec _crypt mmap nis ossaudiodev resource termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _tkinter xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35"
      MODULE_ARRAY_LDFLAGS = ""
      MODULE_ARRAY_STATE = "yes"
      MODULE_ATEXIT_LDFLAGS = ""
      MODULE_AUDIOOP_LDFLAGS = "-lm"
      MODULE_AUDIOOP_STATE = "yes"
      MODULE_BINASCII_CFLAGS = "-DUSE_ZLIB_CRC32"
      MODULE_BINASCII_LDFLAGS = "-lz"
      MODULE_BINASCII_STATE = "yes"
      MODULE_CMATH_DEPS = "../Modules/_math.h"
      MODULE_CMATH_LDFLAGS = "-lm"
      MODULE_CMATH_STATE = "yes"
      MODULE_DEPS_SHARED = "Modules/config.c"
      MODULE_DEPS_STATIC = "Modules/config.c"
      MODULE_ERRNO_LDFLAGS = ""
      MODULE_FAULTHANDLER_LDFLAGS = ""
      MODULE_FCNTL_LDFLAGS = ""
      MODULE_FCNTL_STATE = "yes"
      MODULE_GRP_LDFLAGS = ""
      MODULE_GRP_STATE = "yes"
      MODULE_ITERTOOLS_LDFLAGS = ""
      MODULE_MATH_DEPS = "../Modules/_math.h"
      MODULE_MATH_LDFLAGS = "-lm"
      MODULE_MATH_STATE = "yes"
      MODULE_MMAP_STATE = "yes"
      MODULE_NIS_CFLAGS = "-I/usr/include/tirpc"
      MODULE_NIS_LDFLAGS = "-lnsl -ltirpc"
      MODULE_NIS_STATE = "yes"
      MODULE_OBJS = "\"
      MODULE_OSSAUDIODEV_LDFLAGS = ""
      MODULE_OSSAUDIODEV_STATE = "yes"
      MODULE_POSIX_LDFLAGS = ""
      MODULE_PWD_LDFLAGS = ""
      MODULE_PWD_STATE = "yes"
      MODULE_PYEXPAT_CFLAGS = ""
      MODULE_PYEXPAT_DEPS = ""
      MODULE_PYEXPAT_LDFLAGS = "-lexpat"
      MODULE_PYEXPAT_STATE = "yes"
      MODULE_READLINE_CFLAGS = "-D_DEFAULT_SOURCE"
      MODULE_READLINE_LDFLAGS = "-lreadline"
      MODULE_READLINE_STATE = "yes"
      MODULE_RESOURCE_STATE = "yes"
      MODULE_SELECT_LDFLAGS = ""
      MODULE_SELECT_STATE = "yes"
      MODULE_SPWD_LDFLAGS = ""
      MODULE_SPWD_STATE = "yes"
      MODULE_SYSLOG_LDFLAGS = ""
      MODULE_SYSLOG_STATE = "yes"
      MODULE_TERMIOS_STATE = "yes"
      MODULE_TIME_LDFLAGS = ""
      MODULE_TIME_STATE = "yes"
      MODULE_UNICODEDATA_DEPS = "../Modules/unicodedata_db.h ../Modules/unicodename_db.h"
      MODULE_UNICODEDATA_LDFLAGS = ""
      MODULE_UNICODEDATA_STATE = "yes"
      MODULE_XXLIMITED_35_STATE = "yes"
      MODULE_XXLIMITED_STATE = "yes"
      MODULE_XXSUBTYPE_STATE = "yes"
      MODULE_ZLIB_CFLAGS = ""
      MODULE_ZLIB_LDFLAGS = "-lz"
      MODULE_ZLIB_STATE = "yes"
      MODULE__ABC_LDFLAGS = ""
      MODULE__ASYNCIO_STATE = "yes"
      MODULE__BISECT_LDFLAGS = ""
      MODULE__BISECT_STATE = "yes"
      MODULE__BLAKE2_CFLAGS = ""
      MODULE__BLAKE2_DEPS = "../Modules/_blake2/impl/blake2-config.h ../Modules/_blake2/impl/blake2-impl.h ../Modules/_blake2/impl/blake2.h ../Modules/_blake2/impl/blake2b-load-sse2.h ../Modules/_blake2/impl/blake2b-load-sse41.h ../Modules/_blake2/impl/blake2b-ref.c ../Modules/_blake2/impl/blake2b-round.h ../Modules/_blake2/impl/blake2b.c ../Modules/_blake2/impl/blake2s-load-sse2.h ../Modules/_blake2/impl/blake2s-load-sse41.h ../Modules/_blake2/impl/blake2s-load-xop.h ../Modules/_blake2/impl/blake2s-ref.c ../Modules/_blake2/impl/blake2s-round.h ../Modules/_blake2/impl/blake2s.c ../Modules/_blake2/blake2module.h ../Modules/hashlib.h"
      MODULE__BLAKE2_LDFLAGS = ""
      MODULE__BLAKE2_STATE = "yes"
      MODULE__BZ2_CFLAGS = ""
      MODULE__BZ2_LDFLAGS = "-lbz2"
      MODULE__BZ2_STATE = "yes"
      MODULE__CODECS_CN_DEPS = "../Modules/cjkcodecs/mappings_cn.h ../Modules/cjkcodecs/multibytecodec.h ../Modules/cjkcodecs/cjkcodecs.h"
      MODULE__CODECS_CN_STATE = "yes"
      MODULE__CODECS_HK_DEPS = "../Modules/cjkcodecs/mappings_hk.h  ../Modules/cjkcodecs/multibytecodec.h ../Modules/cjkcodecs/cjkcodecs.h"
      MODULE__CODECS_HK_STATE = "yes"
      MODULE__CODECS_ISO2022_DEPS = "../Modules/cjkcodecs/mappings_jisx0213_pair.h ../Modules/cjkcodecs/alg_jisx0201.h ../Modules/cjkcodecs/emu_jisx0213_2000.h ../Modules/cjkcodecs/multibytecodec.h ../Modules/cjkcodecs/cjkcodecs.h"
      MODULE__CODECS_ISO2022_STATE = "yes"
      MODULE__CODECS_JP_DEPS = "../Modules/cjkcodecs/mappings_jisx0213_pair.h ../Modules/cjkcodecs/alg_jisx0201.h ../Modules/cjkcodecs/emu_jisx0213_2000.h ../Modules/cjkcodecs/mappings_jp.h ../Modules/cjkcodecs/multibytecodec.h ../Modules/cjkcodecs/cjkcodecs.h"
      MODULE__CODECS_JP_STATE = "yes"
      MODULE__CODECS_KR_DEPS = "../Modules/cjkcodecs/mappings_kr.h ../Modules/cjkcodecs/multibytecodec.h ../Modules/cjkcodecs/cjkcodecs.h"
      MODULE__CODECS_KR_STATE = "yes"
      MODULE__CODECS_LDFLAGS = ""
      MODULE__CODECS_TW_DEPS = "../Modules/cjkcodecs/mappings_tw.h ../Modules/cjkcodecs/multibytecodec.h ../Modules/cjkcodecs/cjkcodecs.h"
      MODULE__CODECS_TW_STATE = "yes"
      MODULE__COLLECTIONS_LDFLAGS = ""
      MODULE__CONTEXTVARS_STATE = "yes"
      MODULE__CRYPT_CFLAGS = ""
      MODULE__CRYPT_LDFLAGS = "-lcrypt"
      MODULE__CRYPT_STATE = "yes"
      MODULE__CSV_LDFLAGS = ""
      MODULE__CSV_STATE = "yes"
      MODULE__CTYPES_CFLAGS = "-fno-strict-overflow"
      MODULE__CTYPES_DEPS = "../Modules/_ctypes/ctypes.h"
      MODULE__CTYPES_LDFLAGS = "-lffi -ldl"
      MODULE__CTYPES_MALLOC_CLOSURE = ""
      MODULE__CTYPES_STATE = "yes"
      MODULE__CTYPES_TEST_LDFLAGS = "-lm"
      MODULE__CTYPES_TEST_STATE = "yes"
      MODULE__CURSES_CFLAGS = "-D_DEFAULT_SOURCE"
      MODULE__CURSES_LDFLAGS = "-lncursesw -ltinfo"
      MODULE__CURSES_PANEL_CFLAGS = "-D_DEFAULT_SOURCE  -D_DEFAULT_SOURCE  -D_DEFAULT_SOURCE"
      MODULE__CURSES_PANEL_LDFLAGS = "-lpanelw -lncursesw -ltinfo"
      MODULE__CURSES_PANEL_STATE = "yes"
      MODULE__CURSES_STATE = "yes"
      MODULE__DATETIME_LDFLAGS = "-lm"
      MODULE__DATETIME_STATE = "yes"
      MODULE__DBM_CFLAGS = "-DUSE_BERKDB"
      MODULE__DBM_LDFLAGS = "-ldb"
      MODULE__DBM_STATE = "yes"
      MODULE__DECIMAL_CFLAGS = "-I../Modules/_decimal/libmpdec -DCONFIG_64=1 -DANSI=1 -DHAVE_UINT128_T=1"
      MODULE__DECIMAL_DEPS = "../Modules/_decimal/docstrings.h \ Modules/_decimal/libmpdec/libmpdec.a"
      MODULE__DECIMAL_LDFLAGS = "-lm Modules/_decimal/libmpdec/libmpdec.a"
      MODULE__DECIMAL_STATE = "yes"
      MODULE__ELEMENTTREE_CFLAGS = ""
      MODULE__ELEMENTTREE_DEPS = "../Modules/pyexpat.c"
      MODULE__ELEMENTTREE_STATE = "yes"
      MODULE__FUNCTOOLS_LDFLAGS = ""
      MODULE__GDBM_CFLAGS = ""
      MODULE__GDBM_LDFLAGS = "-lgdbm"
      MODULE__GDBM_STATE = "yes"
      MODULE__HASHLIB_CFLAGS = ""
      MODULE__HASHLIB_DEPS = "../Modules/hashlib.h"
      MODULE__HASHLIB_LDFLAGS = "-lcrypto"
      MODULE__HASHLIB_STATE = "yes"
      MODULE__HEAPQ_LDFLAGS = ""
      MODULE__HEAPQ_STATE = "yes"
      MODULE__IO_CFLAGS = "-I../Modules/_io"
      MODULE__IO_DEPS = "../Modules/_io/_iomodule.h"
      MODULE__IO_LDFLAGS = ""
      MODULE__IO_STATE = "yes"
      MODULE__JSON_STATE = "yes"
      MODULE__LOCALE_LDFLAGS = ""
      MODULE__LSPROF_STATE = "yes"
      MODULE__LZMA_CFLAGS = ""
      MODULE__LZMA_LDFLAGS = "-llzma"
      MODULE__LZMA_STATE = "yes"
      MODULE__MD5_CFLAGS = "-I../Modules/_hacl/include -I../Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE"
      MODULE__MD5_DEPS = "../Modules/hashlib.h \ Modules/_hacl/Hacl_Hash_MD5.h Modules/_hacl/Hacl_Hash_MD5.c"
      MODULE__MD5_STATE = "yes"
      MODULE__MULTIBYTECODEC_DEPS = "../Modules/cjkcodecs/multibytecodec.h"
      MODULE__MULTIBYTECODEC_STATE = "yes"
      MODULE__MULTIPROCESSING_CFLAGS = "-I../Modules/_multiprocessing"
      MODULE__MULTIPROCESSING_STATE = "yes"
      MODULE__OPCODE_LDFLAGS = ""
      MODULE__OPCODE_STATE = "yes"
      MODULE__OPERATOR_LDFLAGS = ""
      MODULE__PICKLE_LDFLAGS = ""
      MODULE__PICKLE_STATE = "yes"
      MODULE__POSIXSHMEM_CFLAGS = "-I../Modules/_multiprocessing"
      MODULE__POSIXSHMEM_LDFLAGS = ""
      MODULE__POSIXSHMEM_STATE = "yes"
      MODULE__POSIXSUBPROCESS_LDFLAGS = ""
      MODULE__POSIXSUBPROCESS_STATE = "yes"
      MODULE__QUEUE_STATE = "yes"
      MODULE__RANDOM_LDFLAGS = ""
      MODULE__RANDOM_STATE = "yes"
      MODULE__SCPROXY_STATE = "n/a"
      MODULE__SHA1_CFLAGS = "-I../Modules/_hacl/include -I../Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE"
      MODULE__SHA1_DEPS = "../Modules/hashlib.h \ Modules/_hacl/Hacl_Hash_SHA1.h Modules/_hacl/Hacl_Hash_SHA1.c"
      MODULE__SHA1_STATE = "yes"
      MODULE__SHA2_CFLAGS = "-I../Modules/_hacl/include -I../Modules/_hacl/internal -D_BSD_SOURCE -D_DEFAULT_SOURCE"
      MODULE__SHA2_DEPS = "../Modules/hashlib.h \ Modules/_hacl/libHacl_Hash_SHA2.a"
      MODULE__SHA2_STATE = "yes"
      MODULE__SHA3_DEPS = "../Modules/hashlib.h \ Modules/_hacl/Hacl_Hash_SHA3.h Modules/_hacl/Hacl_Hash_SHA3.c"
      MODULE__SHA3_STATE = "yes"
      MODULE__SIGNAL_LDFLAGS = ""
      MODULE__SOCKET_DEPS = "../Modules/socketmodule.h ../Modules/addrinfo.h ../Modules/getaddrinfo.c ../Modules/getnameinfo.c"
      MODULE__SOCKET_LDFLAGS = ""
      MODULE__SOCKET_STATE = "yes"
      MODULE__SQLITE3_CFLAGS = "-I../Modules/_sqlite"
      MODULE__SQLITE3_DEPS = "../Modules/_sqlite/connection.h ../Modules/_sqlite/cursor.h ../Modules/_sqlite/microprotocols.h ../Modules/_sqlite/module.h ../Modules/_sqlite/prepare_protocol.h ../Modules/_sqlite/row.h ../Modules/_sqlite/util.h"
      MODULE__SQLITE3_LDFLAGS = "-lsqlite3"
      MODULE__SQLITE3_STATE = "yes"
      MODULE__SRE_LDFLAGS = ""
      MODULE__SSL_CFLAGS = ""
      MODULE__SSL_DEPS = "../Modules/_ssl.h ../Modules/_ssl/cert.c ../Modules/_ssl/debughelpers.c ../Modules/_ssl/misc.c ../Modules/_ssl_data.h ../Modules/_ssl_data_111.h ../Modules/_ssl_data_300.h ../Modules/socketmodule.h"
      MODULE__SSL_LDFLAGS = "-lssl -lcrypto"
      MODULE__SSL_STATE = "yes"
      MODULE__STATISTICS_LDFLAGS = "-lm"
      MODULE__STATISTICS_STATE = "yes"
      MODULE__STAT_LDFLAGS = ""
      MODULE__STRUCT_LDFLAGS = ""
      MODULE__STRUCT_STATE = "yes"
      MODULE__SYMTABLE_LDFLAGS = ""
      MODULE__TESTBUFFER_STATE = "yes"
      MODULE__TESTCAPI_DEPS = "../Modules/_testcapi/testcapi_long.h ../Modules/_testcapi/parts.h ../Modules/_testcapi/util.h"
      MODULE__TESTCAPI_STATE = "yes"
      MODULE__TESTCLINIC_STATE = "yes"
      MODULE__TESTIMPORTMULTIPLE_STATE = "yes"
      MODULE__TESTINTERNALCAPI_STATE = "yes"
      MODULE__TESTMULTIPHASE_STATE = "yes"
      MODULE__THREAD_LDFLAGS = ""
      MODULE__TKINTER_CFLAGS = "-I/usr/include/tcl8.6 -Wno-strict-prototypes -DWITH_APPINIT=1"
      MODULE__TKINTER_LDFLAGS = "-ltk8.6 -ltkstub8.6 -ltcl8.6 -ltclstub8.6"
      MODULE__TKINTER_STATE = "yes"
      MODULE__TRACEMALLOC_LDFLAGS = ""
      MODULE__TYPING_LDFLAGS = ""
      MODULE__TYPING_STATE = "yes"
      MODULE__UUID_CFLAGS = "-I/usr/include/uuid"
      MODULE__UUID_LDFLAGS = "-luuid"
      MODULE__UUID_STATE = "yes"
      MODULE__WEAKREF_LDFLAGS = ""
      MODULE__XXINTERPCHANNELS_STATE = "yes"
      MODULE__XXSUBINTERPRETERS_STATE = "yes"
      MODULE__XXTESTFUZZ_STATE = "yes"
      MODULE__ZONEINFO_STATE = "yes"
      MULTIARCH = "x86_64-linux-gnu"
      MULTIARCH_CPPFLAGS = "-DMULTIARCH=\"x86_64-linux-gnu\""
      MVWDELCH_IS_EXPRESSION = "1"
      NO_AS_NEEDED = "-Wl,--no-as-needed"
      OBJECT_OBJS = "\"
      OPT = "-DNDEBUG -g -O2 -Wall"
      PACKAGE_BUGREPORT = "0"
      PACKAGE_NAME = "0"
      PACKAGE_STRING = "0"
      PACKAGE_TARNAME = "0"
      PACKAGE_URL = "0"
      PACKAGE_VERSION = "0"
      PARSER_HEADERS = "\"
      PARSER_OBJS = "\ \ Parser/myreadline.o Parser/tokenizer.o"
      PEGEN_HEADERS = "\"
      PEGEN_OBJS = "\"
      PGO_PROF_GEN_FLAG = "-fprofile-generate"
      PGO_PROF_USE_FLAG = ""
      PLATLIBDIR = "lib"
      POBJS = "\"
      POSIX_SEMAPHORES_NOT_ENABLED = "0"
      PROFILE_TASK = "-m test --pgo --timeout=1200"
      PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT = "1"
      PTHREAD_SYSTEM_SCHED_SUPPORTED = "1"
      PURIFY = ""
      PY3LIBRARY = "libpython3.so"
      PYLONG_BITS_IN_DIGIT = "0"
      PYTHON = "python"
      PYTHONFRAMEWORK = ""
      PYTHONFRAMEWORKDIR = "no-framework"
      PYTHONFRAMEWORKINSTALLDIR = ""
      PYTHONFRAMEWORKPREFIX = ""
      PYTHONPATH = ""
      PYTHON_FOR_BUILD = "./python -E"
      PYTHON_FOR_BUILD_DEPS = "python"
      PYTHON_FOR_FREEZE = "./_bootstrap_python"
      PYTHON_FOR_REGEN = ""
      PYTHON_HEADERS = "\"
      PYTHON_OBJS = "\"
      PY_BUILTIN_HASHLIB_HASHES = ""md5,sha1,sha2,sha3,blake2""
      PY_BUILTIN_MODULE_CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g       -fstack-protector-strong -Wformat -Werror=format-security  -g -fwrapv -O2    -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I../Include/internal -IObjects -IInclude -IPython -I. -I../Include -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPy_BUILD_CORE_BUILTIN"
      PY_CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g       -fstack-protector-strong -Wformat -Werror=format-security  -g -fwrapv -O2   "
      PY_CFLAGS_NODIST = "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I../Include/internal"
      PY_COERCE_C_LOCALE = "1"
      PY_CORE_CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g       -fstack-protector-strong -Wformat -Werror=format-security  -g -fwrapv -O2    -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I../Include/internal -IObjects -IInclude -IPython -I. -I../Include -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPy_BUILD_CORE"
      PY_CORE_LDFLAGS = "-Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
      PY_CPPFLAGS = "-IObjects -IInclude -IPython -I. -I../Include -Wdate-time -D_FORTIFY_SOURCE=2"
      PY_ENABLE_SHARED = "1"
      PY_HAVE_PERF_TRAMPOLINE = "1"
      PY_LDFLAGS = "-Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
      PY_LDFLAGS_NODIST = ""
      PY_LDFLAGS_NOLTO = "-Wl,-Bsymbolic-functions      -g -fwrapv -O2   "
      PY_SQLITE_ENABLE_LOAD_EXTENSION = "1"
      PY_SQLITE_HAVE_SERIALIZE = "1"
      PY_SSL_DEFAULT_CIPHERS = "1"
      PY_SSL_DEFAULT_CIPHER_STRING = "0"
      PY_STDMODULE_CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g       -fstack-protector-strong -Wformat -Werror=format-security  -g -fwrapv -O2    -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I../Include/internal -IObjects -IInclude -IPython -I. -I../Include -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC"
      PY_SUPPORT_TIER = "1"
      Py_DEBUG = "0"
      Py_ENABLE_SHARED = "1"
      Py_HASH_ALGORITHM = "0"
      Py_STATS = "0"
      Py_SUNOS_VERSION = "0"
      Py_TRACE_REFS = "0"
      QUICKTESTOPTS = "-x test_subprocess test_io test_lib2to3 \"
      READELF = "@READELF@"
      RESSRCDIR = "Mac/Resources/framework"
      RETSIGTYPE = "void"
      RUNSHARED = "LD_LIBRARY_PATH=/build/python3.12-pOdM36/python3.12-3.12.13/build-shared"
      SCRIPTDIR = "/usr/lib"
      SCRIPT_2TO3 = "build/scripts-3.12/2to3-3.12"
      SCRIPT_IDLE = "build/scripts-3.12/idle3.12"
      SCRIPT_PYDOC = "build/scripts-3.12/pydoc3.12"
      SETPGRP_HAVE_ARG = "0"
      SHAREDMODS = "Modules/_asyncio.cpython-312-x86_64-linux-gnu.so Modules/_contextvars.cpython-312-x86_64-linux-gnu.so Modules/_json.cpython-312-x86_64-linux-gnu.so Modules/_lsprof.cpython-312-x86_64-linux-gnu.so Modules/_queue.cpython-312-x86_64-linux-gnu.so Modules/_xxsubinterpreters.cpython-312-x86_64-linux-gnu.so Modules/_xxinterpchannels.cpython-312-x86_64-linux-gnu.so Modules/_zoneinfo.cpython-312-x86_64-linux-gnu.so Modules/audioop.cpython-312-x86_64-linux-gnu.so Modules/_decimal.cpython-312-x86_64-linux-gnu.so Modules/_bz2.cpython-312-x86_64-linux-gnu.so Modules/_lzma.cpython-312-x86_64-linux-gnu.so Modules/_dbm.cpython-312-x86_64-linux-gnu.so Modules/_gdbm.cpython-312-x86_64-linux-gnu.so Modules/readline.cpython-312-x86_64-linux-gnu.so Modules/_codecs_cn.cpython-312-x86_64-linux-gnu.so Modules/_codecs_hk.cpython-312-x86_64-linux-gnu.so Modules/_codecs_iso2022.cpython-312-x86_64-linux-gnu.so Modules/_codecs_jp.cpython-312-x86_64-linux-gnu.so Modules/_codecs_kr.cpython-312-x86_64-linux-gnu.so Modules/_codecs_tw.cpython-312-x86_64-linux-gnu.so Modules/_multibytecodec.cpython-312-x86_64-linux-gnu.so Modules/_crypt.cpython-312-x86_64-linux-gnu.so Modules/mmap.cpython-312-x86_64-linux-gnu.so Modules/nis.cpython-312-x86_64-linux-gnu.so Modules/ossaudiodev.cpython-312-x86_64-linux-gnu.so Modules/resource.cpython-312-x86_64-linux-gnu.so Modules/termios.cpython-312-x86_64-linux-gnu.so Modules/_posixshmem.cpython-312-x86_64-linux-gnu.so Modules/_multiprocessing.cpython-312-x86_64-linux-gnu.so Modules/_ctypes.cpython-312-x86_64-linux-gnu.so Modules/_curses.cpython-312-x86_64-linux-gnu.so Modules/_curses_panel.cpython-312-x86_64-linux-gnu.so Modules/_sqlite3.cpython-312-x86_64-linux-gnu.so Modules/_ssl.cpython-312-x86_64-linux-gnu.so Modules/_hashlib.cpython-312-x86_64-linux-gnu.so Modules/_uuid.cpython-312-x86_64-linux-gnu.so Modules/_tkinter.cpython-312-x86_64-linux-gnu.so Modules/xxsubtype.cpython-312-x86_64-linux-gnu.so Modules/_xxtestfuzz.cpython-312-x86_64-linux-gnu.so Modules/_testbuffer.cpython-312-x86_64-linux-gnu.so Modules/_testinternalcapi.cpython-312-x86_64-linux-gnu.so Modules/_testcapi.cpython-312-x86_64-linux-gnu.so Modules/_testclinic.cpython-312-x86_64-linux-gnu.so Modules/_testimportmultiple.cpython-312-x86_64-linux-gnu.so Modules/_testmultiphase.cpython-312-x86_64-linux-gnu.so Modules/_testsinglephase.cpython-312-x86_64-linux-gnu.so Modules/_ctypes_test.cpython-312-x86_64-linux-gnu.so Modules/xxlimited.cpython-312-x86_64-linux-gnu.so Modules/xxlimited_35.cpython-312-x86_64-linux-gnu.so"
      SHELL = "/bin/sh -e"
      SHLIBS = "-ldl"
      SHLIB_SUFFIX = ".so"
      SIGNED_RIGHT_SHIFT_ZERO_FILLS = "0"
      SITEPATH = ""
      SIZEOF_DOUBLE = "8"
      SIZEOF_FLOAT = "4"
      SIZEOF_FPOS_T = "16"
      SIZEOF_INT = "4"
      SIZEOF_LONG = "8"
      SIZEOF_LONG_DOUBLE = "16"
      SIZEOF_LONG_LONG = "8"
      SIZEOF_OFF_T = "8"
      SIZEOF_PID_T = "4"
      SIZEOF_PTHREAD_KEY_T = "4"
      SIZEOF_PTHREAD_T = "8"
      SIZEOF_SHORT = "2"
      SIZEOF_SIZE_T = "8"
      SIZEOF_TIME_T = "8"
      SIZEOF_UINTPTR_T = "8"
      SIZEOF_VOID_P = "8"
      SIZEOF_WCHAR_T = "4"
      SIZEOF__BOOL = "1"
      SOABI = "cpython-312-x86_64-linux-gnu"
      SRCDIRS = "Modules   Modules/_blake2   Modules/_ctypes   Modules/_decimal   Modules/_decimal/libmpdec   Modules/_hacl   Modules/_io   Modules/_multiprocessing   Modules/_sqlite   Modules/_sre   Modules/_testcapi   Modules/_xxtestfuzz   Modules/cjkcodecs   Modules/expat   Objects   Parser   Programs   Python   Python/frozen_modules   Python/deepfreeze"
      SRC_GDB_HOOKS = "../Tools/gdb/libpython.py"
      STATIC_LIBPYTHON = "1"
      STDC_HEADERS = "1"
      STRICT_SYSV_CURSES = "/* Don't use ncurses extensions */"
      STRIPFLAG = "-s"
      SUBDIRS = ""
      SUBDIRSTOO = "Include Lib Misc"
      SYSLIBS = "-lm"
      SYS_SELECT_WITH_SYS_TIME = "1"
      TESTOPTS = ""
      TESTPATH = ""
      TESTPYTHON = "LD_LIBRARY_PATH=/build/python3.12-pOdM36/python3.12-3.12.13/build-shared ./python -E"
      TESTPYTHONOPTS = ""
      TESTRUNNER = "LD_LIBRARY_PATH=/build/python3.12-pOdM36/python3.12-3.12.13/build-shared ./python -E ../Tools/scripts/run_tests.py"
      TESTSUBDIRS = "idlelib/idle_test \"
      TESTTIMEOUT = "1200"
      TEST_MODULES = "yes"
      THREAD_STACK_SIZE = "0"
      TIMEMODULE_LIB = "0"
      TM_IN_SYS_TIME = "0"
      TZPATH = "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo"
      UNICODE_DEPS = "\"
      UNIVERSALSDK = ""
      UPDATE_FILE = "../Tools/build/update_file.py"
      USE_COMPUTED_GOTOS = "1"
      VERSION = "3.12"
      VPATH = ".."
      WASM_ASSETS_DIR = "./usr"
      WASM_STDLIB = "./usr/lib/python3.12/os.py"
      WHEEL_PKG_DIR = ""
      WINDOW_HAS_FLAGS = "1"
      WITH_DECIMAL_CONTEXTVAR = "1"
      WITH_DOC_STRINGS = "1"
      WITH_DTRACE = "0"
      WITH_DYLD = "0"
      WITH_EDITLINE = "0"
      WITH_FREELISTS = "1"
      WITH_LIBINTL = "0"
      WITH_NEXT_FRAMEWORK = "0"
      WITH_PYMALLOC = "1"
      WITH_VALGRIND = "0"
      X87_DOUBLE_ROUNDING = "0"
      XMLLIBSUBDIRS = "xml xml/dom xml/etree xml/parsers xml/sax"
      abiflags = ""
      abs_builddir = "/build/python3.12-pOdM36/python3.12-3.12.13/build-shared"
      abs_srcdir = "/build/python3.12-pOdM36/python3.12-3.12.13/build-shared/.."
      base = "/home/<user>/code/project-name/.venv"
      datarootdir = "/usr/share"
      exec_prefix = "/usr"
      installed_base = "/usr"
      installed_platbase = "/usr"
      multiarchsubdir = "/x86_64-linux-gnu"
      platbase = "/home/<user>/code/project-name/.venv"
      platlibdir = "lib"
      prefix = "/usr"
      projectbase = "/usr/bin"
      py_version = "3.12.13"
      py_version_nodot = "312"
      py_version_nodot_plat = ""
      py_version_short = "3.12"
      srcdir = "/usr/lib/python3.12/config-3.12-x86_64-linux-gnu"
      userbase = "/home/<user>/.local"
Example pyproject.toml
[project]
name = "poetry-issue"
version = "0.1.0"
requires-python = ">=3.12"

[[tool.poetry.source]]
name = "pytorch_cpu"
url = "https://download.pytorch.org/whl/cpu"
priority = "explicit"

[tool.poetry.dependencies]
python = ">=3.12,<3.13"
torch = [
    { version = "^2.6.0+cpu", source = "pytorch_cpu", markers = "sys_platform == 'linux'" },
    { version = "^2.6.0", markers = "sys_platform == 'darwin'" }
]
torchvision = [
    { version = "0.21.0+cpu", source = "pytorch_cpu", markers = "sys_platform == 'linux'" },
    { version = "^0.21.0", markers = "sys_platform == 'darwin'" }
]
Poetry Runtime Logs
poetry-runtime.log

[poetry_lock_output.txt](https://github.com/user-attachments/files/30178856/poetry_lock_output.txt)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the minimal pyproject.toml reproduction and run poetry lock -vvv to compare the resolver override branches with the generated poetry.lock. Trace the lock-file generation or merge step after branch resolution; done means triton retains only its valid dependency context and no contradictory marker is written or exported.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.