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: Error installing packages from private artifactory repository #9185

Open
damonallison opened this issue Mar 20, 2024 · 13 comments
Open
Labels
area/installer Related to the dependency installer area/sources Releated to package sources/indexes/repositories kind/bug Something isn't working as expected status/triage This issue needs to be triaged

Comments

@damonallison
Copy link

Description

We are running into errors downloading from a private virtual artifactory instance. It appears almost directly related or the same as #9056 - but since that issue looks resolved and released with 1.8.2, I thought I'd report it again.

Workarounds

Use 1.7.1 or lower

Poetry Installation Method

pipx

Operating System

macOS 14.4

Poetry Version

Poetry (version 1.8.2)

Poetry Configuration

cache-dir = "/Users/damon/Library/Caches/pypoetry"  # /Users/damon/.poetry
experimental.system-git-client = false
installer.max-workers = null
installer.modern-installation = true
installer.no-binary = null
installer.parallel = true
keyring.enabled = true
repositories.myco-deploy.url = "https://artifactory.gcp.mycotech.com/artifactory/api/pypi/pypi-local"
repositories.myco-resolve.url = "https://artifactory.gcp.mycotech.com/artifactory/api/pypi/pypi-virtual/simple"
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/damon/.poetry/virtualenvs
virtualenvs.prefer-active-python = true
virtualenvs.prompt = "{project_name}-py{python_version}"
warnings.export = true

Python Sysconfig

Platform: "macosx-14.3-arm64"
Python version: "3.11"
Current installation scheme: "venv"

