python-poetry / poetry

Python packaging and dependency management made easy
https://python-poetry.org
MIT License
31.7k stars 2.27k forks source link

Package docutils (0.21.post1) not found. #9293

Closed black-snow closed 7 months ago

black-snow commented 7 months ago

Please see @joekiller 's investigation below.

Description

Cross-posting https://github.com/pypa/twine/issues/1082 for I think it's rather an issue with poetry.

When I try poetry add twine in a real or an empty project I receive:

Package docutils (0.21.post1) not found.

I don't quite see why but I'll post the debug info below.

Workarounds

Works when installed via pip.
Works when I add 0.21 without the nonexisting post1 to the dev dependencies explicitly. Can't spot where the dependency comes from - graph yields nothing for it cannot be installed but pip does neither.

Poetry Installation Method

other

Operating System

macOS

Poetry Version

1.8.2_1

Poetry Configuration

cache-dir = "/Users/xxx/Library/Caches/pypoetry"
experimental.system-git-client = false
installer.max-workers = null
installer.modern-installation = true
installer.no-binary = null
installer.parallel = true
keyring.enabled = true
solver.lazy-wheel = true
virtualenvs.create = true
virtualenvs.in-project = true
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.no-setuptools = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}/virtualenvs"  # /Users/xxx/Library/Caches/pypoetry/virtualenvs
virtualenvs.prefer-active-python = false
virtualenvs.prompt = "{project_name}-py{python_version}"
warnings.export = true

Python Sysconfig

Platform: "macosx-14.0-arm64"
Python version: "3.12"
Current installation scheme: "venv"

Paths: 
        data = "/Users/xxx/projects/xyz/.venv"
        include = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/include/python3.12"
        platinclude = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/include/python3.12"
        platlib = "/Users/xxx/projects/xyz/.venv/lib/python3.12/site-packages"
        platstdlib = "/Users/xxx/projects/xyz/.venv/lib/python3.12"
        purelib = "/Users/xxx/projects/xyz/.venv/lib/python3.12/site-packages"
        scripts = "/Users/xxx/projects/xyz/.venv/bin"
        stdlib = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/lib/python3.12"

