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

poetry 1.8.3 fails to install python wheel package with metadata 2.4 #9885

Closed
shomeax opened this issue Dec 4, 2024 · 15 comments · Fixed by #9888
Closed

poetry 1.8.3 fails to install python wheel package with metadata 2.4 #9885

shomeax opened this issue Dec 4, 2024 · 15 comments · Fixed by #9888
Labels
kind/bug Something isn't working as expected status/triage This issue needs to be triaged

Comments

@shomeax
Copy link

shomeax commented Dec 4, 2024

Description

Poetry fails to add / lock package which is published with Metadata version 2.4.

I've stumbled upon that with the recent version 0.2.19 of nh3 package, which was resolved as a transitive dependency of twine.

Exception raises during poetry lock or poetry update, which blocks further usage is as follows:

  Unable to determine package info for path: /var/folders/pg/0dhvm7p93xd8cz_js496_szh0000gn/T/tmpqbev_7y3/nh3-0.2.19-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
  
  Unknown metadata version: 2.4

Workarounds

Add explicit version downgrade expression for specific package, in my example:

[tool.poetry.group.dev.dependencies]
... 
nh3 = "<0.2.19"

Poetry Installation Method

pipx

Operating System

Mac OS

Poetry Version

1.8.3

Poetry Configuration

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
repositories.pypi-mirror.url = "https://pypi.local/proxy-pypiorg-pypi/simple"
repositories.staging.url = "https://pypi.local/pypi-dev/simple"
solver.lazy-wheel = false
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/user/Library/Caches/pypoetry/virtualenvs
virtualenvs.prefer-active-python = false
virtualenvs.prompt = "{project_name}-py{python_version}"
warnings.export = true

Python Sysconfig

Platform: "macosx-11.0-x86_64"
Python version: "3.11"
Current installation scheme: "venv"