Paths: 
	data = "/Users/damon/.poetry/virtualenvs/iris-D1oXevlD-py3.11"
	include = "/Users/damon/.asdf/installs/python/3.11.8/include/python3.11"
	platinclude = "/Users/damon/.asdf/installs/python/3.11.8/include/python3.11"
	platlib = "/Users/damon/.poetry/virtualenvs/iris-D1oXevlD-py3.11/lib/python3.11/site-packages"
	platstdlib = "/Users/damon/.poetry/virtualenvs/iris-D1oXevlD-py3.11/lib/python3.11"
	purelib = "/Users/damon/.poetry/virtualenvs/iris-D1oXevlD-py3.11/lib/python3.11/site-packages"
	scripts = "/Users/damon/.poetry/virtualenvs/iris-D1oXevlD-py3.11/bin"
	stdlib = "/Users/damon/.asdf/installs/python/3.11.8/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 = "ar"
	ARFLAGS = "rcs"
	BASECFLAGS = "-Wsign-compare -Wunreachable-code"
	BASECPPFLAGS = ""
	BASEMODLIBS = ""
	BINDIR = "/Users/damon/.asdf/installs/python/3.11.8/bin"
	BINLIBDEST = "/Users/damon/.asdf/installs/python/3.11.8/lib/python3.11"
	BLDLIBRARY = "-L. -lpython3.11"
	BLDSHARED = "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib"
	BOOTSTRAP_HEADERS = "\"
	BUILDEXE = ".exe"
	BUILDPYTHON = "python.exe"
	BUILD_GNU_TYPE = "aarch64-apple-darwin23.3.0"
	BYTESTR_DEPS = "\"
	CC = "clang"
	CCSHARED = ""
	CFLAGS = "-Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall"
	CFLAGSFORSHARED = ""
	CFLAGS_ALIASING = "-fno-strict-aliasing"
	CFLAGS_NODIST = ""
	CONFIGFILES = "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
	CONFIGURE_CFLAGS = ""
	CONFIGURE_CFLAGS_NODIST = "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden"
	CONFIGURE_CPPFLAGS = "-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include"
	CONFIGURE_LDFLAGS = "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib"
	CONFIGURE_LDFLAGS_NODIST = ""
	CONFIGURE_LDFLAGS_NOLTO = ""
	CONFIG_ARGS = "'--prefix=/Users/damon/.asdf/installs/python/3.11.8' '--enable-shared' '--libdir=/Users/damon/.asdf/installs/python/3.11.8/lib' '--with-openssl=/opt/homebrew/opt/openssl@3' 'PKG_CONFIG_PATH=/opt/homebrew/opt/openssl@3/lib/pkgconfig/:' 'CC=clang' 'LDFLAGS=-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib' 'LIBS=-L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib' 'CPPFLAGS=-I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include'"
	CONFINCLUDEDIR = "/Users/damon/.asdf/installs/python/3.11.8/include"
	CONFINCLUDEPY = "/Users/damon/.asdf/installs/python/3.11.8/include/python3.11"
	COREPYTHONPATH = ""
	COVERAGE_INFO = "/var/folders/r2/r0j90gld19lclvbgjpyy6phw0000gq/T/python-build.20240304163725.7913/Python-3.11.8/coverage.info"
	COVERAGE_LCOV_OPTIONS = "--rc lcov_branch_coverage=1"
	COVERAGE_REPORT = "/var/folders/r2/r0j90gld19lclvbgjpyy6phw0000gq/T/python-build.20240304163725.7913/Python-3.11.8/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/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include"
	CXX = "clang++"
	DECIMAL_CFLAGS = "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1"
	DECIMAL_LDFLAGS = "-lm Modules/_decimal/libmpdec/libmpdec.a"
	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 = "/Users/damon/.asdf/installs/python/3.11.8 /Users/damon/.asdf/installs/python/3.11.8/lib /Users/damon/.asdf/installs/python/3.11.8/lib/python3.11 /Users/damon/.asdf/installs/python/3.11.8/lib/python3.11/lib-dynload"
	DESTLIB = "/Users/damon/.asdf/installs/python/3.11.8/lib/python3.11"
	DESTPATH = ""
	DESTSHARED = "/Users/damon/.asdf/installs/python/3.11.8/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 = "upgrade"
	EXE = ""
	EXEMODE = "755"
	EXPAT_CFLAGS = "-I./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 ./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 = "1"
	HAVE_CURSES_IS_TERM_RESIZED = "1"
	HAVE_CURSES_RESIZETERM = "1"
	HAVE_CURSES_RESIZE_TERM = "1"
	HAVE_CURSES_SYNCOK = "1"
	HAVE_CURSES_TYPEAHEAD = "1"
	HAVE_CURSES_USE_ENV = "1"
	HAVE_CURSES_WCHGAT = "1"
	HAVE_DB_H = "1"
	HAVE_DECL_RTLD_DEEPBIND = "0"
	HAVE_DECL_RTLD_GLOBAL = "1"
	HAVE_DECL_RTLD_LAZY = "1"
	HAVE_DECL_RTLD_LOCAL = "1"
	HAVE_DECL_RTLD_MEMBER = "0"
	HAVE_DECL_RTLD_NODELETE = "1"
	HAVE_DECL_RTLD_NOLOAD = "1"
	HAVE_DECL_RTLD_NOW = "1"
	HAVE_DECL_TZNAME = "0"
	HAVE_DEVICE_MACROS = "1"
	HAVE_DEV_PTC = "0"
	HAVE_DEV_PTMX = "1"
	HAVE_DIRECT_H = "0"
	HAVE_DIRENT_D_TYPE = "1"
	HAVE_DIRENT_H = "1"
	HAVE_DIRFD = "1"
	HAVE_DLFCN_H = "1"
	HAVE_DLOPEN = "1"
	HAVE_DUP = "1"
	HAVE_DUP2 = "1"
	HAVE_DUP3 = "0"
	HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH = "1"
	HAVE_DYNAMIC_LOADING = "1"
	HAVE_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 = "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 = "1"
	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 = "1"
	HAVE_MKNOD = "1"
	HAVE_MKNODAT = "1"
	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 = "1"
	HAVE_RL_CATCH_SIGNAL = "1"
	HAVE_RL_COMPDISP_FUNC_T = "1"
	HAVE_RL_COMPLETION_APPEND_CHARACTER = "1"
	HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK = "1"
	HAVE_RL_COMPLETION_MATCHES = "1"
	HAVE_RL_COMPLETION_SUPPRESS_APPEND = "1"
	HAVE_RL_PRE_INPUT_HOOK = "1"
	HAVE_RL_RESIZE_TERMINAL = "1"
	HAVE_RPC_RPC_H = "1"
	HAVE_RTPSPAWN = "0"
	HAVE_SCHED_GET_PRIORITY_MAX = "1"
	HAVE_SCHED_H = "1"
	HAVE_SCHED_RR_GET_INTERVAL = "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 = "aarch64-apple-darwin23.3.0"
	INCLDIRSTOMAKE = "/Users/damon/.asdf/installs/python/3.11.8/include /Users/damon/.asdf/installs/python/3.11.8/include /Users/damon/.asdf/installs/python/3.11.8/include/python3.11 /Users/damon/.asdf/installs/python/3.11.8/include/python3.11"
	INCLUDEDIR = "/Users/damon/.asdf/installs/python/3.11.8/include"
	INCLUDEPY = "/Users/damon/.asdf/installs/python/3.11.8/include/python3.11"
	INSTALL = "/opt/homebrew/bin/ginstall -c"
	INSTALL_DATA = "/opt/homebrew/bin/ginstall -c -m 644"
	INSTALL_PROGRAM = "/opt/homebrew/bin/ginstall -c"
	INSTALL_SCRIPT = "/opt/homebrew/bin/ginstall -c"
	INSTALL_SHARED = "/opt/homebrew/bin/ginstall -c -m 755"
	INSTSONAME = "libpython3.11.dylib"
	IO_H = "Modules/_io/_iomodule.h"
	IO_OBJS = "\"
	LDCXXSHARED = "clang++ -bundle -undefined dynamic_lookup"
	LDFLAGS = "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib"
	LDFLAGS_NODIST = ""
	LDLIBRARY = "libpython3.11.dylib"
	LDLIBRARYDIR = ""
	LDSHARED = "clang -bundle -undefined dynamic_lookup -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib"
	LDVERSION = "3.11"
	LIBC = ""
	LIBDEST = "/Users/damon/.asdf/installs/python/3.11.8/lib/python3.11"
	LIBDIR = "/Users/damon/.asdf/installs/python/3.11.8/lib"
	LIBEXPAT_A = "Modules/expat/libexpat.a"
	LIBEXPAT_CFLAGS = "-I./Modules/expat -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include"
	LIBEXPAT_HEADERS = "\"
	LIBEXPAT_OBJS = "\"
	LIBFFI_INCLUDEDIR = ""
	LIBM = ""
	LIBMPDEC_A = "Modules/_decimal/libmpdec/libmpdec.a"
	LIBMPDEC_CFLAGS = "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1 -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include"
	LIBMPDEC_HEADERS = "\"
	LIBMPDEC_OBJS = "\"
	LIBOBJDIR = "Python/"
	LIBOBJS = ""
	LIBPC = "/Users/damon/.asdf/installs/python/3.11.8/lib/pkgconfig"
	LIBPL = "/Users/damon/.asdf/installs/python/3.11.8/lib/python3.11/config-3.11-darwin"
	LIBPYTHON = ""
	LIBRARY = "libpython3.11.a"
	LIBRARY_DEPS = "libpython3.11.a libpython3.11.dylib"
	LIBRARY_OBJS = "\"
	LIBRARY_OBJS_OMIT_FROZEN = "\"
	LIBS = "-lintl -ldl -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation"
	LIBSUBDIRS = "asyncio \"
	LINKCC = "clang"
	LINKFORSHARED = "-Wl,-stack_size,1000000  -framework CoreFoundation"
	LINK_PYTHON_DEPS = "libpython3.11.a libpython3.11.dylib"
	LINK_PYTHON_OBJS = "-L. -lpython3.11"
	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 = "/Users/damon/.asdf/installs/python/3.11.8/lib/python3.11"
	MACOSX_DEPLOYMENT_TARGET = "14.3"
	MAINCC = "clang"
	MAJOR_IN_MKDEV = "0"
	MAJOR_IN_SYSMACROS = "0"
	MAKESETUP = "./Modules/makesetup"
	MANDIR = "/Users/damon/.asdf/installs/python/3.11.8/share/man"
	MKDIR_P = "/opt/homebrew/bin/gmkdir -p"
	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 = "-I./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 = "./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 = "-I/opt/homebrew/Cellar/libb2/0.98.1/include"
	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 = "-L/opt/homebrew/Cellar/libb2/0.98.1/lib -lb2"
	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 = "-I./Modules/_decimal/libmpdec -DUNIVERSAL=1"
	MODULE__DECIMAL_DEPS = "./Modules/_decimal/docstrings.h \ Modules/_decimal/libmpdec/libmpdec.a"
	MODULE__DECIMAL_LDFLAGS = "-lm Modules/_decimal/libmpdec/libmpdec.a"
	MODULE__DECIMAL_STATE = "yes"
	MODULE__ELEMENTTREE_CFLAGS = "-I./Modules/expat"
	MODULE__ELEMENTTREE_DEPS = "./Modules/pyexpat.c \ Modules/expat/libexpat.a"
	MODULE__ELEMENTTREE_STATE = "yes"
	MODULE__FUNCTOOLS_LDFLAGS = ""
	MODULE__GDBM_CFLAGS = ""
	MODULE__GDBM_LDFLAGS = "-lgdbm"
	MODULE__GDBM_STATE = "yes"
	MODULE__HASHLIB_CFLAGS = "-I/opt/homebrew/opt/openssl@3/include"
	MODULE__HASHLIB_DEPS = "./Modules/hashlib.h"
	MODULE__HASHLIB_LDFLAGS = "-L/opt/homebrew/opt/openssl@3/lib   -lcrypto"
	MODULE__HASHLIB_STATE = "yes"
	MODULE__HEAPQ_STATE = "yes"
	MODULE__IO_CFLAGS = "-I./Modules/_io"
	MODULE__IO_DEPS = "./Modules/_io/_iomodule.h"
	MODULE__IO_LDFLAGS = ""
	MODULE__IO_STATE = "yes"
	MODULE__JSON_STATE = "yes"
	MODULE__LOCALE_LDFLAGS = ""
	MODULE__LSPROF_STATE = "yes"
	MODULE__LZMA_CFLAGS = "-I/opt/homebrew/Cellar/xz/5.6.0/include"
	MODULE__LZMA_LDFLAGS = "-L/opt/homebrew/Cellar/xz/5.6.0/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./Modules/_sqlite"
	MODULE__SQLITE3_DEPS = "./Modules/_sqlite/connection.h ./Modules/_sqlite/cursor.h ./Modules/_sqlite/microprotocols.h ./Modules/_sqlite/module.h ./Modules/_sqlite/prepare_protocol.h ./Modules/_sqlite/row.h ./Modules/_sqlite/util.h"
	MODULE__SQLITE3_LDFLAGS = "-lsqlite3"
	MODULE__SQLITE3_STATE = "yes"
	MODULE__SRE_LDFLAGS = ""
	MODULE__SSL_CFLAGS = "-I/opt/homebrew/opt/openssl@3/include"
	MODULE__SSL_DEPS = "./Modules/_ssl.h ./Modules/_ssl/cert.c ./Modules/_ssl/debughelpers.c ./Modules/_ssl/misc.c ./Modules/_ssl_data.h ./Modules/_ssl_data_111.h ./Modules/_ssl_data_300.h ./Modules/socketmodule.h"
	MODULE__SSL_LDFLAGS = "-L/opt/homebrew/opt/openssl@3/lib  -lssl -lcrypto"
	MODULE__SSL_STATE = "yes"
	MODULE__STATISTICS_LDFLAGS = ""
	MODULE__STATISTICS_STATE = "yes"
	MODULE__STAT_LDFLAGS = ""
	MODULE__STRUCT_STATE = "yes"
	MODULE__SYMTABLE_LDFLAGS = ""
	MODULE__TESTBUFFER_STATE = "yes"
	MODULE__TESTCAPI_DEPS = "./Modules/testcapi_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 = "-luuid"
	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/opt/homebrew/opt/openssl@3/include"
	OPENSSL_LDFLAGS = "-L/opt/homebrew/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 = ""
	PYTHONFRAMEWORKDIR = "no-framework"
	PYTHONFRAMEWORKINSTALLDIR = ""
	PYTHONFRAMEWORKPREFIX = ""
	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 -DNDEBUG -g -fwrapv -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE_BUILTIN"
	PY_CFLAGS = "-Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall"
	PY_CFLAGS_NODIST = "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal"
	PY_COERCE_C_LOCALE = "1"
	PY_CORE_CFLAGS = "-Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -DPy_BUILD_CORE"
	PY_CORE_LDFLAGS = "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib"
	PY_CPPFLAGS = "-I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include"
	PY_ENABLE_SHARED = "1"
	PY_FORMAT_SIZE_T = ""z""
	PY_LDFLAGS = "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib"
	PY_LDFLAGS_NODIST = ""
	PY_LDFLAGS_NOLTO = "-L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib -L/opt/homebrew/opt/ncurses/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/readline/lib -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib"
	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 -DNDEBUG -g -fwrapv -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I. -I./Include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -I/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/damon/.asdf/installs/python/3.11.8/include -I/opt/homebrew/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include"
	PY_SUPPORT_TIER = "2"
	Py_DEBUG = "0"
	Py_ENABLE_SHARED = "1"
	Py_HASH_ALGORITHM = "0"
	Py_STATS = "0"
	Py_SUNOS_VERSION = "0"
	Py_TRACE_REFS = "0"
	QUICKTESTOPTS = "-x test_subprocess test_io test_lib2to3 \"
	READELF = ":"
	RESSRCDIR = "Mac/Resources/framework"
	RETSIGTYPE = "void"
	RUNSHARED = "DYLD_LIBRARY_PATH=/var/folders/r2/r0j90gld19lclvbgjpyy6phw0000gq/T/python-build.20240304163725.7913/Python-3.11.8"
	SCRIPTDIR = "/Users/damon/.asdf/installs/python/3.11.8/lib"
	SETPGRP_HAVE_ARG = "0"
	SHELL = "/bin/sh"
	SHLIBS = "-lintl -ldl -L/Users/damon/.asdf/installs/python/3.11.8/lib -Wl,-rpath,/Users/damon/.asdf/installs/python/3.11.8/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -framework CoreFoundation"
	SHLIB_SUFFIX = ".so"
	SIGNED_RIGHT_SHIFT_ZERO_FILLS = "0"
	SITEPATH = ""
	SIZEOF_DOUBLE = "8"
	SIZEOF_FLOAT = "4"
	SIZEOF_FPOS_T = "8"
	SIZEOF_INT = "4"
	SIZEOF_LONG = "8"
	SIZEOF_LONG_DOUBLE = "8"
	SIZEOF_LONG_LONG = "8"
	SIZEOF_OFF_T = "8"
	SIZEOF_PID_T = "4"
	SIZEOF_PTHREAD_KEY_T = "8"
	SIZEOF_PTHREAD_T = "8"
	SIZEOF_SHORT = "2"
	SIZEOF_SIZE_T = "8"
	SIZEOF_TIME_T = "8"
	SIZEOF_UINTPTR_T = "8"
	SIZEOF_VOID_P = "8"
	SIZEOF_WCHAR_T = "4"
	SIZEOF__BOOL = "1"
	SOABI = "cpython-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_LIBRARY_PATH=/var/folders/r2/r0j90gld19lclvbgjpyy6phw0000gq/T/python-build.20240304163725.7913/Python-3.11.8 ./python.exe -E"
	TESTPYTHONOPTS = ""
	TESTRUNNER = "DYLD_LIBRARY_PATH=/var/folders/r2/r0j90gld19lclvbgjpyy6phw0000gq/T/python-build.20240304163725.7913/Python-3.11.8 ./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 = "./Users/damon/.asdf/installs/python/3.11.8"
	WASM_STDLIB = "./Users/damon/.asdf/installs/python/3.11.8/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 = "1"
	WITH_NEXT_FRAMEWORK = "0"
	WITH_PYMALLOC = "1"
	WITH_VALGRIND = "0"
	X87_DOUBLE_ROUNDING = "0"
	XMLLIBSUBDIRS = "xml xml/dom xml/etree xml/parsers xml/sax"
	abiflags = ""
	abs_builddir = "/var/folders/r2/r0j90gld19lclvbgjpyy6phw0000gq/T/python-build.20240304163725.7913/Python-3.11.8"
	abs_srcdir = "/var/folders/r2/r0j90gld19lclvbgjpyy6phw0000gq/T/python-build.20240304163725.7913/Python-3.11.8"
	base = "/Users/damon/.poetry/virtualenvs/iris-D1oXevlD-py3.11"
	datarootdir = "/Users/damon/.asdf/installs/python/3.11.8/share"
	exec_prefix = "/Users/damon/.asdf/installs/python/3.11.8"
	installed_base = "/Users/damon/.asdf/installs/python/3.11.8"
	installed_platbase = "/Users/damon/.asdf/installs/python/3.11.8"
	platbase = "/Users/damon/.poetry/virtualenvs/iris-D1oXevlD-py3.11"
	platlibdir = "lib"
	prefix = "/Users/damon/.asdf/installs/python/3.11.8"
	projectbase = "/Users/damon/.asdf/installs/python/3.11.8/bin"
	py_version = "3.11.8"
	py_version_nodot = "311"
	py_version_nodot_plat = ""
	py_version_short = "3.11"
	srcdir = "/Users/damon/.asdf/installs/python/3.11.8/lib/python3.11/config-3.11-darwin"
	userbase = "/Users/damon/.local"