Variables: 
        ABIFLAGS = ""
        AC_APPLE_UNIVERSAL_BUILD = "0"
        AIX_BUILDDATE = "0"
        AIX_GENUINE_CPLUSPLUS = "0"
        ALIGNOF_LONG = "8"
        ALIGNOF_MAX_ALIGN_T = "8"
        ALIGNOF_SIZE_T = "8"
        ALT_SOABI = "0"
        ANDROID_API_LEVEL = "0"
        AR = "/usr/bin/xcrun ar"
        ARFLAGS = "rcs"
        BASECFLAGS = "-fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic"
        BASECPPFLAGS = ""
        BASEMODLIBS = ""
        BINDIR = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/bin"
        BINLIBDEST = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/lib/python3.12"
        BLDLIBRARY = ""
        BLDSHARED = "clang -bundle -undefined dynamic_lookup -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk"
        BOOTSTRAP_HEADERS = "\"
        BUILDEXE = ".exe"
        BUILDPYTHON = "python.exe"
        BUILD_GNU_TYPE = "aarch64-apple-darwin23.2.0"
        BUILD_SCRIPTS_DIR = "build/scripts-3.12"
        BYTESTR_DEPS = "\"
        CC = "clang"
        CCSHARED = ""
        CFLAGS = "-fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk"
        CFLAGSFORSHARED = ""
        CFLAGS_ALIASING = "-fno-strict-aliasing"
        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 = "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk"
        CONFIGURE_CFLAGS_NODIST = "-I/opt/homebrew/include -flto=thin -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden"
        CONFIGURE_CPPFLAGS = "-I/opt/homebrew/include"
        CONFIGURE_LDFLAGS = "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk"
        CONFIGURE_LDFLAGS_NODIST = "-L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -flto=thin -Wl,-export_dynamic -Wl,-object_path_lto,"$@".lto -g"
        CONFIGURE_LDFLAGS_NOLTO = "-flto=thin"
        CONFIG_ARGS = "'--prefix=/opt/homebrew/opt/python@3.12' '--enable-ipv6' '--datarootdir=/opt/homebrew/opt/python@3.12/share' '--datadir=/opt/homebrew/opt/python@3.12/share' '--without-ensurepip' '--enable-loadable-sqlite-extensions' '--with-openssl=/opt/homebrew/opt/openssl@3' '--enable-optimizations' '--with-system-expat' '--with-system-libmpdec' '--with-readline=editline' '--with-lto' '--enable-framework=/opt/homebrew/opt/python@3.12/Frameworks' '--with-dtrace' '--with-dbmliborder=ndbm' 'MACOSX_DEPLOYMENT_TARGET=14' 'CFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk' 'CFLAGS_NODIST=-I/opt/homebrew/include' 'LDFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk' 'LDFLAGS_NODIST=-L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib' 'CPPFLAGS=-I/opt/homebrew/include' 'py_cv_module__tkinter=disabled' 'PKG_CONFIG_PATH=/opt/homebrew/opt/mpdecimal/lib/pkgconfig:/opt/homebrew/opt/openssl@3/lib/pkgconfig:/opt/homebrew/opt/readline/lib/pkgconfig:/opt/homebrew/opt/sqlite/lib/pkgconfig:/opt/homebrew/opt/xz/lib/pkgconfig' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/opt/homebrew/Library/Homebrew/os/mac/pkgconfig/14' 'CC=clang'"
        CONFINCLUDEDIR = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/include"
        CONFINCLUDEPY = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/include/python3.12"
        COREPYTHONPATH = ""
        COVERAGE_INFO = "/private/tmp/pythonA3.12-20240219-24305-iklnh8/Python-3.12.2/coverage.info"
        COVERAGE_LCOV_OPTIONS = "--rc lcov_branch_coverage=1"
        COVERAGE_REPORT = "/private/tmp/pythonA3.12-20240219-24305-iklnh8/Python-3.12.2/lcov-report"
        COVERAGE_REPORT_OPTIONS = "--rc lcov_branch_coverage=1 --branch-coverage --title "CPython 3.12 LCOV report [commit $(shell )]""
        CPPFLAGS = "-I. -I./Include -I/opt/homebrew/include"
        CXX = "clang++"
        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 = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12 /opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/lib /opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/lib/python3.12 /opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload"
        DESTLIB = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/lib/python3.12"
        DESTPATH = ""
        DESTSHARED = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/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 = "/usr/sbin/dtrace"
        DTRACE_DEPS = "\"
        DTRACE_HEADERS = "Include/pydtrace_probes.h"
        DTRACE_OBJS = ""
        DYNLOADFILE = "dynload_shlib.o"
        ENABLE_IPV6 = "1"
        ENSUREPIP = "no"
        EXE = ""
        EXEMODE = "755"
        EXENAME = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/bin/python3.12"
        EXPORTSFROM = ""
        EXPORTSYMS = ""
        EXTRATESTOPTS = ""
        EXTRA_CFLAGS = ""
        EXT_SUFFIX = ".cpython-312-darwin.so"
        FILEMODE = "644"
        FLOAT_WORDS_BIGENDIAN = "0"
        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 = "no"
        HAVE_ACCEPT = "1"
        HAVE_ACCEPT4 = "0"
        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 = "0"
        HAVE_ATANH = "1"
        HAVE_BIND = "1"
        HAVE_BIND_TEXTDOMAIN_CODESET = "0"
        HAVE_BLUETOOTH_BLUETOOTH_H = "0"
        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 = "1"
        HAVE_BROKEN_UNSETENV = "0"
        HAVE_BUILTIN_ATOMIC = "1"
        HAVE_BZLIB_H = "1"
        HAVE_CHFLAGS = "1"
        HAVE_CHMOD = "1"
        HAVE_CHOWN = "1"
        HAVE_CHROOT = "1"
        HAVE_CLOCK = "1"
        HAVE_CLOCK_GETRES = "1"
        HAVE_CLOCK_GETTIME = "1"
        HAVE_CLOCK_NANOSLEEP = "0"
        HAVE_CLOCK_SETTIME = "1"
        HAVE_CLOSE_RANGE = "0"
        HAVE_COMPUTED_GOTOS = "1"
        HAVE_CONFSTR = "1"
        HAVE_CONIO_H = "0"
        HAVE_CONNECT = "1"
        HAVE_COPY_FILE_RANGE = "0"
        HAVE_CRYPT_H = "0"
        HAVE_CRYPT_R = "0"
        HAVE_CTERMID = "1"
        HAVE_CTERMID_R = "1"
        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 = "0"
        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 = "0"
        HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH = "1"
        HAVE_DYNAMIC_LOADING = "1"
        HAVE_EDITLINE_READLINE_H = "0"
        HAVE_ENDIAN_H = "0"
        HAVE_EPOLL = "0"
        HAVE_EPOLL_CREATE1 = "0"
        HAVE_ERF = "1"
        HAVE_ERFC = "1"
        HAVE_ERRNO_H = "1"
        HAVE_EVENTFD = "0"
        HAVE_EXECV = "1"
        HAVE_EXPLICIT_BZERO = "0"
        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 = "0"
        HAVE_FDOPENDIR = "1"
        HAVE_FDWALK = "0"
        HAVE_FEXECVE = "0"
        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 = "0"
        HAVE_GAI_STRERROR = "1"
        HAVE_GCC_ASM_FOR_MC68881 = "0"
        HAVE_GCC_ASM_FOR_X64 = "0"
        HAVE_GCC_ASM_FOR_X87 = "0"
        HAVE_GCC_UINT128_T = "1"
        HAVE_GDBM_DASH_NDBM_H = "0"
        HAVE_GDBM_H = "0"
        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 = "0"
        HAVE_GETHOSTBYNAME_R_3_ARG = "0"
        HAVE_GETHOSTBYNAME_R_5_ARG = "0"
        HAVE_GETHOSTBYNAME_R_6_ARG = "0"
        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 = "0"
        HAVE_GETRANDOM_SYSCALL = "0"
        HAVE_GETRESGID = "0"
        HAVE_GETRESUID = "0"
        HAVE_GETRUSAGE = "1"
        HAVE_GETSERVBYNAME = "1"
        HAVE_GETSERVBYPORT = "1"
        HAVE_GETSID = "1"
        HAVE_GETSOCKNAME = "1"
        HAVE_GETSPENT = "0"
        HAVE_GETSPNAM = "0"
        HAVE_GETUID = "1"
        HAVE_GETWD = "1"
        HAVE_GLIBC_MEMMOVE_BUG = "0"
        HAVE_GRP_H = "1"
        HAVE_HSTRERROR = "1"
        HAVE_HTOLE64 = "0"
        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 = "1"
        HAVE_LANGINFO_H = "1"
        HAVE_LARGEFILE_SUPPORT = "0"
        HAVE_LCHFLAGS = "1"
        HAVE_LCHMOD = "1"
        HAVE_LCHOWN = "1"
        HAVE_LIBB2 = "0"
        HAVE_LIBDB = "0"
        HAVE_LIBDL = "1"
        HAVE_LIBDLD = "0"
        HAVE_LIBIEEE = "0"
        HAVE_LIBINTL_H = "0"
        HAVE_LIBRESOLV = "0"
        HAVE_LIBSENDFILE = "0"
        HAVE_LIBSQLITE3 = "1"
        HAVE_LIBUTIL_H = "0"
        HAVE_LINK = "1"
        HAVE_LINKAT = "1"
        HAVE_LINUX_AUXVEC_H = "0"
        HAVE_LINUX_CAN_BCM_H = "0"
        HAVE_LINUX_CAN_H = "0"
        HAVE_LINUX_CAN_J1939_H = "0"
        HAVE_LINUX_CAN_RAW_FD_FRAMES = "0"
        HAVE_LINUX_CAN_RAW_H = "0"
        HAVE_LINUX_CAN_RAW_JOIN_FILTERS = "0"
        HAVE_LINUX_FS_H = "0"
        HAVE_LINUX_LIMITS_H = "0"
        HAVE_LINUX_MEMFD_H = "0"
        HAVE_LINUX_NETLINK_H = "0"
        HAVE_LINUX_QRTR_H = "0"
        HAVE_LINUX_RANDOM_H = "0"
        HAVE_LINUX_SOUNDCARD_H = "0"
        HAVE_LINUX_TIPC_H = "0"
        HAVE_LINUX_VM_SOCKETS_H = "0"
        HAVE_LINUX_WAIT_H = "0"
        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 = "0"
        HAVE_MEMRCHR = "0"
        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 = "0"
        HAVE_NANOSLEEP = "1"
        HAVE_NCURSESW = "1"
        HAVE_NCURSES_H = "1"
        HAVE_NDBM_H = "1"
        HAVE_NDIR_H = "0"
        HAVE_NETCAN_CAN_H = "0"
        HAVE_NETDB_H = "1"
        HAVE_NETINET_IN_H = "1"
        HAVE_NETPACKET_PACKET_H = "0"
        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 = "0"
        HAVE_PLOCK = "0"
        HAVE_POLL = "1"
        HAVE_POLL_H = "1"
        HAVE_POSIX_FADVISE = "0"
        HAVE_POSIX_FALLOCATE = "0"
        HAVE_POSIX_SPAWN = "1"
        HAVE_POSIX_SPAWNP = "1"
        HAVE_PREAD = "1"
        HAVE_PREADV = "1"
        HAVE_PREADV2 = "0"
        HAVE_PRLIMIT = "0"
        HAVE_PROCESS_H = "0"
        HAVE_PROTOTYPES = "1"
        HAVE_PTHREAD_CONDATTR_SETCLOCK = "0"
        HAVE_PTHREAD_DESTRUCTOR = "0"
        HAVE_PTHREAD_GETCPUCLOCKID = "0"
        HAVE_PTHREAD_H = "1"
        HAVE_PTHREAD_INIT = "0"
        HAVE_PTHREAD_KILL = "1"
        HAVE_PTHREAD_SIGMASK = "1"
        HAVE_PTHREAD_STUBS = "0"
        HAVE_PTY_H = "0"
        HAVE_PWRITE = "1"
        HAVE_PWRITEV = "1"
        HAVE_PWRITEV2 = "0"
        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 = "0"
        HAVE_RL_CATCH_SIGNAL = "0"
        HAVE_RL_COMPDISP_FUNC_T = "0"
        HAVE_RL_COMPLETION_APPEND_CHARACTER = "1"
        HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK = "1"
        HAVE_RL_COMPLETION_MATCHES = "1"
        HAVE_RL_COMPLETION_SUPPRESS_APPEND = "0"
        HAVE_RL_PRE_INPUT_HOOK = "1"
        HAVE_RL_RESIZE_TERMINAL = "0"
        HAVE_RPC_RPC_H = "1"
        HAVE_RTPSPAWN = "0"
        HAVE_SCHED_GET_PRIORITY_MAX = "1"
        HAVE_SCHED_H = "1"
        HAVE_SCHED_RR_GET_INTERVAL = "0"
        HAVE_SCHED_SETAFFINITY = "0"
        HAVE_SCHED_SETPARAM = "0"
        HAVE_SCHED_SETSCHEDULER = "0"
        HAVE_SEM_CLOCKWAIT = "0"
        HAVE_SEM_GETVALUE = "1"
        HAVE_SEM_OPEN = "1"
        HAVE_SEM_TIMEDWAIT = "0"
        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 = "0"
        HAVE_SETPGID = "1"
        HAVE_SETPGRP = "1"
        HAVE_SETPRIORITY = "1"
        HAVE_SETREGID = "1"
        HAVE_SETRESGID = "0"
        HAVE_SETRESUID = "0"
        HAVE_SETREUID = "1"
        HAVE_SETSID = "1"
        HAVE_SETSOCKOPT = "1"
        HAVE_SETUID = "1"
        HAVE_SETVBUF = "1"
        HAVE_SHADOW_H = "0"
        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 = "0"
        HAVE_SIGWAIT = "1"
        HAVE_SIGWAITINFO = "0"
        HAVE_SNPRINTF = "1"
        HAVE_SOCKADDR_ALG = "0"
        HAVE_SOCKADDR_SA_LEN = "1"
        HAVE_SOCKADDR_STORAGE = "1"
        HAVE_SOCKET = "1"
        HAVE_SOCKETPAIR = "1"
        HAVE_SPAWN_H = "1"
        HAVE_SPLICE = "0"
        HAVE_SSIZE_T = "1"
        HAVE_STATVFS = "1"
        HAVE_STAT_TV_NSEC = "0"
        HAVE_STAT_TV_NSEC2 = "1"
        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 = "1"
        HAVE_STROPTS_H = "0"
        HAVE_STRSIGNAL = "1"
        HAVE_STRUCT_PASSWD_PW_GECOS = "1"
        HAVE_STRUCT_PASSWD_PW_PASSWD = "1"
        HAVE_STRUCT_STAT_ST_BIRTHTIME = "1"
        HAVE_STRUCT_STAT_ST_BLKSIZE = "1"
        HAVE_STRUCT_STAT_ST_BLOCKS = "1"
        HAVE_STRUCT_STAT_ST_FLAGS = "1"
        HAVE_STRUCT_STAT_ST_GEN = "1"
        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 = "0"
        HAVE_SYS_BSDTTY_H = "0"
        HAVE_SYS_DEVPOLL_H = "0"
        HAVE_SYS_DIR_H = "0"
        HAVE_SYS_ENDIAN_H = "0"
        HAVE_SYS_EPOLL_H = "0"
        HAVE_SYS_EVENTFD_H = "0"
        HAVE_SYS_EVENT_H = "1"
        HAVE_SYS_FILE_H = "1"
        HAVE_SYS_IOCTL_H = "1"
        HAVE_SYS_KERN_CONTROL_H = "1"
        HAVE_SYS_LOADAVG_H = "0"
        HAVE_SYS_LOCK_H = "1"
        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_POLL_H = "1"
        HAVE_SYS_RANDOM_H = "1"
        HAVE_SYS_RESOURCE_H = "1"
        HAVE_SYS_SELECT_H = "1"
        HAVE_SYS_SENDFILE_H = "0"
        HAVE_SYS_SOCKET_H = "1"
        HAVE_SYS_SOUNDCARD_H = "0"
        HAVE_SYS_STATVFS_H = "1"
        HAVE_SYS_STAT_H = "1"
        HAVE_SYS_SYSCALL_H = "1"
        HAVE_SYS_SYSMACROS_H = "0"
        HAVE_SYS_SYS_DOMAIN_H = "1"
        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 = "0"
        HAVE_TM_ZONE = "1"
        HAVE_TRUNCATE = "1"
        HAVE_TTYNAME = "1"
        HAVE_TZNAME = "0"
        HAVE_UMASK = "1"
        HAVE_UNAME = "1"
        HAVE_UNISTD_H = "1"
        HAVE_UNLINKAT = "1"
        HAVE_UNSHARE = "0"
        HAVE_USABLE_WCHAR_T = "0"
        HAVE_UTIL_H = "1"
        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 = "0"
        HAVE_UUID_H = "0"
        HAVE_UUID_UUID_H = "1"
        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 = "aarch64-apple-darwin23.2.0"
        INCLDIRSTOMAKE = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/include /opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/include /opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/include/python3.12 /opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/include/python3.12"
        INCLUDEDIR = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/include"
        INCLUDEPY = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/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 = "Python.framework/Versions/3.12/Python"
        IO_H = "Modules/_io/_iomodule.h"
        IO_OBJS = "\"
        LDCXXSHARED = "clang++ -bundle -undefined dynamic_lookup"
        LDFLAGS = "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk"
        LDLIBRARY = "Python.framework/Versions/3.12/Python"
        LDLIBRARYDIR = ""
        LDSHARED = "clang -bundle -undefined dynamic_lookup -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk"
        LDVERSION = "3.12"
        LIBC = ""
        LIBDEST = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/lib/python3.12"
        LIBDIR = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/lib"
        LIBEXPAT_A = "Modules/expat/libexpat.a"
        LIBEXPAT_CFLAGS = "-fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -I/opt/homebrew/include -flto=thin -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-use=code.profclangd -I./Include/internal -I. -I./Include -I/opt/homebrew/include"
        LIBEXPAT_HEADERS = "\"
        LIBEXPAT_OBJS = "\"
        LIBHACL_CFLAGS = "-I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -I/opt/homebrew/include -flto=thin -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-use=code.profclangd -I./Include/internal -I. -I./Include -I/opt/homebrew/include"
        LIBHACL_HEADERS = "\"
        LIBHACL_SHA2_A = "Modules/_hacl/libHacl_Hash_SHA2.a"
        LIBHACL_SHA2_HEADERS = "\"
        LIBHACL_SHA2_OBJS = "\"
        LIBM = ""
        LIBMPDEC_A = "Modules/_decimal/libmpdec/libmpdec.a"
        LIBMPDEC_CFLAGS = "-DCONFIG_64=1 -DANSI=1 -DHAVE_UINT128_T=1 -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -I/opt/homebrew/include -flto=thin -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-use=code.profclangd -I./Include/internal -I. -I./Include -I/opt/homebrew/include"
        LIBMPDEC_HEADERS = "\"
        LIBMPDEC_OBJS = "\"
        LIBOBJDIR = "Python/"
        LIBOBJS = ""
        LIBPC = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/lib/pkgconfig"
        LIBPL = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/lib/python3.12/config-3.12-darwin"
        LIBPYTHON = ""
        LIBRARY = "libpython3.12.a"
        LIBRARY_DEPS = "libpython3.12.a Python.framework/Versions/3.12/Python"
        LIBRARY_OBJS = "\"
        LIBRARY_OBJS_OMIT_FROZEN = "\"
        LIBS = "-ldl  -framework CoreFoundation"
        LIBSUBDIRS = "asyncio \"
        LINKCC = "clang"
        LINKFORSHARED = "-Wl,-stack_size,1000000  -framework CoreFoundation /opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/Python"
        LINK_PYTHON_DEPS = "libpython3.12.a Python.framework/Versions/3.12/Python"
        LINK_PYTHON_OBJS = ""
        LIPO_32BIT_FLAGS = ""
        LIPO_INTEL64_FLAGS = ""
        LLVM_PROF_ERR = "no"
        LLVM_PROF_FILE = "LLVM_PROFILE_FILE="code-%p.profclangr""
        LLVM_PROF_MERGER = "/usr/bin/xcrun llvm-profdata merge -output=code.profclangd *.profclangr"
        LN = "ln"
        LOCALMODLIBS = ""
        MACHDEP = "darwin"
        MACHDEP_OBJS = ""
        MACHDESTLIB = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/lib/python3.12"
        MACOSX_DEPLOYMENT_TARGET = "14"
        MAJOR_IN_MKDEV = "0"
        MAJOR_IN_SYSMACROS = "0"
        MAKESETUP = "./Modules/makesetup"
        MANDIR = "/opt/homebrew/opt/python@3.12/share/man"
        MKDIR_P = "./install-sh -c -d"
        MODBUILT_NAMES = "array  _asyncio  _bisect  _contextvars  _csv  _heapq  _json  _lsprof  _opcode  _pickle  _queue  _random  _struct  _xxsubinterpreters  _xxinterpchannels  _zoneinfo  audioop  math  cmath  _statistics  _datetime  _decimal  binascii  _bz2  _lzma  zlib  _dbm  readline  _md5  _sha1  _sha2  _sha3  _blake2  pyexpat  _elementtree  _codecs_cn  _codecs_hk  _codecs_iso2022  _codecs_jp  _codecs_kr  _codecs_tw  _multibytecodec  unicodedata  _crypt  fcntl  grp  mmap  nis  _posixsubprocess  resource  select  _socket  syslog  termios  _posixshmem  _multiprocessing  _ctypes  _curses  _curses_panel  _sqlite3  _ssl  _hashlib  _uuid  _scproxy  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 = ""
        MODOBJS = "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 = "array _asyncio _bisect _contextvars _csv _heapq _json _lsprof _opcode _pickle _queue _random _struct _xxsubinterpreters _xxinterpchannels _zoneinfo audioop math cmath _statistics _datetime _decimal binascii _bz2 _lzma zlib _dbm readline _md5 _sha1 _sha2 _sha3 _blake2 pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata _crypt fcntl grp mmap nis _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _scproxy xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testclinic _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35"
        MODULE_ARRAY_STATE = "yes"
        MODULE_ATEXIT_LDFLAGS = ""
        MODULE_AUDIOOP_LDFLAGS = ""
        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 = ""
        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_STATE = "yes"
        MODULE_ITERTOOLS_LDFLAGS = ""
        MODULE_MATH_DEPS = "./Modules/_math.h"
        MODULE_MATH_LDFLAGS = ""
        MODULE_MATH_STATE = "yes"
        MODULE_MMAP_STATE = "yes"
        MODULE_NIS_CFLAGS = ""
        MODULE_NIS_LDFLAGS = ""
        MODULE_NIS_STATE = "yes"
        MODULE_OBJS = "\"
        MODULE_OSSAUDIODEV_STATE = "n/a"
        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 = "-I/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/editline"
        MODULE_READLINE_LDFLAGS = "-ledit"
        MODULE_READLINE_STATE = "yes"
        MODULE_RESOURCE_STATE = "yes"
        MODULE_SELECT_STATE = "yes"
        MODULE_SPWD_STATE = "n/a"
        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_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_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 = ""
        MODULE__CRYPT_STATE = "yes"
        MODULE__CSV_STATE = "yes"
        MODULE__CTYPES_CFLAGS = "-fno-strict-overflow -I/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/ffi -DUSING_APPLE_OS_LIBFFI=1 -DUSING_MALLOC_CLOSURE_DOT_C=1"
        MODULE__CTYPES_DEPS = "./Modules/_ctypes/ctypes.h"
        MODULE__CTYPES_LDFLAGS = "-lffi -ldl"
        MODULE__CTYPES_MALLOC_CLOSURE = "_ctypes/malloc_closure.c"
        MODULE__CTYPES_STATE = "yes"
        MODULE__CTYPES_TEST_LDFLAGS = ""
        MODULE__CTYPES_TEST_STATE = "yes"
        MODULE__CURSES_CFLAGS = "-D_DARWIN_C_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
        MODULE__CURSES_LDFLAGS = "-lncurses"
        MODULE__CURSES_PANEL_CFLAGS = "-D_DARWIN_C_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
        MODULE__CURSES_PANEL_LDFLAGS = "-lpanel -lncurses"
        MODULE__CURSES_PANEL_STATE = "yes"
        MODULE__CURSES_STATE = "yes"
        MODULE__DATETIME_LDFLAGS = ""
        MODULE__DATETIME_STATE = "yes"
        MODULE__DBM_CFLAGS = "-DUSE_NDBM"
        MODULE__DBM_LDFLAGS = ""
        MODULE__DBM_STATE = "yes"
        MODULE__DECIMAL_CFLAGS = "-DCONFIG_64=1 -DANSI=1 -DHAVE_UINT128_T=1"
        MODULE__DECIMAL_DEPS = "./Modules/_decimal/docstrings.h"
        MODULE__DECIMAL_LDFLAGS = "-lmpdec"
        MODULE__DECIMAL_STATE = "yes"
        MODULE__ELEMENTTREE_CFLAGS = ""
        MODULE__ELEMENTTREE_DEPS = "./Modules/pyexpat.c"
        MODULE__ELEMENTTREE_STATE = "yes"
        MODULE__FUNCTOOLS_LDFLAGS = ""
        MODULE__GDBM_STATE = "disabled"
        MODULE__HASHLIB_CFLAGS = "-I/opt/homebrew/opt/openssl@3/include"
        MODULE__HASHLIB_DEPS = "./Modules/hashlib.h"
        MODULE__HASHLIB_LDFLAGS = "-L/opt/homebrew/opt/openssl@3/lib   -lcrypto"
        MODULE__HASHLIB_STATE = "yes"
        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 = "-I/opt/homebrew/Cellar/xz/5.4.5/include"
        MODULE__LZMA_LDFLAGS = "-L/opt/homebrew/Cellar/xz/5.4.5/lib -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_STATE = "yes"
        MODULE__OPERATOR_LDFLAGS = ""
        MODULE__PICKLE_STATE = "yes"
        MODULE__POSIXSHMEM_CFLAGS = "-I./Modules/_multiprocessing"
        MODULE__POSIXSHMEM_LDFLAGS = ""
        MODULE__POSIXSHMEM_STATE = "yes"
        MODULE__POSIXSUBPROCESS_STATE = "yes"
        MODULE__QUEUE_STATE = "yes"
        MODULE__RANDOM_STATE = "yes"
        MODULE__SCPROXY_LDFLAGS = "-framework SystemConfiguration -framework CoreFoundation"
        MODULE__SCPROXY_STATE = "yes"
        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_STATE = "yes"
        MODULE__SQLITE3_CFLAGS = "-I/opt/homebrew/opt/sqlite/include -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 = "-L/opt/homebrew/opt/sqlite/lib -lsqlite3"
        MODULE__SQLITE3_STATE = "yes"
        MODULE__SRE_LDFLAGS = ""
        MODULE__SSL_CFLAGS = "-I/opt/homebrew/opt/openssl@3/include"
        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 = "-L/opt/homebrew/opt/openssl@3/lib  -lssl -lcrypto"
        MODULE__SSL_STATE = "yes"
        MODULE__STATISTICS_LDFLAGS = ""
        MODULE__STATISTICS_STATE = "yes"
        MODULE__STAT_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_STATE = "missing"
        MODULE__TRACEMALLOC_LDFLAGS = ""
        MODULE__TYPING_LDFLAGS = ""
        MODULE__TYPING_STATE = "yes"
        MODULE__UUID_CFLAGS = ""
        MODULE__UUID_LDFLAGS = ""
        MODULE__UUID_STATE = "yes"
        MODULE__WEAKREF_LDFLAGS = ""
        MODULE__XXINTERPCHANNELS_STATE = "yes"
        MODULE__XXSUBINTERPRETERS_STATE = "yes"
        MODULE__XXTESTFUZZ_STATE = "yes"
        MODULE__ZONEINFO_STATE = "yes"
        MULTIARCH = "darwin"
        MULTIARCH_CPPFLAGS = "-DMULTIARCH=\"darwin\""
        MVWDELCH_IS_EXPRESSION = "1"
        NO_AS_NEEDED = ""
        OBJECT_OBJS = "\"
        OPT = "-DNDEBUG -g -O3 -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-instr-generate"
        PGO_PROF_USE_FLAG = "-fprofile-instr-use=code.profclangd"
        PLATLIBDIR = "lib"
        POBJS = "\"
        POSIX_SEMAPHORES_NOT_ENABLED = "0"
        PROFILE_TASK = "-m test --pgo --timeout=1200"
        PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT = "0"
        PTHREAD_SYSTEM_SCHED_SUPPORTED = "1"
        PURIFY = ""
        PY3LIBRARY = ""
        PYLONG_BITS_IN_DIGIT = "0"
        PYTHON = "python"
        PYTHONFRAMEWORK = "Python"
        PYTHONFRAMEWORKDIR = "Python.framework"
        PYTHONFRAMEWORKINSTALLDIR = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework"
        PYTHONFRAMEWORKPREFIX = "/opt/homebrew/opt/python@3.12/Frameworks"
        PYTHONPATH = ""
        PYTHON_FOR_BUILD = "./python.exe -E"
        PYTHON_FOR_BUILD_DEPS = "python.exe"
        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 -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -I/opt/homebrew/include -flto=thin -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-use=code.profclangd -I./Include/internal -I. -I./Include -I/opt/homebrew/include -DPy_BUILD_CORE_BUILTIN"
        PY_CFLAGS = "-fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk"
        PY_CFLAGS_NODIST = "-I/opt/homebrew/include -flto=thin -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-use=code.profclangd -I./Include/internal"
        PY_COERCE_C_LOCALE = "1"
        PY_CORE_CFLAGS = "-fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -I/opt/homebrew/include -flto=thin -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-use=code.profclangd -I./Include/internal -I. -I./Include -I/opt/homebrew/include -DPy_BUILD_CORE"
        PY_CORE_LDFLAGS = "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -flto=thin -Wl,-export_dynamic -Wl,-object_path_lto,"$@".lto -g"
        PY_CPPFLAGS = "-I. -I./Include -I/opt/homebrew/include"
        PY_ENABLE_SHARED = "0"
        PY_HAVE_PERF_TRAMPOLINE = "0"
        PY_LDFLAGS = "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk"
        PY_LDFLAGS_NODIST = "-L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -flto=thin -Wl,-export_dynamic -Wl,-object_path_lto,"$@".lto -g"
        PY_LDFLAGS_NOLTO = "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -flto=thin"
        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 -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -I/opt/homebrew/include -flto=thin -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-use=code.profclangd -I./Include/internal -I. -I./Include -I/opt/homebrew/include"
        PY_SUPPORT_TIER = "2"
        Py_DEBUG = "0"
        Py_ENABLE_SHARED = "0"
        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 = "DYLD_FRAMEWORK_PATH=/private/tmp/pythonA3.12-20240219-24305-iklnh8/Python-3.12.2"
        SCRIPTDIR = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/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/array.cpython-312-darwin.so Modules/_asyncio.cpython-312-darwin.so Modules/_bisect.cpython-312-darwin.so Modules/_contextvars.cpython-312-darwin.so Modules/_csv.cpython-312-darwin.so Modules/_heapq.cpython-312-darwin.so Modules/_json.cpython-312-darwin.so Modules/_lsprof.cpython-312-darwin.so Modules/_opcode.cpython-312-darwin.so Modules/_pickle.cpython-312-darwin.so Modules/_queue.cpython-312-darwin.so Modules/_random.cpython-312-darwin.so Modules/_struct.cpython-312-darwin.so Modules/_xxsubinterpreters.cpython-312-darwin.so Modules/_xxinterpchannels.cpython-312-darwin.so Modules/_zoneinfo.cpython-312-darwin.so Modules/audioop.cpython-312-darwin.so Modules/math.cpython-312-darwin.so Modules/cmath.cpython-312-darwin.so Modules/_statistics.cpython-312-darwin.so Modules/_datetime.cpython-312-darwin.so Modules/_decimal.cpython-312-darwin.so Modules/binascii.cpython-312-darwin.so Modules/_bz2.cpython-312-darwin.so Modules/_lzma.cpython-312-darwin.so Modules/zlib.cpython-312-darwin.so Modules/_dbm.cpython-312-darwin.so Modules/readline.cpython-312-darwin.so Modules/_md5.cpython-312-darwin.so Modules/_sha1.cpython-312-darwin.so Modules/_sha2.cpython-312-darwin.so Modules/_sha3.cpython-312-darwin.so Modules/_blake2.cpython-312-darwin.so Modules/pyexpat.cpython-312-darwin.so Modules/_elementtree.cpython-312-darwin.so Modules/_codecs_cn.cpython-312-darwin.so Modules/_codecs_hk.cpython-312-darwin.so Modules/_codecs_iso2022.cpython-312-darwin.so Modules/_codecs_jp.cpython-312-darwin.so Modules/_codecs_kr.cpython-312-darwin.so Modules/_codecs_tw.cpython-312-darwin.so Modules/_multibytecodec.cpython-312-darwin.so Modules/unicodedata.cpython-312-darwin.so Modules/_crypt.cpython-312-darwin.so Modules/fcntl.cpython-312-darwin.so Modules/grp.cpython-312-darwin.so Modules/mmap.cpython-312-darwin.so Modules/nis.cpython-312-darwin.so Modules/_posixsubprocess.cpython-312-darwin.so Modules/resource.cpython-312-darwin.so Modules/select.cpython-312-darwin.so Modules/_socket.cpython-312-darwin.so Modules/syslog.cpython-312-darwin.so Modules/termios.cpython-312-darwin.so Modules/_posixshmem.cpython-312-darwin.so Modules/_multiprocessing.cpython-312-darwin.so Modules/_ctypes.cpython-312-darwin.so Modules/_curses.cpython-312-darwin.so Modules/_curses_panel.cpython-312-darwin.so Modules/_sqlite3.cpython-312-darwin.so Modules/_ssl.cpython-312-darwin.so Modules/_hashlib.cpython-312-darwin.so Modules/_uuid.cpython-312-darwin.so Modules/_scproxy.cpython-312-darwin.so Modules/xxsubtype.cpython-312-darwin.so Modules/_xxtestfuzz.cpython-312-darwin.so Modules/_testbuffer.cpython-312-darwin.so Modules/_testinternalcapi.cpython-312-darwin.so Modules/_testcapi.cpython-312-darwin.so Modules/_testclinic.cpython-312-darwin.so Modules/_testimportmultiple.cpython-312-darwin.so Modules/_testmultiphase.cpython-312-darwin.so Modules/_testsinglephase.cpython-312-darwin.so Modules/_ctypes_test.cpython-312-darwin.so Modules/xxlimited.cpython-312-darwin.so Modules/xxlimited_35.cpython-312-darwin.so"
        SHELL = "/bin/sh -e"
        SHLIBS = "-ldl  -framework CoreFoundation"
        SHLIB_SUFFIX = ".so"
        SIGNED_RIGHT_SHIFT_ZERO_FILLS = "0"
        SITEPATH = ""
        SIZEOF_DOUBLE = "8"
        SIZEOF_FLOAT = "4"
        SIZEOF_FPOS_T = "8"
        SIZEOF_INT = "4"
        SIZEOF_LONG = "8"
        SIZEOF_LONG_DOUBLE = "8"
        SIZEOF_LONG_LONG = "8"
        SIZEOF_OFF_T = "8"
        SIZEOF_PID_T = "4"
        SIZEOF_PTHREAD_KEY_T = "8"
        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-darwin"
        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 = ""
        SYS_SELECT_WITH_SYS_TIME = "1"
        TESTOPTS = ""
        TESTPATH = ""
        TESTPYTHON = "DYLD_FRAMEWORK_PATH=/private/tmp/pythonA3.12-20240219-24305-iklnh8/Python-3.12.2 ./python.exe -E"
        TESTPYTHONOPTS = ""
        TESTRUNNER = "DYLD_FRAMEWORK_PATH=/private/tmp/pythonA3.12-20240219-24305-iklnh8/Python-3.12.2 ./python.exe -E ./Tools/scripts/run_tests.py"
        TESTSUBDIRS = "idlelib/idle_test \"
        TESTTIMEOUT = "1200"
        TEST_MODULES = "yes"
        THREAD_STACK_SIZE = "0x1000000"
        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 = "0"
        VERSION = "3.12"
        WASM_ASSETS_DIR = "./opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12"
        WASM_STDLIB = "./opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12/lib/python3.12/os.py"
        WHEEL_PKG_DIR = ""
        WINDOW_HAS_FLAGS = "1"
        WITH_DECIMAL_CONTEXTVAR = "1"
        WITH_DOC_STRINGS = "1"
        WITH_DTRACE = "1"
        WITH_DYLD = "1"
        WITH_EDITLINE = "1"
        WITH_FREELISTS = "1"
        WITH_LIBINTL = "0"
        WITH_NEXT_FRAMEWORK = "1"
        WITH_PYMALLOC = "1"
        WITH_VALGRIND = "0"
        X87_DOUBLE_ROUNDING = "0"
        XMLLIBSUBDIRS = "xml xml/dom xml/etree xml/parsers xml/sax"
        abiflags = ""
        abs_builddir = "/private/tmp/pythonA3.12-20240219-24305-iklnh8/Python-3.12.2"
        abs_srcdir = "/private/tmp/pythonA3.12-20240219-24305-iklnh8/Python-3.12.2"
        base = "/Users/xxx/projects/xyz/.venv"
        datarootdir = "/opt/homebrew/opt/python@3.12/share"
        exec_prefix = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12"
        installed_base = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12"
        installed_platbase = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12"
        platbase = "/Users/xxx/projects/xyz/.venv"
        platlibdir = "lib"
        prefix = "/opt/homebrew/opt/python@3.12/Frameworks/Python.framework/Versions/3.12"
        projectbase = "/opt/homebrew/Cellar/python@3.12/3.12.2_1/bin"
        py_version = "3.12.2"
        py_version_nodot = "312"
        py_version_nodot_plat = ""
        py_version_short = "3.12"
        srcdir = "/opt/homebrew/Cellar/python@3.12/3.12.2_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/config-3.12-darwin"
        userbase = "/Users/xxx/Library/Python/3.12"

