python-poetry / python-poetry/poetry
Legacy Repository Handler Allowing Mismatched Versions To Be Installed
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 34.3k
- Forks
- 2.5k
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 30
Description
Description
Doing analysis related to the docutils 0.21 release snafu, see https://github.com/python-poetry/poetry/issues/9293, it appears the Legacy Repository Handler allows packages of incorrect metadata to be installed. I cannot speak to if the pypi repository handler is allowing this as this is piggybacking off my #9293 analysis.
If the repository handler would assert the metadata version vs what it retrieved the divergent repo paths would converge at the same conclusion, of "bad package".
Having a colleague simply utilize a renamed pypi and having success to install docutils 0.21 was quite strange. I get that the alternative naming was causing a legacy path and that there's a lot to juggle here and address this at warehouse is helpful to prevent such snafu. There is the https://github.com/pypi/warehouse/issues/15749 post regarding enforcing naming of the package better however the metadata within the package was still 0.21. Reviewing docutils bugs 483 it seems pip will reject the package when the metadata is incorrect.
Not to beat on docutils too hard here, but it seems that they had a history of these types of meta changes.
https://pypi.org/project/docutils/0.15/#files
This package seems to have hit a corner uncleaned for a very long time. Perhaps it'll add some imperative to resolve legacy behaviors.
Should poetry be checking the package metadata consistently or is this expected behavior?
Workarounds
Not really a work around but I think this alternative path is the explanation for a common theme of confusion where people specify a non-prioritized pypi repository via something like:
[[tool.poetry.source]]
name = "pypi-public"
url = "https://pypi.org/simple/"
and then experience "when I create a different pypi repo my install works". Combined with the fact that warehouse can allow some inappropriate package naming to take place, it seems this alternative path makes some installations work.
Making poetry consistently check the package metadata and alert the user, regardless of the repository handler path may be a way to reduce some of the confusion.
Poetry Installation Method
pip
Operating System
mac os 14.4.1
Poetry Version
1.8.2
Poetry Configuration
poetry config --list
cache-dir = "/Users/user/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 = null
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/user/Library/Caches/pypoetry/virtualenvs
virtualenvs.prefer-active-python = false
virtualenvs.prompt = "{project_name}-py{python_version}"
warnings.export = true
Python Sysconfig
Platform: "macosx-10.9-universal2"
Python version: "3.11"
Current installation scheme: "posix_prefix"
Paths:
data = "/Library/Frameworks/Python.framework/Versions/3.11"
include = "/Library/Frameworks/Python.framework/Versions/3.11/include/python3.11"
platinclude = "/Library/Frameworks/Python.framework/Versions/3.11/include/python3.11"
platlib = "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages"
platstdlib = "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11"
purelib = "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages"
scripts = "/Library/Frameworks/Python.framework/Versions/3.11/bin"
stdlib = "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11"
Variables:
ABIFLAGS = ""
AC_APPLE_UNIVERSAL_BUILD = "0"
AIX_BUILDDATE = "0"
AIX_GENUINE_CPLUSPLUS = "0"
ALIGNOF_LONG = "8"
ALIGNOF_SIZE_T = "8"
ALT_SOABI = "0"
ANDROID_API_LEVEL = "0"
AR = "/usr/bin/xcrun ar"
ARFLAGS = "rcs"
BASECFLAGS = "-Wsign-compare -Wunreachable-code -fno-common -dynamic"
BASECPPFLAGS = "-IObjects -IInclude -IPython"
BASEMODLIBS = ""
BINDIR = "/Library/Frameworks/Python.framework/Versions/3.11/bin"
BINLIBDEST = "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11"
BLDLIBRARY = ""
BLDSHARED = "clang -bundle -undefined dynamic_lookup -arch arm64 -arch x86_64 -g"
BOOTSTRAP_HEADERS = "\"
BUILDEXE = ".exe"
BUILDPYTHON = "python.exe"
BUILD_GNU_TYPE = "x86_64-apple-darwin20.6.0"
BYTESTR_DEPS = "\"
CC = "clang"
CCSHARED = ""
CFLAGS = "-Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -arch x86_64 -g"
CFLAGSFORSHARED = ""
CFLAGS_ALIASING = "-fno-strict-aliasing"
CONFIGFILES = "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
CONFIGURE_CFLAGS = "-arch arm64 -arch x86_64 -g"
CONFIGURE_CFLAGS_NODIST = "-flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden"
CONFIGURE_CPPFLAGS = ""
CONFIGURE_LDFLAGS = "-arch arm64 -arch x86_64 -g"
CONFIGURE_LDFLAGS_NODIST = "-flto -Wl,-export_dynamic -g"
CONFIGURE_LDFLAGS_NOLTO = "-flto=thin"
CONFIG_ARGS = "'-C' '--enable-framework' '--enable-universalsdk=/' '--with-universal-archs=universal2' '--with-computed-gotos' '--without-ensurepip' '--with-openssl=/tmp/_py/libraries/usr/local' '--enable-optimizations' '--with-lto' 'TCLTK_CFLAGS=-I/tmp/_py/libraries/usr/local/include' 'TCLTK_LIBS=-ltcl8.6 -ltk8.6' 'LDFLAGS=-g' 'CFLAGS=-g' 'CC=clang'"
CONFINCLUDEDIR = "/Library/Frameworks/Python.framework/Versions/3.11/include"
CONFINCLUDEPY = "/Library/Frameworks/Python.framework/Versions/3.11/include/python3.11"
COREPYTHONPATH = ""
COVERAGE_INFO = "/private/tmp/_py/_bld/python/coverage.info"
COVERAGE_LCOV_OPTIONS = "--rc lcov_branch_coverage=1"
COVERAGE_REPORT = "/private/tmp/_py/_bld/python/lcov-report"
COVERAGE_REPORT_OPTIONS = "--rc lcov_branch_coverage=1 --branch-coverage --title "CPython 3.11 LCOV report [commit $(shell )]""
CPPFLAGS = "-IObjects -IInclude -IPython -I. -I/Users/sysadmin/build/v3.11.7/Include"
CXX = "clang++"
DECIMAL_CFLAGS = "-I/Users/sysadmin/build/v3.11.7/Modules/_decimal/libmpdec -DUNIVERSAL=1"
DECIMAL_LDFLAGS = "-lm Modules/_decimal/libmpdec/libmpdec.a"
DEEPFREEZE_C = "Python/deepfreeze/deepfreeze.c"
DEEPFREEZE_DEPS = "/Users/sysadmin/build/v3.11.7/Tools/scripts/deepfreeze.py _bootstrap_python /Users/sysadmin/build/v3.11.7/Programs/_freeze_module.py \"
DEEPFREEZE_OBJS = "Python/deepfreeze/deepfreeze.o"
DESTDIRS = "/Library/Frameworks/Python.framework/Versions/3.11 /Library/Frameworks/Python.framework/Versions/3.11/lib /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11 /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload"
DESTLIB = "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11"
DESTPATH = ""
DESTSHARED = "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/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"
DTRACE = ""
DTRACE_DEPS = "\"
DTRACE_HEADERS = ""
DTRACE_OBJS = ""
DYNLOADFILE = "dynload_shlib.o"
ENABLE_IPV6 = "1"
ENSUREPIP = "no"
EXE = ""
EXEMODE = "755"
EXPAT_CFLAGS = "-I/Users/sysadmin/build/v3.11.7/Modules/expat"
EXPAT_LDFLAGS = "-lm Modules/expat/libexpat.a"
EXPORTSFROM = ""
EXPORTSYMS = ""
EXTRATESTOPTS = ""
EXTRA_CFLAGS = ""
EXT_SUFFIX = ".cpython-311-darwin.so"
FILEMODE = "644"
FLOAT_WORDS_BIGENDIAN = "0"
FREEZE_MODULE = "./_bootstrap_python /Users/sysadmin/build/v3.11.7/Programs/_freeze_module.py"
FREEZE_MODULE_BOOTSTRAP = "./Programs/_freeze_module"
FREEZE_MODULE_BOOTSTRAP_DEPS = "Programs/_freeze_module"
FREEZE_MODULE_DEPS = "_bootstrap_python /Users/sysadmin/build/v3.11.7/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 = "0"
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_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_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_LIBGDBM_COMPAT = "0"
HAVE_LIBIEEE = "0"
HAVE_LIBINTL_H = "0"
HAVE_LIBNDBM = "0"
HAVE_LIBREADLINE = "1"
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_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 = "1"
HAVE_MADVISE = "1"
HAVE_MAKEDEV = "1"
HAVE_MBRTOWC = "1"
HAVE_MEMFD_CREATE = "0"
HAVE_MEMORY_H = "1"
HAVE_MEMRCHR = "0"
HAVE_MKDIRAT = "1"
HAVE_MKFIFO = "1"
HAVE_MKFIFOAT = "0"
HAVE_MKNOD = "1"
HAVE_MKNODAT = "0"
HAVE_MKTIME = "1"
HAVE_MMAP = "1"
HAVE_MREMAP = "0"
HAVE_NANOSLEEP = "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_IF_H = "1"
HAVE_NICE = "1"
HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION = "0"
HAVE_OPENAT = "1"
HAVE_OPENDIR = "1"
HAVE_OPENPTY = "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_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_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_STDARG_PROTOTYPES = "1"
HAVE_STDINT_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_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 = "1"
HAVE__GETPTY = "0"
HOSTRUNNER = ""
HOST_GNU_TYPE = "x86_64-apple-darwin20.6.0"
INCLDIRSTOMAKE = "/Library/Frameworks/Python.framework/Versions/3.11/include /Library/Frameworks/Python.framework/Versions/3.11/include /Library/Frameworks/Python.framework/Versions/3.11/include/python3.11 /Library/Frameworks/Python.framework/Versions/3.11/include/python3.11"
INCLUDEDIR = "/Library/Frameworks/Python.framework/Versions/3.11/include"
INCLUDEPY = "/Library/Frameworks/Python.framework/Versions/3.11/include/python3.11"
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.11/Python"
IO_H = "Modules/_io/_iomodule.h"
IO_OBJS = "\"
LDCXXSHARED = "clang++ -bundle -undefined dynamic_lookup"
LDFLAGS = "-arch arm64 -arch x86_64 -g"
LDLIBRARY = "Python.framework/Versions/3.11/Python"
LDLIBRARYDIR = ""
LDSHARED = "clang -bundle -undefined dynamic_lookup -arch arm64 -arch x86_64 -g"
LDVERSION = "3.11"
LIBC = ""
LIBDEST = "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11"
LIBDIR = "/Library/Frameworks/Python.framework/Versions/3.11/lib"
LIBEXPAT_A = "Modules/expat/libexpat.a"
LIBEXPAT_CFLAGS = "-I/Users/sysadmin/build/v3.11.7/Modules/expat -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -arch x86_64 -g -flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-use=code.profclangd -I/Users/sysadmin/build/v3.11.7/Include/internal -IObjects -IInclude -IPython -I. -I/Users/sysadmin/build/v3.11.7/Include"
LIBEXPAT_HEADERS = "\"
LIBEXPAT_OBJS = "\"
LIBFFI_INCLUDEDIR = ""
LIBM = ""
LIBMPDEC_A = "Modules/_decimal/libmpdec/libmpdec.a"
LIBMPDEC_CFLAGS = "-I/Users/sysadmin/build/v3.11.7/Modules/_decimal/libmpdec -DUNIVERSAL=1 -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -arch x86_64 -g -flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-use=code.profclangd -I/Users/sysadmin/build/v3.11.7/Include/internal -IObjects -IInclude -IPython -I. -I/Users/sysadmin/build/v3.11.7/Include"
LIBMPDEC_HEADERS = "\"
LIBMPDEC_OBJS = "\"
LIBOBJDIR = "Python/"
LIBOBJS = ""
LIBPC = "/Library/Frameworks/Python.framework/Versions/3.11/lib/pkgconfig"
LIBPL = "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/config-3.11-darwin"
LIBPYTHON = ""
LIBRARY = "libpython3.11.a"
LIBRARY_DEPS = "libpython3.11.a Python.framework/Versions/3.11/Python"
LIBRARY_OBJS = "\"
LIBRARY_OBJS_OMIT_FROZEN = "\"
LIBS = "-ldl -framework CoreFoundation"
LIBSUBDIRS = "asyncio \"
LINKCC = "clang"
LINKFORSHARED = "-Wl,-stack_size,1000000 -framework CoreFoundation Python.framework/Versions/3.11/Python"
LINK_PYTHON_DEPS = "libpython3.11.a Python.framework/Versions/3.11/Python"
LINK_PYTHON_OBJS = ""
LIPO_32BIT_FLAGS = ""
LIPO_INTEL64_FLAGS = "-extract x86_64"
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 = "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11"
MACOSX_DEPLOYMENT_TARGET = "10.9"
MAINCC = "clang"
MAJOR_IN_MKDEV = "0"
MAJOR_IN_SYSMACROS = "0"
MAKESETUP = "/Users/sysadmin/build/v3.11.7/Modules/makesetup"
MANDIR = "/Library/Frameworks/Python.framework/Versions/3.11/share/man"
MKDIR_P = "/Users/sysadmin/build/v3.11.7/install-sh -c -d"
MODBUILT_NAMES = "atexit faulthandler posix _signal _tracemalloc _codecs _collections errno _io itertools _sre _thread time _weakref _abc _functools _locale _operator _stat _symtable pwd xxsubtype"
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/_weakref.o Modules/_abc.o Modules/_functoolsmodule.o Modules/_localemodule.o Modules/_operator.o Modules/_stat.o Modules/symtablemodule.o Modules/pwdmodule.o Modules/xxsubtype.o"
MODSHARED_NAMES = ""
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 = "/Users/sysadmin/build/v3.11.7/Modules/_math.h"
MODULE_CMATH_LDFLAGS = ""
MODULE_CMATH_STATE = "yes"
MODULE_ERRNO_LDFLAGS = ""
MODULE_FAULTHANDLER_LDFLAGS = ""
MODULE_FCNTL_LDFLAGS = ""
MODULE_FCNTL_STATE = "yes"
MODULE_GRP_STATE = "yes"
MODULE_ITERTOOLS_LDFLAGS = ""
MODULE_MATH_DEPS = "/Users/sysadmin/build/v3.11.7/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 = "-I/Users/sysadmin/build/v3.11.7/Modules/expat"
MODULE_PYEXPAT_DEPS = "\ Modules/expat/libexpat.a"
MODULE_PYEXPAT_LDFLAGS = "-lm Modules/expat/libexpat.a"
MODULE_PYEXPAT_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 = "/Users/sysadmin/build/v3.11.7/Modules/unicodedata_db.h /Users/sysadmin/build/v3.11.7/Modules/unicodename_db.h"
MODULE_UNICODEDATA_STATE = "yes"
MODULE_XXLIMITED_35_STATE = "yes"
MODULE_XXLIMITED_STATE = "yes"
MODULE_XXSUBTYPE_LDFLAGS = ""
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 = "/Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2-config.h /Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2-impl.h /Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2.h /Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2b-load-sse2.h /Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2b-load-sse41.h /Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2b-ref.c /Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2b-round.h /Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2b.c /Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2s-load-sse2.h /Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2s-load-sse41.h /Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2s-load-xop.h /Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2s-ref.c /Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2s-round.h /Users/sysadmin/build/v3.11.7/Modules/_blake2/impl/blake2s.c /Users/sysadmin/build/v3.11.7/Modules/_blake2/blake2module.h /Users/sysadmin/build/v3.11.7/Modules/hashlib.h"
MODULE__BLAKE2_LDFLAGS = ""
MODULE__BLAKE2_STATE = "yes"
MODULE__BZ2_CFLAGS = ""
MODULE__BZ2_LDFLAGS = "-lbz2"
MODULE__BZ2_STATE = "yes"
MODULE__CODECS_CN_STATE = "yes"
MODULE__CODECS_HK_STATE = "yes"
MODULE__CODECS_ISO2022_STATE = "yes"
MODULE__CODECS_JP_STATE = "yes"
MODULE__CODECS_KR_STATE = "yes"
MODULE__CODECS_LDFLAGS = ""
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_DEPS = "/Users/sysadmin/build/v3.11.7/Modules/_ctypes/ctypes.h"
MODULE__CTYPES_TEST_LDFLAGS = "-lm"
MODULE__CTYPES_TEST_STATE = "yes"
MODULE__DATETIME_LDFLAGS = ""
MODULE__DATETIME_STATE = "yes"
MODULE__DECIMAL_CFLAGS = "-I/Users/sysadmin/build/v3.11.7/Modules/_decimal/libmpdec -DUNIVERSAL=1"
MODULE__DECIMAL_DEPS = "/Users/sysadmin/build/v3.11.7/Modules/_decimal/docstrings.h \ Modules/_decimal/libmpdec/libmpdec.a"
MODULE__DECIMAL_LDFLAGS = "-lm Modules/_decimal/libmpdec/libmpdec.a"
MODULE__DECIMAL_STATE = "yes"
MODULE__ELEMENTTREE_CFLAGS = "-I/Users/sysadmin/build/v3.11.7/Modules/expat"
MODULE__ELEMENTTREE_DEPS = "/Users/sysadmin/build/v3.11.7/Modules/pyexpat.c \ Modules/expat/libexpat.a"
MODULE__ELEMENTTREE_STATE = "yes"
MODULE__FUNCTOOLS_LDFLAGS = ""
MODULE__GDBM_STATE = "missing"
MODULE__HASHLIB_CFLAGS = "-I/tmp/_py/libraries/usr/local/include"
MODULE__HASHLIB_DEPS = "/Users/sysadmin/build/v3.11.7/Modules/hashlib.h"
MODULE__HASHLIB_LDFLAGS = " -lcrypto"
MODULE__HASHLIB_STATE = "yes"
MODULE__HEAPQ_STATE = "yes"
MODULE__IO_CFLAGS = "-I/Users/sysadmin/build/v3.11.7/Modules/_io"
MODULE__IO_DEPS = "/Users/sysadmin/build/v3.11.7/Modules/_io/_iomodule.h"
MODULE__IO_LDFLAGS = ""
MODULE__IO_STATE = "yes"
MODULE__JSON_STATE = "yes"
MODULE__LOCALE_LDFLAGS = ""
MODULE__LSPROF_STATE = "yes"
MODULE__LZMA_CFLAGS = ""
MODULE__LZMA_LDFLAGS = "-llzma"
MODULE__LZMA_STATE = "yes"
MODULE__MD5_DEPS = "/Users/sysadmin/build/v3.11.7/Modules/hashlib.h"
MODULE__MD5_STATE = "yes"
MODULE__MULTIBYTECODEC_STATE = "yes"
MODULE__MULTIPROCESSING_CFLAGS = "-I/Users/sysadmin/build/v3.11.7/Modules/_multiprocessing"
MODULE__MULTIPROCESSING_STATE = "yes"
MODULE__OPCODE_STATE = "yes"
MODULE__OPERATOR_LDFLAGS = ""
MODULE__PICKLE_STATE = "yes"
MODULE__POSIXSHMEM_CFLAGS = "-I/Users/sysadmin/build/v3.11.7/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_DEPS = "/Users/sysadmin/build/v3.11.7/Modules/hashlib.h"
MODULE__SHA1_STATE = "yes"
MODULE__SHA256_DEPS = "/Users/sysadmin/build/v3.11.7/Modules/hashlib.h"
MODULE__SHA256_STATE = "yes"
MODULE__SHA3_DEPS = "/Users/sysadmin/build/v3.11.7/Modules/_sha3/sha3.c /Users/sysadmin/build/v3.11.7/Modules/_sha3/sha3.h /Users/sysadmin/build/v3.11.7/Modules/hashlib.h"
MODULE__SHA3_STATE = "yes"
MODULE__SHA512_DEPS = "/Users/sysadmin/build/v3.11.7/Modules/hashlib.h"
MODULE__SHA512_STATE = "yes"
MODULE__SIGNAL_LDFLAGS = ""
MODULE__SOCKET_DEPS = "/Users/sysadmin/build/v3.11.7/Modules/socketmodule.h /Users/sysadmin/build/v3.11.7/Modules/addrinfo.h /Users/sysadmin/build/v3.11.7/Modules/getaddrinfo.c /Users/sysadmin/build/v3.11.7/Modules/getnameinfo.c"
MODULE__SOCKET_STATE = "yes"
MODULE__SQLITE3_CFLAGS = "-I/Users/sysadmin/build/v3.11.7/Modules/_sqlite"
MODULE__SQLITE3_DEPS = "/Users/sysadmin/build/v3.11.7/Modules/_sqlite/connection.h /Users/sysadmin/build/v3.11.7/Modules/_sqlite/cursor.h /Users/sysadmin/build/v3.11.7/Modules/_sqlite/microprotocols.h /Users/sysadmin/build/v3.11.7/Modules/_sqlite/module.h /Users/sysadmin/build/v3.11.7/Modules/_sqlite/prepare_protocol.h /Users/sysadmin/build/v3.11.7/Modules/_sqlite/row.h /Users/sysadmin/build/v3.11.7/Modules/_sqlite/util.h"
MODULE__SQLITE3_LDFLAGS = "-lsqlite3"
MODULE__SQLITE3_STATE = "yes"
MODULE__SRE_LDFLAGS = ""
MODULE__SSL_CFLAGS = "-I/tmp/_py/libraries/usr/local/include"
MODULE__SSL_DEPS = "/Users/sysadmin/build/v3.11.7/Modules/_ssl.h /Users/sysadmin/build/v3.11.7/Modules/_ssl/cert.c /Users/sysadmin/build/v3.11.7/Modules/_ssl/debughelpers.c /Users/sysadmin/build/v3.11.7/Modules/_ssl/misc.c /Users/sysadmin/build/v3.11.7/Modules/_ssl_data.h /Users/sysadmin/build/v3.11.7/Modules/_ssl_data_111.h /Users/sysadmin/build/v3.11.7/Modules/_ssl_data_300.h /Users/sysadmin/build/v3.11.7/Modules/socketmodule.h"
MODULE__SSL_LDFLAGS = " -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 = "/Users/sysadmin/build/v3.11.7/Modules/testcapi_long.h"
MODULE__TESTCAPI_STATE = "yes"
MODULE__TESTCLINIC_STATE = "yes"
MODULE__TESTIMPORTMULTIPLE_STATE = "yes"
MODULE__TESTINTERNALCAPI_STATE = "yes"
MODULE__TESTMULTIPHASE_STATE = "yes"
MODULE__THREAD_LDFLAGS = ""
MODULE__TKINTER_CFLAGS = "-Wno-strict-prototypes -DWITH_APPINIT=1"
MODULE__TKINTER_LDFLAGS = "-ltcl8.6 -ltk8.6"
MODULE__TKINTER_STATE = "yes"
MODULE__TRACEMALLOC_LDFLAGS = ""
MODULE__TYPING_STATE = "yes"
MODULE__UUID_CFLAGS = ""
MODULE__UUID_LDFLAGS = ""
MODULE__UUID_STATE = "yes"
MODULE__WEAKREF_LDFLAGS = ""
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 = "-Wl,--no-as-needed"
OBJECT_OBJS = "\"
OPENSSL_INCLUDES = "-I/tmp/_py/libraries/usr/local/include"
OPENSSL_LDFLAGS = "-L/tmp/_py/libraries/usr/local/lib"
OPENSSL_LIBS = "-lssl -lcrypto"
OPENSSL_RPATH = ""
OPT = "-DNDEBUG -g -fwrapv -O3 -Wall"
OTHER_LIBTOOL_OPT = ""
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 = "/Library/Frameworks/Python.framework"
PYTHONFRAMEWORKPREFIX = "/Library/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,sha256,sha512,sha3,blake2""
PY_BUILTIN_MODULE_CFLAGS = "-Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -arch x86_64 -g -flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-use=code.profclangd -I/Users/sysadmin/build/v3.11.7/Include/internal -IObjects -IInclude -IPython -I. -I/Users/sysadmin/build/v3.11.7/Include -DPy_BUILD_CORE_BUILTIN"
PY_CFLAGS = "-Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -arch x86_64 -g"
PY_CFLAGS_NODIST = "-flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-use=code.profclangd -I/Users/sysadmin/build/v3.11.7/Include/internal"
PY_COERCE_C_LOCALE = "1"
PY_CORE_CFLAGS = "-Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -arch x86_64 -g -flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-use=code.profclangd -I/Users/sysadmin/build/v3.11.7/Include/internal -IObjects -IInclude -IPython -I. -I/Users/sysadmin/build/v3.11.7/Include -DPy_BUILD_CORE"
PY_CORE_LDFLAGS = "-arch arm64 -arch x86_64 -g -flto -Wl,-export_dynamic -g"
PY_CPPFLAGS = "-IObjects -IInclude -IPython -I. -I/Users/sysadmin/build/v3.11.7/Include"
PY_ENABLE_SHARED = "0"
PY_FORMAT_SIZE_T = ""z""
PY_LDFLAGS = "-arch arm64 -arch x86_64 -g"
PY_LDFLAGS_NODIST = "-flto -Wl,-export_dynamic -g"
PY_LDFLAGS_NOLTO = "-arch arm64 -arch x86_64 -g -flto=thin"
PY_SQLITE_ENABLE_LOAD_EXTENSION = "0"
PY_SQLITE_HAVE_SERIALIZE = "1"
PY_SSL_DEFAULT_CIPHERS = "1"
PY_SSL_DEFAULT_CIPHER_STRING = "0"
PY_STDMODULE_CFLAGS = "-Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -arch arm64 -arch x86_64 -g -flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-instr-use=code.profclangd -I/Users/sysadmin/build/v3.11.7/Include/internal -IObjects -IInclude -IPython -I. -I/Users/sysadmin/build/v3.11.7/Include"
PY_SUPPORT_TIER = "1"
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 = ":"
RESSRCDIR = "Mac/Resources/framework"
RETSIGTYPE = "void"
RUNSHARED = "DYLD_FRAMEWORK_PATH=/private/tmp/_py/_bld/python"
SCRIPTDIR = "/Library/Frameworks/Python.framework/Versions/3.11/lib"
SETPGRP_HAVE_ARG = "0"
SHELL = "/bin/sh"
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 = "16"
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-311-darwin"
SRCDIRS = "Modules Modules/_blake2 Modules/_ctypes Modules/_decimal Modules/_decimal/libmpdec Modules/_io Modules/_multiprocessing Modules/_sha3 Modules/_sqlite Modules/_sre Modules/_xxtestfuzz Modules/cjkcodecs Modules/expat Objects Parser Programs Python Python/frozen_modules Python/deepfreeze"
SRC_GDB_HOOKS = "/Users/sysadmin/build/v3.11.7/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/_py/_bld/python ./python.exe -E"
TESTPYTHONOPTS = ""
TESTRUNNER = "DYLD_FRAMEWORK_PATH=/private/tmp/_py/_bld/python ./python.exe -E /Users/sysadmin/build/v3.11.7/Tools/scripts/run_tests.py"
TESTSUBDIRS = "ctypes/test \"
TESTTIMEOUT = "1200"
TEST_MODULES = "yes"
THREAD_STACK_SIZE = "0x1000000"
TIMEMODULE_LIB = "0"
TIME_WITH_SYS_TIME = "1"
TM_IN_SYS_TIME = "0"
TZPATH = "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo"
UNICODE_DEPS = "\"
UNIVERSALSDK = "/"
UPDATE_FILE = "/Users/sysadmin/build/v3.11.7/Tools/scripts/update_file.py"
USE_COMPUTED_GOTOS = "1"
VERSION = "3.11"
VPATH = "/Users/sysadmin/build/v3.11.7"
WASM_ASSETS_DIR = "./Library/Frameworks/Python.framework/Versions/3.11"
WASM_STDLIB = "./Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/os.py"
WHEEL_PKG_DIR = ""
WINDOW_HAS_FLAGS = "1"
WITH_DECIMAL_CONTEXTVAR = "1"
WITH_DOC_STRINGS = "1"
WITH_DTRACE = "0"
WITH_DYLD = "1"
WITH_EDITLINE = "0"
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/_py/_bld/python"
abs_srcdir = "/Users/sysadmin/build/v3.11.7"
base = "/Library/Frameworks/Python.framework/Versions/3.11"
datarootdir = "/Library/Frameworks/Python.framework/Versions/3.11/share"
exec_prefix = "/Library/Frameworks/Python.framework/Versions/3.11"
installed_base = "/Library/Frameworks/Python.framework/Versions/3.11"
installed_platbase = "/Library/Frameworks/Python.framework/Versions/3.11"
platbase = "/Library/Frameworks/Python.framework/Versions/3.11"
platlibdir = "lib"
prefix = "/Library/Frameworks/Python.framework/Versions/3.11"
projectbase = "/Library/Frameworks/Python.framework/Versions/3.11/bin"
py_version = "3.11.7"
py_version_nodot = "311"
py_version_nodot_plat = ""
py_version_short = "3.11"
srcdir = "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/config-3.11-darwin"
userbase = "/Users/user/Library/Python/3.11"
Example pyproject.toml
see
https://github.com/joekiller/poetry-post-release-issue/blob/main/releases-pypi/pyproject.toml
vs
https://github.com/joekiller/poetry-post-release-issue/blob/main/simple-pypi/pyproject.toml
Poetry Runtime Logs
Loading configuration file /Users/user/Library/Application Support/pypoetry/config.toml
Loading configuration file /Users/user/Library/Application Support/pypoetry/auth.toml
Using virtualenv: /Users/user/Library/Caches/pypoetry/virtualenvs/releases-pypi-6BvxtLwm-py3.11
Updating dependencies
Resolving dependencies...
1: fact: releases-pypi is 0.1.0
1: derived: releases-pypi
1: fact: releases-pypi depends on docutils (~=0.21.0, != 0.21.1)
1: selecting releases-pypi (0.1.0)
1: derived: docutils (>=0.21.0,<0.22.0,!=0.21.1)
Checking if keyring is available
[keyring:keyring.backend] Loading KWallet
[keyring:keyring.backend] Loading SecretService
[keyring:keyring.backend] Loading Windows
[keyring:keyring.backend] Loading chainer
[keyring:keyring.backend] Loading libsecret
[keyring:keyring.backend] Loading macOS
Using keyring backend 'macOS Keyring'
Creating new session for pypi.org
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (1): pypi.org:443
[urllib3:urllib3.connectionpool] https://pypi.org:443 "GET /simple/docutils/ HTTP/1.1" 200 9373
[filelock:filelock] Attempting to acquire lock 4388787984 on /Users/user/Library/Caches/pypoetry/cache/repositories/PyPI/_http/5/b/e/1/1/5be1135dcb7a68de4427c71119ff80f66b671ae16db019966320bd6b.lock
[filelock:filelock] Lock 4388787984 acquired on /Users/user/Library/Caches/pypoetry/cache/repositories/PyPI/_http/5/b/e/1/1/5be1135dcb7a68de4427c71119ff80f66b671ae16db019966320bd6b.lock
[filelock:filelock] Attempting to release lock 4388787984 on /Users/user/Library/Caches/pypoetry/cache/repositories/PyPI/_http/5/b/e/1/1/5be1135dcb7a68de4427c71119ff80f66b671ae16db019966320bd6b.lock
[filelock:filelock] Lock 4388787984 released on /Users/user/Library/Caches/pypoetry/cache/repositories/PyPI/_http/5/b/e/1/1/5be1135dcb7a68de4427c71119ff80f66b671ae16db019966320bd6b.lock
Source (PyPI): 2 packages found for docutils >=0.21.0,<0.21.1 || >0.21.1,<0.22.0
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.115 seconds.
1: Tried 1 solutions.
StopIteration
at ~/Library/Application Support/pypoetry/venv/lib/python3.11/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:
17 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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
16 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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│
15 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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│
14 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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
13 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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
12 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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:
11 ~/Library/Application Support/pypoetry/venv/lib/python3.11/site-packages/cleo/commands/command.py:61 in execute
59│
60│ try:
→ 61│ return self.handle()
62│ except KeyboardInterrupt:
63│ return 1
10 ~/Library/Application Support/pypoetry/venv/lib/python3.11/site-packages/poetry/console/commands/install.py:153 in handle
151│ self.installer.verbose(self.io.is_verbose())
152│
→ 153│ return_code = self.installer.run()
154│
155│ if return_code != 0:
9 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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:
8 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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")
7 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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│
6 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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 ~/Library/Application Support/pypoetry/venv/lib/python3.11/site-packages/poetry/mixology/__init__.py:18 in resolve_version
16│ solver = VersionSolver(root, provider)
17│
→ 18│ return solver.solve()
19│
4 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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 ~/Library/Application Support/pypoetry/venv/lib/python3.11/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:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the docutils 0.21 installation through a renamed PyPI index, then compare the legacy repository handler with the PyPI repository handler while tracing where package metadata is checked. Done means mismatched package metadata is rejected consistently across both repository paths, with a regression test covering the behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100