Example pyproject.toml

[tool.poetry]
name = "iris"
version = "1.4.2"
description = "An example project"
authors = ["me <me@me.com>"]
package-mode = false


[tool.poetry.dependencies]
python = ">=3.11,<3.12"
fastapi = "^0"
gunicorn = "^20.1.0"
prometheus-fastapi-instrumentator = "^6.0.0"
pydantic-settings = "^2.0.3"
pymyco = "^3.0.0"
streamlit = "^1.24.0"
uvicorn = { version = "^0", extras = ["standard"] }

# If you want to host your model using a modelserver, the model needs to be
# converted to onnx.
#
# Add the `sklearn_onnx`, `tf_onnx` or `torch_onnx` extra and specify
# `to_onnx=True` when saving your model card.
opsml = { version = "^2.0.1", extras = ["sklearn_onnx"] }
pymyco-sql = "1.5.0"

[tool.poetry.group.dev.dependencies]
black = "^22.3.0"
coverage = { version = "^7.0.0", extras = ["toml"] }
debugpy = "^1.6.0"
fastapi = { version = "^0", extras = ["all"] }
mypy = "^1.0.0"
pep8-naming = "^0.13.0"
pylint = "^2.13.9"
pytest = "^7.1.2"
pytest-cov = "^3.0.0"
requests = "^2.27.1"
ruff = "^0.0.270"
types-requests = "^2.27.27"
types-tzlocal = "^5.1.0.1"