Example pyproject.toml

[tool.poetry]
name = "xyz"
version = "0.0.1"
authors = []
description = ""
readme = "README.md"

Poetry Runtime Logs

Source (PyPI): Getting info for docutils (0.21.post1) from PyPI
[urllib3:urllib3.connectionpool] https://pypi.org:443 "GET /pypi/docutils/0.21.post1/json HTTP/1.1" 404 24
Falling back to installed packages to discover metadata for docutils
Found 0 compatible packages for docutils
   1: Version solving took 0.772 seconds.
   1: Tried 1 solutions.

  StopIteration

  at /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/puzzle/provider.py:498 in complete_package
      494│                     ),
      495│                 )
      496│             except PackageNotFound as e:
      497│                 try:
    → 498│                     dependency_package = next(
      499│                         DependencyPackage(dependency, pkg)
      500│                         for pkg in self.search_for_installed_packages(dependency)
      501│                     )
      502│                 except StopIteration:

The following error occurred when trying to handle this error:

  Stack trace:

  19  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/cleo/application.py:327 in run
       325│
       326│             try:
     → 327│                 exit_code = self._run(io)
       328│             except BrokenPipeError:
       329│                 # If we are piped to another process, it may close early and send a

  18  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/console/application.py:190 in _run
       188│         self._load_plugins(io)
       189│
     → 190│         exit_code: int = super()._run(io)
       191│         return exit_code
       192│

  17  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/cleo/application.py:431 in _run
       429│             io.input.interactive(interactive)
       430│
     → 431│         exit_code = self._run_command(command, io)
       432│         self._running_command = None
       433│

  16  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/cleo/application.py:473 in _run_command
       471│
       472│         if error is not None:
     → 473│             raise error
       474│
       475│         return terminate_event.exit_code

  15  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/cleo/application.py:457 in _run_command
       455│
       456│             if command_event.command_should_run():
     → 457│                 exit_code = command.run(io)
       458│             else:
       459│                 exit_code = ConsoleCommandEvent.RETURN_CODE_DISABLED

  14  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/cleo/commands/base_command.py:117 in run
       115│         io.input.validate()
       116│
     → 117│         return self.execute(io) or 0
       118│
       119│     def merge_application_definition(self, merge_args: bool = True) -> None:

  13  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/cleo/commands/command.py:61 in execute
        59│
        60│         try:
     →  61│             return self.handle()
        62│         except KeyboardInterrupt:
        63│             return 1

  12  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/console/commands/add.py:269 in handle
       267│         self.installer.whitelist([r["name"] for r in requirements])
       268│
     → 269│         status = self.installer.run()
       270│
       271│         if status == 0 and not self.option("dry-run"):

  11  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/installation/installer.py:104 in run
       102│             self.verbose(True)
       103│
     → 104│         return self._do_install()
       105│
       106│     def dry_run(self, dry_run: bool = True) -> Installer:

  10  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/installation/installer.py:241 in _do_install
       239│                 source_root=self._env.path.joinpath("src")
       240│             ):
     → 241│                 ops = solver.solve(use_latest=self._whitelist).calculate_operations()
       242│         else:
       243│             self._io.write_line("Installing dependencies from lock file")

   9  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/puzzle/solver.py:71 in solve
        69│         with self._progress(), self._provider.use_latest_for(use_latest or []):
        70│             start = time.time()
     →  71│             packages, depths = self._solve()
        72│             end = time.time()
        73│

   8  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/puzzle/solver.py:158 in _solve
       156│             packages = result.packages
       157│         except OverrideNeeded as e:
     → 158│             return self._solve_in_compatibility_mode(e.overrides)
       159│         except SolveFailure as e:
       160│             raise SolverProblemError(e)

   7  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/puzzle/solver.py:132 in _solve_in_compatibility_mode
       130│             )
       131│             self._provider.set_overrides(override)
     → 132│             _packages, _depths = self._solve()
       133│             for index, package in enumerate(_packages):
       134│                 if package not in packages:

   6  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/puzzle/solver.py:154 in _solve
       152│
       153│         try:
     → 154│             result = resolve_version(self._package, self._provider)
       155│
       156│             packages = result.packages

   5  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/mixology/__init__.py:18 in resolve_version
        16│     solver = VersionSolver(root, provider)
        17│
     →  18│     return solver.solve()
        19│

   4  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/mixology/version_solver.py:175 in solve
       173│             while next is not None:
       174│                 self._propagate(next)
     → 175│                 next = self._choose_package_version()
       176│
       177│             return self._result()

   3  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/mixology/version_solver.py:514 in _choose_package_version
       512│             package = locked
       513│
     → 514│         package = self._provider.complete_package(package)
       515│
       516│         conflict = False

   2  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/puzzle/provider.py:503 in complete_package
       501│                     )
       502│                 except StopIteration:
     → 503│                     raise e from e
       504│
       505│             package = dependency_package.package

   1  /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/puzzle/provider.py:489 in complete_package
       487│                 dependency_package = DependencyPackage(
       488│                     dependency,
     → 489│                     self._pool.package(
       490│                         package.pretty_name,
       491│                         package.version,

  PackageNotFound

  Package docutils (0.21.post1) not found.

  at /opt/homebrew/Cellar/poetry/1.8.2_1/libexec/lib/python3.12/site-packages/poetry/repositories/repository_pool.py:207 in package
      203│             try:
      204│                 return repo.package(name, version, extras=extras)
      205│             except PackageNotFound:
      206│                 continue
    → 207│         raise PackageNotFound(f"Package {name} ({version}) not found.")
      208│
      209│     def find_packages(self, dependency: Dependency) -> list[Package]:
      210│         repository_name = dependency.source_name
      211│         if repository_name:
dimbleby commented 7 months ago

there is some sort of screw-up between docutils and pypi, see https://pypi.org/project/docutils/0.21/#files - the source distribution has been uploaded as docutils-0.21.post1.tar.gz

you should likely report this:

joekiller commented 7 months ago

@dimbleby @black-snow

Hello! I have tracked down this issue and it is poetry's pypi resolver. Please see this repository for details.

https://github.com/joekiller/poetry-post-release-issue

Edit, I'll copy and paste the explanation and workaround here from the README.md:

Poetry fails to resolve post-release versions when utilizing the default pypi provider.

Proof of concept and analysis regarding https://github.com/python-poetry/poetry/issues/9293

This project shows an example of where poetry fails to properly resolve the latest release due to an update utilizing the post-release specifier which will not be reflected in the Release key of the project api as it is considered a non-version changing release.

Example case docutils~=0.21. When docutils 0.21 was released there was a post-release 0.21.post1 version created which does not appear as a release as it is still considered 0.21.

When poetry resolved the versions in via https://pypi.org/pypi/docutils/json it found 0.21.post1 however when it goes for https://pypi.org/pypi/docutils/0.21.post1/json that will not be there because 0.21 is the correct version.

Poetry is trying to hit the release api of a version that will not exist.

Poetry should instead look for the 0.21 version instead of 0.21.postX version.

Explanation of workarounds

Many people will report adding a non-priority indicated pypi fixes this issue. For example adding:

[[tool.poetry.source]]
name = "pypi-public"
url = "https://pypi.org/simple/"

There are two reasons why this workaround "works":

  1. As found in the poetry repositories docs about an undefined source being considered a primary source, the lack of priority will make this the first repository searched.
  2. The repository_pool.package resolution will utilize the non-prioritized source.
  3. Because the name bypasses the LegacyRepository pypi name guard to causes the CachedRepository _get_release_info to utilize the legacy_repository._get_release_info which relies on the SimpleRepositoryPage's link cache that'll have the link expected.

Where the bug is

The bug occurs when a post release is in pypi and there isn't a poetry.lock specifying what to resolve.

The pypi_repository._get_release_info will end up throwing PackageNotFound due to the json_data not resolving for the post release version.

Suggested Points of Fixing

There are several ways in which one could fix this.

or

Why is this hard to find

If you ever get a poetry.lock file, then the dependencies will not be resolved, and it's hard to track this issue.

I found this because a colleague mentioned the issue, and it appears the dependency was updated April 9th and today is April 10th making timing crucial in being able to sniff this out.

black-snow commented 7 months ago

That's awesome @joekiller, thanks. I'll update the title to reflect your findings.

dimbleby commented 7 months ago

I do not think a poetry fix is likely here: the root cause is that pypi is providing inconsistent information (namely there is a distribution with version 0.21.post1, but no corresponding release).

Much the fastest likely route to sorting this out is for docutils to publish a fixed release.

Longer term

dimbleby commented 7 months ago

rereading what @joekiller wrote, I think that most of it is a wrong generalization, based on a misunderstanding.

it is not expected that distributions for a post release be bundled together with the original release: there should be a whole separate release. eg compare https://pypi.org/project/tensorflow/2.15.0/ and https://pypi.org/project/tensorflow/2.15.0.post1/

poetry "fails to resolve post-release versions via default pypi provider" is simply not true. things are going wrong in this specific instance because this specific package has been mis-published

joekiller commented 7 months ago

@dimbleby thanks for reading the analysis. I agree that the post-release guidance indicates that the indicator should be present, regardless of non-code changes. The premise in this issue should be closed as it's a botched release by docutils.

black-snow commented 7 months ago

I reverted the issue's title.

I wonder how pip is then able to install it.

I'll get in touch w/ warehouse and close this one. Thanks a ton to both of you!

black-snow commented 7 months ago

ref https://github.com/pypi/warehouse/issues/15749

github-actions[bot] commented 6 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.