Paths: 
        data = "/Users/user/.venv"
        include = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/include/python3.11"
        platinclude = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/include/python3.11"
        platlib = "/Users/user/.venv/lib/python3.11/site-packages"
        platstdlib = "/Users/user/.venv/lib/python3.11"
        purelib = "/Users/user/.venv/lib/python3.11/site-packages"
        scripts = "/Users/user/.venv/bin"
        stdlib = "/usr/local/opt/[email protected]/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 = ""
        BASEMODLIBS = ""
        BINDIR = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/bin"
        BINLIBDEST = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/lib/python3.11"
        BLDLIBRARY = ""
        BLDSHARED = "clang -bundle -undefined dynamic_lookup -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk"
        BOOTSTRAP_HEADERS = "\"
        BUILDEXE = ".exe"
        BUILDPYTHON = "python.exe"
        BUILD_GNU_TYPE = "x86_64-apple-darwin20.5.0"
        BYTESTR_DEPS = "\"
        CC = "clang"
        CCSHARED = ""
        CFLAGS = "-Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk"
        CFLAGSFORSHARED = ""
        CFLAGS_ALIASING = "-fno-strict-aliasing"
        CONFIGFILES = "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
        CONFIGURE_CFLAGS = "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk"
        CONFIGURE_CFLAGS_NODIST = "-I/usr/local/include -flto -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden"
        CONFIGURE_CPPFLAGS = "-I/usr/local/include"
        CONFIGURE_LDFLAGS = "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk"
        CONFIGURE_LDFLAGS_NODIST = "-L/usr/local/lib -Wl,-rpath,/usr/local/lib -flto -Wl,-export_dynamic -g"
        CONFIGURE_LDFLAGS_NOLTO = "-flto=thin"
        CONFIG_ARGS = "'--prefix=/usr/local/opt/[email protected]' '--enable-ipv6' '--datarootdir=/usr/local/opt/[email protected]/share' '--datadir=/usr/local/opt/[email protected]/share' '--without-ensurepip' '--enable-loadable-sqlite-extensions' '--with-openssl=/usr/local/opt/openssl@3' '--enable-optimizations' '--with-system-expat' '--with-system-libmpdec' '--with-readline=editline' '--with-lto' '--enable-framework=/usr/local/opt/[email protected]/Frameworks' '--with-dtrace' '--with-dbmliborder=ndbm' 'MACOSX_DEPLOYMENT_TARGET=11' 'CFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk' 'CFLAGS_NODIST=-I/usr/local/include' 'LDFLAGS=-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk' 'LDFLAGS_NODIST=-L/usr/local/lib -Wl,-rpath,/usr/local/lib' 'CPPFLAGS=-I/usr/local/include' 'py_cv_module__tkinter=disabled' 'PKG_CONFIG_PATH=/usr/local/opt/mpdecimal/lib/pkgconfig:/usr/local/opt/openssl@3/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig:/usr/local/opt/sqlite/lib/pkgconfig:/usr/local/opt/xz/lib/pkgconfig' 'PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig/11' 'CC=clang'"
        CONFINCLUDEDIR = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/include"
        CONFINCLUDEPY = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/include/python3.11"
        COREPYTHONPATH = ""
        COVERAGE_INFO = "/private/tmp/pythonA3.11-20240522-32003-anoi20/Python-3.11.9/coverage.info"
        COVERAGE_LCOV_OPTIONS = "--rc lcov_branch_coverage=1"
        COVERAGE_REPORT = "/private/tmp/pythonA3.11-20240522-32003-anoi20/Python-3.11.9/lcov-report"
        COVERAGE_REPORT_OPTIONS = "--rc lcov_branch_coverage=1 --branch-coverage --title "CPython 3.11 LCOV report [commit $(shell )]""
        CPPFLAGS = "-I. -I./Include -I/usr/local/include"
        CXX = "clang++"
        DECIMAL_CFLAGS = "-DCONFIG_64=1 -DASM=1"
        DECIMAL_LDFLAGS = "-lmpdec"
        DEEPFREEZE_C = "Python/deepfreeze/deepfreeze.c"
        DEEPFREEZE_DEPS = "./Tools/scripts/deepfreeze.py _bootstrap_python ./Programs/_freeze_module.py \"
        DEEPFREEZE_OBJS = "Python/deepfreeze/deepfreeze.o"
        DESTDIRS = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11 /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/lib /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/lib/python3.11 /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload"
        DESTLIB = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/lib/python3.11"
        DESTPATH = ""
        DESTSHARED = "/usr/local/opt/[email protected]/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 = "/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"
        EXPAT_CFLAGS = ""
        EXPAT_LDFLAGS = "-lexpat"
        EXPORTSFROM = ""
        EXPORTSYMS = ""
        EXTRATESTOPTS = ""
        EXTRA_CFLAGS = ""
        EXT_SUFFIX = ".cpython-311-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 = "1"
        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 = "1"
        HAVE_GCC_ASM_FOR_X87 = "1"
        HAVE_GCC_UINT128_T = "1"
        HAVE_GDBM_DASH_NDBM_H = "1"
        HAVE_GDBM_H = "1"
        HAVE_GDBM_NDBM_H = "0"
        HAVE_GETADDRINFO = "1"
        HAVE_GETC_UNLOCKED = "1"
        HAVE_GETEGID = "1"
        HAVE_GETENTROPY = "1"
        HAVE_GETEUID = "1"
        HAVE_GETGID = "1"
        HAVE_GETGRGID = "1"
        HAVE_GETGRGID_R = "1"
        HAVE_GETGRNAM_R = "1"
        HAVE_GETGROUPLIST = "1"
        HAVE_GETGROUPS = "1"
        HAVE_GETHOSTBYADDR = "1"
        HAVE_GETHOSTBYNAME = "1"
        HAVE_GETHOSTBYNAME_R = "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 = "1"
        HAVE_LIBIEEE = "0"
        HAVE_LIBINTL_H = "1"
        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 = "0"
        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 = "0"
        HAVE__GETPTY = "0"
        HOSTRUNNER = ""
        HOST_GNU_TYPE = "x86_64-apple-darwin20.5.0"
        INCLDIRSTOMAKE = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/include /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/include /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/include/python3.11 /usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/include/python3.11"
        INCLUDEDIR = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/include"
        INCLUDEPY = "/usr/local/opt/[email protected]/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 = "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk"
        LDLIBRARY = "Python.framework/Versions/3.11/Python"
        LDLIBRARYDIR = ""
        LDSHARED = "clang -bundle -undefined dynamic_lookup -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk"
        LDVERSION = "3.11"
        LIBC = ""
        LIBDEST = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/lib/python3.11"
        LIBDIR = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/lib"
        LIBEXPAT_A = "Modules/expat/libexpat.a"
        LIBEXPAT_CFLAGS = "-Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -I/usr/local/include -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./Include/internal -I. -I./Include -I/usr/local/include"
        LIBEXPAT_HEADERS = "\"
        LIBEXPAT_OBJS = "\"
        LIBFFI_INCLUDEDIR = ""
        LIBM = ""
        LIBMPDEC_A = "Modules/_decimal/libmpdec/libmpdec.a"
        LIBMPDEC_CFLAGS = "-DCONFIG_64=1 -DASM=1 -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -I/usr/local/include -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./Include/internal -I. -I./Include -I/usr/local/include"
        LIBMPDEC_HEADERS = "\"
        LIBMPDEC_OBJS = "\"
        LIBOBJDIR = "Python/"
        LIBOBJS = ""
        LIBPC = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/lib/pkgconfig"
        LIBPL = "/usr/local/opt/[email protected]/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 = "-lintl -ldl  -framework CoreFoundation"
        LIBSUBDIRS = "asyncio \"
        LINKCC = "clang"
        LINKFORSHARED = "-Wl,-stack_size,1000000  -framework CoreFoundation /usr/local/opt/[email protected]/Frameworks/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 = ""
        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 = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/lib/python3.11"
        MACOSX_DEPLOYMENT_TARGET = "11"
        MAINCC = "clang"
        MAJOR_IN_MKDEV = "0"
        MAJOR_IN_SYSMACROS = "0"
        MAKESETUP = "./Modules/makesetup"
        MANDIR = "/usr/local/opt/[email protected]/share/man"
        MKDIR_P = "./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 = "./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 = "./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_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_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 = "./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_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 = "./Modules/_ctypes/ctypes.h"
        MODULE__CTYPES_TEST_LDFLAGS = "-lm"
        MODULE__CTYPES_TEST_STATE = "yes"
        MODULE__DATETIME_LDFLAGS = ""
        MODULE__DATETIME_STATE = "yes"
        MODULE__DECIMAL_CFLAGS = "-DCONFIG_64=1 -DASM=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/usr/local/opt/openssl@3/include"
        MODULE__HASHLIB_DEPS = "./Modules/hashlib.h"
        MODULE__HASHLIB_LDFLAGS = "-L/usr/local/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/usr/local/Cellar/xz/5.4.6/include"
        MODULE__LZMA_LDFLAGS = "-L/usr/local/Cellar/xz/5.4.6/lib -llzma"
        MODULE__LZMA_STATE = "yes"
        MODULE__MD5_DEPS = "./Modules/hashlib.h"
        MODULE__MD5_STATE = "yes"
        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_DEPS = "./Modules/hashlib.h"
        MODULE__SHA1_STATE = "yes"
        MODULE__SHA256_DEPS = "./Modules/hashlib.h"
        MODULE__SHA256_STATE = "yes"
        MODULE__SHA3_DEPS = "./Modules/_sha3/sha3.c ./Modules/_sha3/sha3.h ./Modules/hashlib.h"
        MODULE__SHA3_STATE = "yes"
        MODULE__SHA512_DEPS = "./Modules/hashlib.h"
        MODULE__SHA512_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/usr/local/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/usr/local/opt/sqlite/lib -lsqlite3"
        MODULE__SQLITE3_STATE = "yes"
        MODULE__SRE_LDFLAGS = ""
        MODULE__SSL_CFLAGS = "-I/usr/local/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/usr/local/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_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_STATE = "missing"
        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/usr/local/opt/openssl@3/include"
        OPENSSL_LDFLAGS = "-L/usr/local/opt/openssl@3/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 = "/usr/local/opt/[email protected]/Frameworks/Python.framework"
        PYTHONFRAMEWORKPREFIX = "/usr/local/opt/[email protected]/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 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -I/usr/local/include -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./Include/internal -I. -I./Include -I/usr/local/include -DPy_BUILD_CORE_BUILTIN"
        PY_CFLAGS = "-Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk"
        PY_CFLAGS_NODIST = "-I/usr/local/include -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./Include/internal"
        PY_COERCE_C_LOCALE = "1"
        PY_CORE_CFLAGS = "-Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -I/usr/local/include -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./Include/internal -I. -I./Include -I/usr/local/include -DPy_BUILD_CORE"
        PY_CORE_LDFLAGS = "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -L/usr/local/lib -Wl,-rpath,/usr/local/lib -flto -Wl,-export_dynamic -g"
        PY_CPPFLAGS = "-I. -I./Include -I/usr/local/include"
        PY_ENABLE_SHARED = "0"
        PY_FORMAT_SIZE_T = ""z""
        PY_LDFLAGS = "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk"
        PY_LDFLAGS_NODIST = "-L/usr/local/lib -Wl,-rpath,/usr/local/lib -flto -Wl,-export_dynamic -g"
        PY_LDFLAGS_NOLTO = "-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.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 = "-Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX11.sdk -I/usr/local/include -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./Include/internal -I. -I./Include -I/usr/local/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/pythonA3.11-20240522-32003-anoi20/Python-3.11.9"
        SCRIPTDIR = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11/lib"
        SETPGRP_HAVE_ARG = "0"
        SHELL = "/bin/sh"
        SHLIBS = "-lintl -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 = "./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.11-20240522-32003-anoi20/Python-3.11.9 ./python.exe -E"
        TESTPYTHONOPTS = ""
        TESTRUNNER = "DYLD_FRAMEWORK_PATH=/private/tmp/pythonA3.11-20240522-32003-anoi20/Python-3.11.9 ./python.exe -E ./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 = "./Tools/scripts/update_file.py"
        USE_COMPUTED_GOTOS = "0"
        VERSION = "3.11"
        WASM_ASSETS_DIR = "./usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11"
        WASM_STDLIB = "./usr/local/opt/[email protected]/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 = "1"
        WITH_DYLD = "1"
        WITH_EDITLINE = "1"
        WITH_FREELISTS = "1"
        WITH_LIBINTL = "1"
        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.11-20240522-32003-anoi20/Python-3.11.9"
        abs_srcdir = "/private/tmp/pythonA3.11-20240522-32003-anoi20/Python-3.11.9"
        base = "/Users/user/.venv"
        datarootdir = "/usr/local/opt/[email protected]/share"
        exec_prefix = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11"
        installed_base = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11"
        installed_platbase = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11"
        platbase = "/Users/user/.venv"
        platlibdir = "lib"
        prefix = "/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.11"
        projectbase = "/usr/local/opt/[email protected]/bin"
        py_version = "3.11.9"
        py_version_nodot = "311"
        py_version_nodot_plat = ""
        py_version_short = "3.11"
        srcdir = "/usr/local/Cellar/[email protected]/3.11.9/Frameworks/Python.framework/Versions/3.11/lib/python3.11/config-3.11-darwin"
        userbase = "/Users/user/Library/Python/3.11"