[[tool.poetry.source]]
# Access myco's private Artifactory remote PyPi repository. It serves as a caching proxy.
# Generate Identity Token in Artifactory and use it as password and then have these ENV's set:
# export POETRY_HTTP_BASIC_MYCO_RESOLVE_USERNAME=${ARTIFACTORY_PYPI_USERNAME}
# export POETRY_HTTP_BASIC_MYCO_RESOLVE_PASSWORD=${ARTIFACTORY_PYPI_PASSWORD}
name = "myco-resolve"
url = "https://artifactory.gcp.mycotech.com/artifactory/api/pypi/pypi-virtual/simple"
priority = "primary"

[[tool.poetry.source]]
# Please use drone artifactory-poetry-publish step to publish packages.
name = "myco-deploy"
url = "https://artifactory.gcp.mycotech.com/artifactory/api/pypi/pypi-local"
priority = "explicit"

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

Poetry Runtime Logs

Multiple source configurations found for artifactory.gcp.mycotech.com - myco-resolve, myco-deploy
Multiple source configurations found for artifactory.gcp.mycotech.com - myco-resolve, myco-deploy
[urllib3:urllib3.connectionpool] https://artifactory.gcp.mycotech.com:443 "GET /artifactory/api/pypi/pypi-virtual/packages/packages/9b/ea/7219c01b5e92d02d2bc994a36245d99331cd66eb12d284707a2060a013d0/streamlit-1.32.2-py2.py3-none-any.whl HTTP/1.1" 200 8111204
Source (myco-resolve): Disabling lazy wheel support for artifactory.gcp.mycotech.com: did not receive partial content: got code 200
Source (myco-resolve): Downloading: https://artifactory.gcp.mycotech.com/artifactory/api/pypi/pypi-virtual/packages/packages/9b/ea/7219c01b5e92d02d2bc994a36245d99331cd66eb12d284707a2060a013d0/streamlit-1.32.2-py2.py3-none-any.whl#sha256=a0b8044e76fec364b07be145f8b40dbd8d083e20ebbb189ceb1fa9423f3dedea
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (2): artifactory.gcp.mycotech.com:443
[urllib3:urllib3.connectionpool] https://artifactory.gcp.mycotech.com:443 "GET /artifactory/api/pypi/pypi-virtual/packages/packages/9b/ea/7219c01b5e92d02d2bc994a36245d99331cd66eb12d284707a2060a013d0/streamlit-1.32.2-py2.py3-none-any.whl HTTP/1.1" 200 8111204
   1: Version solving took 35.627 seconds.
   1: Tried 1 solutions.

  ValueError

  Package('streamlit', '1.32.2') is not in list

  at ~/.asdf/installs/poetry/1.8.2/venv/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:

  7  ~/.asdf/installs/poetry/1.8.2/venv/lib/python3.11/site-packages/urllib3/response.py:737 in _error_catcher
       735│         try:
       736│             try:
    →  737│                 yield
       738│
       739│             except SocketTimeout as e:

< cut for brevity >

  2  ~/.asdf/installs/python/3.11.7/lib/python3.11/socket.py:706 in readinto
      704│         while True:
      705│             try:
    → 706│                 return self._sock.recv_into(b)
      707│             except timeout:
      708│                 self._timeout_occurred = True

  1  ~/.asdf/installs/python/3.11.7/lib/python3.11/ssl.py:1315 in recv_into
      1313│                   "non-zero flags not allowed in calls to recv_into() on %s" %
      1314│                   self.__class__)
    → 1315│             return self.read(nbytes, buffer)
      1316│         else:
      1317│             return super().recv_into(buffer, nbytes, flags)

  TimeoutError

  The read operation timed out

< cut for brevity ...>

The following error occurred when trying to handle this error:


  Stack trace:

  5  ~/.asdf/installs/poetry/1.8.2/venv/lib/python3.11/site-packages/requests/models.py:816 in generate
       814│             if hasattr(self.raw, "stream"):
       815│                 try:
    →  816│                     yield from self.raw.stream(chunk_size, decode_content=True)
       817│                 except ProtocolError as e:
       818│                     raise ChunkedEncodingError(e)

  4  ~/.asdf/installs/poetry/1.8.2/venv/lib/python3.11/site-packages/urllib3/response.py:1043 in stream
      1041│         else:
      1042│             while not is_fp_closed(self._fp) or len(self._decoded_buffer) > 0:
    → 1043│                 data = self.read(amt=amt, decode_content=decode_content)
      1044│
      1045│                 if data:

  3  ~/.asdf/installs/poetry/1.8.2/venv/lib/python3.11/site-packages/urllib3/response.py:935 in read
       933│                 return self._decoded_buffer.get(amt)
       934│
    →  935│         data = self._raw_read(amt)
       936│
       937│         flush_decoder = amt is None or (amt != 0 and not data)

  2  ~/.asdf/installs/poetry/1.8.2/venv/lib/python3.11/site-packages/urllib3/response.py:861 in _raw_read
       859│         fp_closed = getattr(self._fp, "closed", False)
       860│
    →  861│         with self._error_catcher():
       862│             data = self._fp_read(amt, read1=read1) if not fp_closed else b""
       863│             if amt is not None and amt != 0 and not data:

  1  ~/.asdf/installs/python/3.11.7/lib/python3.11/contextlib.py:158 in __exit__
      156│                 value = typ()
      157│             try:
    → 158│                 self.gen.throw(typ, value, traceback)
      159│             except StopIteration as exc:
      160│                 # Suppress StopIteration *unless* it's the same exception that

  ReadTimeoutError

  HTTPSConnectionPool(host='artifactory.gcp.mycotech.com', port=443): Read timed out.

  at ~/.asdf/installs/poetry/1.8.2/venv/lib/python3.11/site-packages/urllib3/response.py:742 in _error_catcher
       738│
       739│             except SocketTimeout as e:
       740│                 # FIXME: Ideally we'd like to include the url in the ReadTimeoutError but
       741│                 # there is yet no clean way to get at it from this context.
    →  742│                 raise ReadTimeoutError(self._pool, None, "Read timed out.") from e  # type: ignore[arg-type]
       743│
       744│             except BaseSSLError as e:
       745│                 # FIXME: Is there a better way to differentiate between SSLErrors?
       746│                 if "read operation timed out" not in str(e):

