Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
black-snow opened this issue Apr 10, 2024 · 9 comments
Closed

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

black-snow opened this issue Apr 10, 2024 · 9 comments
Labels
kind/bug Something isn't working as expected status/triage This issue needs to be triaged

Comments

@black-snow
Copy link

black-snow commented Apr 10, 2024

Please see @joekiller 's investigation below.

Description

Cross-posting pypa/twine#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:
@black-snow black-snow added kind/bug Something isn't working as expected status/triage This issue needs to be triaged labels Apr 10, 2024
@dimbleby
Copy link
Contributor

dimbleby commented Apr 10, 2024

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
Copy link

joekiller commented Apr 10, 2024

@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 #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

  • Utilize version.release instead of version during the _get_release_info
    call of the pypi_repository.

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.

joekiller added a commit to joekiller/poetry-post-release-issue that referenced this issue Apr 10, 2024
@black-snow
Copy link
Author

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

@black-snow black-snow changed the title Package docutils (0.21.post1) not found. Fails to resolve post-release versions via default pypi provider (Package docutils (0.21.post1) not found.) Apr 10, 2024
@dimbleby
Copy link
Contributor

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

  • I again encourage you to raise an issue at warehouse to try and arrange that this sort of thing does not happen again
  • stop using the json API at pypi #9170 sidesteps this by not using the JSON API at all, but that is mostly just luck and it might or might not get merged

@dimbleby
Copy link
Contributor

dimbleby commented Apr 10, 2024

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
Copy link

@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.

joekiller added a commit to joekiller/poetry-post-release-issue that referenced this issue Apr 10, 2024
@black-snow black-snow changed the title Fails to resolve post-release versions via default pypi provider (Package docutils (0.21.post1) not found.) Package docutils (0.21.post1) not found. Apr 11, 2024
@black-snow
Copy link
Author

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
Copy link
Author

ref pypi/warehouse#15749

eikevons added a commit to eikevons/pandas-paddles that referenced this issue Apr 15, 2024
eikevons added a commit to eikevons/pandas-paddles that referenced this issue Apr 15, 2024
pvandyken added a commit to pvandyken/snakebids that referenced this issue Apr 16, 2024
Unable to be installed by poetry due to a malformed upload to pypi

See python-poetry/poetry#9293
pvandyken added a commit to khanlab/snakebids that referenced this issue Apr 17, 2024
Unable to be installed by poetry due to a malformed upload to pypi

See python-poetry/poetry#9293
glentner added a commit to glentner/CmdKit that referenced this issue Apr 18, 2024
Multiple issues with poetry environment.
We do not want to deprecate Python 3.8 and 3.9 but our
development and documentation dependencies now require 3.10.
Also an issue with docutils is preventing resolution.

See: python-poetry/poetry#9293
glentner added a commit to glentner/CmdKit that referenced this issue Apr 18, 2024
Multiple issues with poetry environment.
We do not want to deprecate Python 3.8 and 3.9 but our
development and documentation dependencies now require 3.10.
Also an issue with docutils is preventing resolution.

See: python-poetry/poetry#9293
Fokko added a commit to apache/iceberg-python that referenced this issue Apr 18, 2024
This release is bodged, and causes Poetry to fail when it tries
to fetch the tar:

python-poetry/poetry#9293 (comment)

It is being tracked:
pypi/warehouse#15749

A fix is inbound here:
pypi/warehouse#15795

This is a hotfix for this particular package, until the fixes from `pypi/warehouse` are out. The `post` notation is very unique: pypi/warehouse#15749 (comment) and is being used in 0.004% of the releases.
Fokko added a commit to apache/iceberg-python that referenced this issue Apr 18, 2024
This release is bodged, and causes Poetry to fail when it tries
to fetch the tar:

python-poetry/poetry#9293 (comment)

It is being tracked:
pypi/warehouse#15749

A fix is inbound here:
pypi/warehouse#15795

This is a hotfix for this particular package, until the fixes from `pypi/warehouse` are out. The `post` notation is very unique: pypi/warehouse#15749 (comment) and is being used in 0.004% of the releases.
Fokko added a commit to Fokko/iceberg-python that referenced this issue Apr 18, 2024
This release is bodged, and causes Poetry to fail when it tries
to fetch the tar:

python-poetry/poetry#9293 (comment)

It is being tracked:
pypi/warehouse#15749

A fix is inbound here:
pypi/warehouse#15795

This is a hotfix for this particular package, until the fixes from `pypi/warehouse` are out. The `post` notation is very unique: pypi/warehouse#15749 (comment) and is being used in 0.004% of the releases.
HonahX pushed a commit to HonahX/iceberg-python that referenced this issue Apr 18, 2024
This release is bodged, and causes Poetry to fail when it tries
to fetch the tar:

python-poetry/poetry#9293 (comment)

It is being tracked:
pypi/warehouse#15749

A fix is inbound here:
pypi/warehouse#15795

This is a hotfix for this particular package, until the fixes from `pypi/warehouse` are out. The `post` notation is very unique: pypi/warehouse#15749 (comment) and is being used in 0.004% of the releases.
HonahX pushed a commit to apache/iceberg-python that referenced this issue Apr 18, 2024
This release is bodged, and causes Poetry to fail when it tries
to fetch the tar:

python-poetry/poetry#9293 (comment)

It is being tracked:
pypi/warehouse#15749

A fix is inbound here:
pypi/warehouse#15795

This is a hotfix for this particular package, until the fixes from `pypi/warehouse` are out. The `post` notation is very unique: pypi/warehouse#15749 (comment) and is being used in 0.004% of the releases.
geritwagner added a commit to CoLRev-Environment/colrev that referenced this issue Apr 24, 2024
Unable to be installed by poetry due to a malformed upload to pypi

See python-poetry/poetry#9293
Copy link

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.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/bug Something isn't working as expected status/triage This issue needs to be triaged
Projects
None yet
Development

No branches or pull requests

3 participants