Example pyproject.toml

[tool.poetry]
name = "example"
version = "0.1.0"
description = "Example package"
authors = ["Max Shomeah <[email protected]>"]
license = ""
readme = "README.md"
packages = [{include = "example", from = "src"}]

[tool.poetry.dependencies]
python = "^3.11"


[tool.poetry.group.dev.dependencies]
poethepoet = "^0.31.1"
covdefaults = "^2.3.0"
pytest-cov = "^6.0.0"
allure-pytest = "^2.13.5"
twine = "^6.0.1"
commitizen = "^4.0.0"
black = "^24.10.0"
isort = "^5.13.2"
mypy = "^1.13.0"
pytest = "^8.3.4"
pre-commit = "^4.0.1"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"


[[tool.poetry.source]]
name = "pypi-mirror"
url = "https://pypi.local/proxy-pypiorg-pypi/simple"
priority = "primary"


[[tool.poetry.source]]
name = "staging"
url = "https://pypi.local/pypi-dev/simple"
priority = "supplemental"


[tool.commitizen]
name = "cz_customize"
tag_format = "${version}-example"
version_scheme = "semver"
version_provider = "poetry"
update_changelog_on_bump = true
major_version_zero = true
bump_message = "bump(example): version $current_version → $new_version"
changelog_pattern = "^(feat|fix|refactor|perf|test|build)\\(example\\)(!)?:"