The following error occurred when trying to handle this error:


  Stack trace:

  31  ~/.asdf/installs/poetry/1.8.2/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

  30  ~/.asdf/installs/poetry/1.8.2/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│
< cut for brevity >


   4  ~/.asdf/installs/poetry/1.8.2/venv/lib/python3.11/site-packages/poetry/repositories/http_repository.py:107 in _cached_or_downloaded_file
       105│         with temporary_directory() as temp_dir:
       106│             filepath = Path(temp_dir) / link.filename
     → 107│             self._download(
       108│                 link.url, filepath, raise_accepts_ranges=raise_accepts_ranges
       109│             )

   3  ~/.asdf/installs/poetry/1.8.2/venv/lib/python3.11/site-packages/poetry/repositories/http_repository.py:96 in _download
        94│         self, url: str, dest: Path, *, raise_accepts_ranges: bool = False
        95│     ) -> None:
     →  96│         return download_file(
        97│             url, dest, session=self.session, raise_accepts_ranges=raise_accepts_ranges
        98│         )

   2  ~/.asdf/installs/poetry/1.8.2/venv/lib/python3.11/site-packages/poetry/utils/helpers.py:157 in download_file
       155│             set_indicator = total_size > 1024 * 1024
       156│
     → 157│         for fetched_size in downloader.download_with_progress(chunk_size):
       158│             if set_indicator:
       159│                 percent = (fetched_size * 100) // total_size

   1  ~/.asdf/installs/poetry/1.8.2/venv/lib/python3.11/site-packages/poetry/utils/helpers.py:197 in download_with_progress
       195│         fetched_size = 0
       196│         with atomic_open(self._dest) as f:
     → 197│             for chunk in self._response.iter_content(chunk_size=chunk_size):
       198│                 if chunk:
       199│                     f.write(chunk)

  ConnectionError

  HTTPSConnectionPool(host='artifactory.gcp.mycotech.com', port=443): Read timed out.

  at ~/.asdf/installs/poetry/1.8.2/venv/lib/python3.11/site-packages/requests/models.py:822 in generate
       818│                     raise ChunkedEncodingError(e)
       819│                 except DecodeError as e:
       820│                     raise ContentDecodingError(e)
       821│                 except ReadTimeoutError as e:
    →  822│                     raise ConnectionError(e)
       823│                 except SSLError as e:
       824│                     raise RequestsSSLError(e)
       825│             else:
       826│                 # Standard file-like object.
@damonallison damonallison added kind/bug Something isn't working as expected status/triage This issue needs to be triaged labels Mar 20, 2024
@dimbleby
Copy link
Contributor

TimeoutError

The read operation timed out

ReadTimeoutError

ConnectionError

looks like a network connectivity problem, not something that can be solved from this repository.

@damonallison
Copy link
Author

Hey @dimbleby - thanks for looking into this..

I agree it definitely looks like a network connectivity problem. I can assure you that switching to 1.7.1 and doing the same operation succeeds under the same network conditions, where 1.8.2 will consistently fail.

I think the problem is related to jfrog's mis-handling of ranges as described in #9056.

I will put some time into debugging jfrog's responses and determine why poetry is timing out on the request. My guess is it's waiting for a chunk that it never receives.

@dimbleby
Copy link
Contributor

I don't know whether it is making any difference or not, but you shouldn't put this in your pyproject.toml

[[tool.poetry.source]]
# Please use drone artifactory-poetry-publish step to publish packages.
name = "myco-deploy"
url = "https://artifactory.gcp.mycotech.com/artifactory/api/pypi/pypi-local"
priority = "explicit"

publishable repositories are poetry configuration, not project configuration - https://python-poetry.org/docs/repositories/#publishable-repositories

possibly having two repositories with the same domain is confusing things, or possibly not