[tool.commitizen.customize]
bump_pattern = '^(feat|fix|build|perf|refactor|test)'
bump_map = { feat = "MINOR", fix = "PATCH", build = "PATCH", perf = "PATCH", refactor = "PATCH", 'test' = "PATCH" }
schema_pattern = '^(build|ci|docs|feat|fix|perf|refactor|style|test|chore|revert|bump|my_custom_one)(\(\S+\))?\:?\s.*'

Poetry Runtime Logs

Full logs available at 

https://gist.github.com/shomeax/b37b63d3428996bbcbdac235eaf96096

Here's traceback excerpt:



  ValueError

  Package('nh3', '0.2.19') is not in list

  at /usr/local/lib/python3.11/site-packages/poetry/repositories/legacy_repository.py:66 in package
       62│         Note that this will be cached so the subsequent operations
       63│         should be much faster.
       64│         """
       65│         try:
    →  66│             index = self._packages.index(Package(name, version))
       67│ 
       68│             return self._packages[index]
       69│         except ValueError:
       70│             package = super().package(name, version, extras)

The following error occurred when trying to handle this error:


  Stack trace:

  1  /usr/local/lib/python3.11/site-packages/poetry/inspection/info.py:546 in from_wheel
      544│         try:
      545│             wheel = pkginfo.Wheel(str(path))
    → 546│             return cls._from_distribution(wheel)
      547│         except ValueError as e:
      548│             raise PackageInfoError(path, e)

  ValueError

  Unknown metadata version: 2.4

  at /usr/local/lib/python3.11/site-packages/poetry/inspection/info.py:251 in _from_distribution
      247│         """
      248│         if dist.metadata_version not in pkginfo.distribution.HEADER_ATTRS:
      249│             # This check can be replaced once upstream implements strict parsing
      250│             # https://bugs.launchpad.net/pkginfo/+bug/2058697
    → 251│             raise ValueError(f"Unknown metadata version: {dist.metadata_version}")
      252│ 
      253│         requirements = None
      254│ 
      255│         if dist.requires_dist:

The following error occurred when trying to handle this error:


  Stack trace:

  27  /usr/local/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

  26  /usr/local/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│ 

  25  /usr/local/lib/python3.11/site-packages/poethepoet/plugin.py:276 in _run
       274│                 tokens.insert(task_name_index, "--")
       275│ 
     → 276│             return continue_run(self, io)
       277│ 
       278│         # Apply the patch

  24  /usr/local/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│ 

  23  /usr/local/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

  22  /usr/local/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

  21  /usr/local/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:

  20  /usr/local/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

  19  /usr/local/lib/python3.11/site-packages/poetry/console/commands/update.py:56 in handle
        54│         self.installer.update(True)
        55│ 
     →  56│         return self.installer.run()
        57│ 

  18  /usr/local/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:

  17  /usr/local/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")

  16  /usr/local/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│ 

  15  /usr/local/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

  14  /usr/local/lib/python3.11/site-packages/poetry/mixology/__init__.py:18 in resolve_version
        16│     solver = VersionSolver(root, provider)
        17│ 
     →  18│     return solver.solve()
        19│ 

  13  /usr/local/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()

  12  /usr/local/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

  11  /usr/local/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,

  10  /usr/local/lib/python3.11/site-packages/poetry/repositories/repository_pool.py:204 in package
       202│         for repo in self.repositories:
       203│             try:
     → 204│                 return repo.package(name, version, extras=extras)
       205│             except PackageNotFound:
       206│                 continue

   9  /usr/local/lib/python3.11/site-packages/poetry/repositories/legacy_repository.py:70 in package
        68│             return self._packages[index]
        69│         except ValueError:
     →  70│             package = super().package(name, version, extras)
        71│             package._source_type = "legacy"
        72│             package._source_url = self._url

   8  /usr/local/lib/python3.11/site-packages/poetry/repositories/cached_repository.py:75 in package
        73│         extras: list[str] | None = None,
        74│     ) -> Package:
     →  75│         return self.get_release_info(canonicalize_name(name), version).to_package(
        76│             name=name, extras=extras
        77│         )

   7  /usr/local/lib/python3.11/site-packages/poetry/repositories/cached_repository.py:52 in get_release_info
        50│             return PackageInfo.load(self._get_release_info(name, version))
        51│ 
     →  52│         cached = self._release_cache.remember(
        53│             f"{name}:{version}", lambda: self._get_release_info(name, version)
        54│         )

   6  /usr/local/lib/python3.11/site-packages/poetry/utils/cache.py:147 in remember
       145│         value = self.get(key)
       146│         if value is None:
     → 147│             value = callback() if callable(callback) else callback
       148│             self.put(key, value, minutes)
       149│         return value

   5  /usr/local/lib/python3.11/site-packages/poetry/repositories/cached_repository.py:53 in <lambda>
        51│ 
        52│         cached = self._release_cache.remember(
     →  53│             f"{name}:{version}", lambda: self._get_release_info(name, version)
        54│         )
        55│ 

   4  /usr/local/lib/python3.11/site-packages/poetry/repositories/legacy_repository.py:123 in _get_release_info
       121│         yanked = page.yanked(name, version)
       122│ 
     → 123│         return self._links_to_data(
       124│             links,
       125│             PackageInfo(

   3  /usr/local/lib/python3.11/site-packages/poetry/repositories/http_repository.py:365 in _links_to_data
       363│ 
       364│         # drop yanked files unless the entire release is yanked
     → 365│         info = self._get_info_from_links(links, ignore_yanked=not data.yanked)
       366│ 
       367│         data.summary = info.summary

   2  /usr/local/lib/python3.11/site-packages/poetry/repositories/http_repository.py:326 in _get_info_from_links
       324│                 return self._get_info_from_metadata(
       325│                     first_wheel
     → 326│                 ) or self._get_info_from_wheel(first_wheel)
       327│ 
       328│         return self._get_info_from_metadata(sdists[0]) or self._get_info_from_sdist(

   1  /usr/local/lib/python3.11/site-packages/poetry/repositories/http_repository.py:143 in _get_info_from_wheel
       141│                 link, raise_accepts_ranges=raise_accepts_ranges
       142│             ) as filepath:
     → 143│                 return PackageInfo.from_wheel(filepath)
       144│         except HTTPRangeRequestSupported:
       145│             # The domain did not support range requests for the first URL(s) we tried,

  PackageInfoError

  Unable to determine package info for path: /var/folders/pg/0dhvm7p93xd8cz_js496_szh0000gn/T/tmpqbev_7y3/nh3-0.2.19-cp313-cp313t-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
  
  Unknown metadata version: 2.4

  at /usr/local/lib/python3.11/site-packages/poetry/inspection/info.py:548 in from_wheel
      544│         try:
      545│             wheel = pkginfo.Wheel(str(path))
      546│             return cls._from_distribution(wheel)
      547│         except ValueError as e:
    → 548│             raise PackageInfoError(path, e)
      549│ 
      550│     @classmethod
      551│     def from_bdist(cls, path: Path) -> PackageInfo:
      552│         """
@shomeax shomeax added kind/bug Something isn't working as expected status/triage This issue needs to be triaged labels Dec 4, 2024
@dimbleby
Copy link
Contributor

dimbleby commented Dec 4, 2024

Please search for duplicates, please close

@z4-qqq
Copy link

z4-qqq commented Dec 5, 2024

Have the same bug

@jottr
Copy link

jottr commented Dec 5, 2024

I can confirm that this bit me. But it seems to go further back than 1.8.2.

@walbag
Copy link

walbag commented Dec 5, 2024

Same issue using versions 1.8.3 and 1.8.4.

@walbag
Copy link

walbag commented Dec 5, 2024

Same issue using versions 1.8.3 and 1.8.4.

But in our case, it occurs while adding the jsonschema library: https://pypi.org/project/jsonschema/

@woodswift
Copy link

I am using 1.8.4 and get the exact the same error like "Unknown metadata version: 2.4"

@walbag
Copy link

walbag commented Dec 5, 2024

Seems related: #9195

@walbag
Copy link

walbag commented Dec 5, 2024

And this one as well, which is linked from 9195: #9203

@walbag
Copy link

walbag commented Dec 5, 2024

#9229

@clintonroy
Copy link
Contributor

Please upgrade your poetry install, one of the dependencies needs updating (I think packaging). Easiest way is to reinstall.

@Secrus
Copy link
Member

Secrus commented Dec 5, 2024

Please upgrade your poetry install, one of the dependencies needs updating (I think packaging). Easiest way is to reinstall.

It is actually pkginfo.
For install script based installations

poetry self update pkginfo

should fix the issue, for pipx-based

pipx inject poetry pkginfo==1.12.0

@shomeax
Copy link
Author

shomeax commented Dec 6, 2024

Please upgrade your poetry install, one of the dependencies needs updating (I think packaging). Easiest way is to reinstall.

That's a nice hint, I'll try!

However due recent changes in several distributions, upgrading system-bundled packages is prohibited unless you use system package manager for that, e.g. apt or yum.

Thus for this method to work one need to install poetry into virtual environment, and as poetry itself manages virtual environment for projects it builds (but only optionally), things can get very dirty real quick!

@shomeax
Copy link
Author

shomeax commented Dec 6, 2024

Seems related: #9195
And this one as well, which is linked from 9195: #9203
#9229

seems so, but unfortunately all those issues were closed due to inactivity but for the fix, and the code merged is only about 'safe-guards' against situations like I've stumbled upon.

So, yeah, thank you very much, I'm happy to see proper exception instead of inappropriate one ;)

But if anyhow possible, I believe poetry users would prefer upgraded metadata scenario be handled without exception at all, because it seems unreasonable that pkginfo guys release updates to package metadata schema without backward compatibility in mind.

Quote from Python Packaging Guide follows:
https://packaging.python.org/en/latest/specifications/core-metadata/

Automated tools consuming metadata SHOULD warn if metadata_version is greater than the highest version they support, and MUST fail if metadata_version has a greater major version than the highest version they support (as described in the Version specifier specification, the major version is the value before the first dot).

For broader compatibility, build tools MAY choose to produce distribution metadata using the lowest metadata version that includes all of the needed fields.

I mean 2.3/2.4 is Minor version change, it would so nice if poetry would handle it as MAY clause suggests.

@radoering
Copy link
Member

Thus for this method to work one need to install poetry into virtual environment, and as poetry itself manages virtual environment for projects it builds (but only optionally), things can get very dirty real quick!

There are installation instructions. If you just use pipx or the installer script, you do not have to worry about virtual environments.

But if anyhow possible, I believe poetry users would prefer upgraded metadata scenario be handled without exception at all, because it seems unreasonable that pkginfo guys release updates to package metadata schema without backward compatibility in mind.

I mean 2.3/2.4 is Minor version change, it would so nice if poetry would handle it as MAY clause suggests.

Up to pkginfo 1.10, it did not handle unknown minor updates in a sensible way (see #9888 for details). Therefore, not allowing unknown METADATA versions (even minor updates) made sense. With pkginfo 1.11, it is handled better so we loosened the check for unknown METADATA versions to only fail on major version updates in #9888.

By the way, we released 1.8.5 including this change yesterday.

@shomeax
Copy link
Author

shomeax commented Dec 7, 2024

Hell, yeah!

Guys, you're the best!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working as expected status/triage This issue needs to be triaged
Projects
None yet
9 participants