@damonallison
Copy link
Author

Thanks again @dimbleby - appreciate the tip.. I removed the publish repo from pyproject.toml and verified the download failure still exists.

Also of note: I ran poetry install with 1.7.1 to load the cache, then removed the environment and ran poetry install with 1.8.2 - the install ran fine as it didn't have to talk with artifactory.

So it appears like this was introduced between 1.7 and 1.8. I will still plan on debugging the root cause as I believe it's jfrog / artifactory not handling ranges correctly.

@dimbleby
Copy link
Contributor

this bit of output

Source (myco-resolve): Disabling lazy wheel support for artifactory.gcp.mycotech.com: did not receive partial content: got code 200

suggests that poetry has understood that whatever it is talking to does not understand ranges and has given up on using them. But of course it is possible for that code to be bugged

you could try setting solver.lazy-wheel = false to be surer.

@damonallison
Copy link
Author

@dimbleby thanks again for the tip... Setting solver.lazy-wheel to false actually works around the problem as well.

@damonallison
Copy link
Author

damonallison commented Mar 22, 2024

Repro steps:

  1. poetry config solver.lazy-wheel true
  2. Clean cache
  3. poetry update
  4. Receive error above

  1. poetry config solver.lazy-wheel false
  2. Clean cache
  3. poetry update
  4. Success

@jack-mcivor
Copy link

FWIW I am seeing the same issue on a different private PyPI, also hosted on JFrog artifactory. Poetry v1.8.2

Source (<>): Downloading: ...
[urllib3:urllib3.connectionpool] [https://<>:443](https://<>/) "GET ... HTTP/1.1" 200 16531752
Source (<>): Abort downloading ... because server supports range requests
begin fetching content length
initial bytes request: bytes=-10000
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (3): <>:443
[urllib3:urllib3.connectionpool] [https://<>:443](https://<>/) "GET ... HTTP/1.1" 200 16531752
Source (<>): Disabling lazy wheel support for <>: did not receive partial content: got code 200
Source (<>): Downloading: ...
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (4): <>:443
[urllib3:urllib3.connectionpool] [https://<>:443](https://<>/) "GET ... HTTP/1.1" 200 16531752

poetry config solver.lazy-wheel false also solves it for me

@dimbleby
Copy link
Contributor

someone who is hitting this is gonna have to do some debugging themselves I'm afraid. The repro at last-comment-but-one just says that lazy wheel is broken - which obviously is not generally the case.

presumably artifactory is doing something odd in response to range requests and poetry is not able to cope with it: but it's going to take someone with access to such a server to investigate

@jack-mcivor
Copy link

I have access to such a server and can help with some guidance. In my case, it seems to be simply ignoring the Range request header and returning a 200 with the full content. This is despite a Accept-Ranges: bytes response header

@radoering
Copy link
Member

The behavior in #9185 (comment) is expected and does not show a final failure but just correct error handling:

  • start download of wheel
  • abort download because server says it accepts ranges
  • send range request
  • abort range request because server does not respond correctly
  • download complete wheel after all

The error handling is triggered by Artifactory's presumably bad behavior described in #9068 (comment). The error handling results in a higher number of network requests, which may overload Artifactory so it times out. 🤷

Currently, we will try range requests again for each wheel (because there are servers that support ranges requests for some wheels and can be trusted regarding the Accept-Ranges header). We could try to distinguish between "good server that supports range requests for some files" (-> try range request for each file the server says it accepts ranges) and "bad server that pretends to support range requests but does not" (do never try range requests again) - or you may just turn off lazy-wheel if you are using a "bad server".

@damonallison
Copy link
Author

I also have access to a "bad server" (jfrog artifactory) and can help with some guidance. I'll take an initial stab at trying to distinguish between "good" and "bad" servers and turning off range requests for bad servers.

@dimbleby
Copy link
Contributor

@SergeyTsaplin please dont hijack issues with something that you know to be different. What you are seeing has getting on for a dozen duplicates by now, but this is not one of them.

@Secrus Secrus added area/installer Related to the dependency installer area/sources Releated to package sources/indexes/repositories labels Oct 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/installer Related to the dependency installer area/sources Releated to package sources/indexes/repositories kind/bug Something isn't working as expected status/triage This issue needs to be triaged
Projects
None yet
Development

No branches or pull requests

5 participants