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

Confusing error message with duplicate package specification #9394

Open
maitreyakv opened this issue May 7, 2024 · 8 comments · May be fixed by python-poetry/poetry-core#734
Open

Confusing error message with duplicate package specification #9394

maitreyakv opened this issue May 7, 2024 · 8 comments · May be fixed by python-poetry/poetry-core#734
Labels
kind/bug Something isn't working as expected status/triage This issue needs to be triaged

Comments

@maitreyakv
Copy link

Description

When accidentally duplicating a package specification in pyproject.toml, poetry install throws a very cryptic message like:

Cannot overwrite a value (at line 10, column 18)

Workarounds

Finding and removing the duplicate package specification ultimately solves the issue, but its hard to first know that there is a duplicate without a nicer error message.

Poetry Installation Method

pipx

Operating System

MacOS Ventura 13.3.1 (a)

Poetry Version

Poetry (version 1.8.2)

Poetry Configuration

This throws the same error:

Cannot overwrite a value (at line 10, column 18)


### Python Sysconfig

```bash session
Platform: "macosx-13.3-arm64"
Python version: "3.11"
Current installation scheme: "posix_prefix"

Paths: 
	data = "/Users/maitreya/.pyenv/versions/3.11.9"
	include = "/Users/maitreya/.pyenv/versions/3.11.9/include/python3.11"
	platinclude = "/Users/maitreya/.pyenv/versions/3.11.9/include/python3.11"
	platlib = "/Users/maitreya/.pyenv/versions/3.11.9/lib/python3.11/site-packages"
	platstdlib = "/Users/maitreya/.pyenv/versions/3.11.9/lib/python3.11"
	purelib = "/Users/maitreya/.pyenv/versions/3.11.9/lib/python3.11/site-packages"
	scripts = "/Users/maitreya/.pyenv/versions/3.11.9/bin"
	stdlib = "/Users/maitreya/.pyenv/versions/3.11.9/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/maitreya/.pyenv/versions/3.11.9/bin"
	BINLIBDEST = "/Users/maitreya/.pyenv/versions/3.11.9/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"
	BOOTSTRAP_HEADERS = "\"
	BUILDEXE = ".exe"
	BUILDPYTHON = "python.exe"
	BUILD_GNU_TYPE = "aarch64-apple-darwin22.4.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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"
	CONFIGURE_LDFLAGS_NODIST = ""
	CONFIGURE_LDFLAGS_NOLTO = ""
	CONFIG_ARGS = "'--prefix=/Users/maitreya/.pyenv/versions/3.11.9' '--enable-shared' '--libdir=/Users/maitreya/.pyenv/versions/3.11.9/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib' 'LIBS=-L/Users/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include'"
	CONFINCLUDEDIR = "/Users/maitreya/.pyenv/versions/3.11.9/include"
	CONFINCLUDEPY = "/Users/maitreya/.pyenv/versions/3.11.9/include/python3.11"
	COREPYTHONPATH = ""
	COVERAGE_INFO = "/var/folders/nj/d9r8j3bn3879k3822h3qbnnc0000gn/T/python-build.20240507085401.71295/Python-3.11.9/coverage.info"
	COVERAGE_LCOV_OPTIONS = "--rc lcov_branch_coverage=1"
	COVERAGE_REPORT = "/var/folders/nj/d9r8j3bn3879k3822h3qbnnc0000gn/T/python-build.20240507085401.71295/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/opt/homebrew/opt/ncurses/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/readline/include -I/Users/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9 /Users/maitreya/.pyenv/versions/3.11.9/lib /Users/maitreya/.pyenv/versions/3.11.9/lib/python3.11 /Users/maitreya/.pyenv/versions/3.11.9/lib/python3.11/lib-dynload"
	DESTLIB = "/Users/maitreya/.pyenv/versions/3.11.9/lib/python3.11"
	DESTPATH = ""
	DESTSHARED = "/Users/maitreya/.pyenv/versions/3.11.9/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 = "0"
	HAVE_GDBM_H = "0"
	HAVE_GDBM_NDBM_H = "0"
	HAVE_GETADDRINFO = "1"
	HAVE_GETC_UNLOCKED = "1"
	HAVE_GETEGID = "1"
	HAVE_GETENTROPY = "1"
	HAVE_GETEUID = "1"
	HAVE_GETGID = "1"
	HAVE_GETGRGID = "1"
	HAVE_GETGRGID_R = "1"
	HAVE_GETGRNAM_R = "1"
	HAVE_GETGROUPLIST = "1"
	HAVE_GETGROUPS = "1"
	HAVE_GETHOSTBYADDR = "1"
	HAVE_GETHOSTBYNAME = "1"
	HAVE_GETHOSTBYNAME_R = "0"
	HAVE_GETHOSTBYNAME_R_3_ARG = "0"
	HAVE_GETHOSTBYNAME_R_5_ARG = "0"
	HAVE_GETHOSTBYNAME_R_6_ARG = "0"
	HAVE_GETHOSTNAME = "1"
	HAVE_GETITIMER = "1"
	HAVE_GETLOADAVG = "1"
	HAVE_GETLOGIN = "1"
	HAVE_GETNAMEINFO = "1"
	HAVE_GETPAGESIZE = "1"
	HAVE_GETPEERNAME = "1"
	HAVE_GETPGID = "1"
	HAVE_GETPGRP = "1"
	HAVE_GETPID = "1"
	HAVE_GETPPID = "1"
	HAVE_GETPRIORITY = "1"
	HAVE_GETPROTOBYNAME = "1"
	HAVE_GETPWENT = "1"
	HAVE_GETPWNAM_R = "1"
	HAVE_GETPWUID = "1"
	HAVE_GETPWUID_R = "1"
	HAVE_GETRANDOM = "0"
	HAVE_GETRANDOM_SYSCALL = "0"
	HAVE_GETRESGID = "0"
	HAVE_GETRESUID = "0"
	HAVE_GETRUSAGE = "1"
	HAVE_GETSERVBYNAME = "1"
	HAVE_GETSERVBYPORT = "1"
	HAVE_GETSID = "1"
	HAVE_GETSOCKNAME = "1"
	HAVE_GETSPENT = "0"
	HAVE_GETSPNAM = "0"
	HAVE_GETUID = "1"
	HAVE_GETWD = "1"
	HAVE_GLIBC_MEMMOVE_BUG = "0"
	HAVE_GRP_H = "1"
	HAVE_HSTRERROR = "1"
	HAVE_HTOLE64 = "0"
	HAVE_IEEEFP_H = "0"
	HAVE_IF_NAMEINDEX = "1"
	HAVE_INET_ATON = "1"
	HAVE_INET_NTOA = "1"
	HAVE_INET_PTON = "1"
	HAVE_INITGROUPS = "1"
	HAVE_INTTYPES_H = "1"
	HAVE_IO_H = "0"
	HAVE_IPA_PURE_CONST_BUG = "0"
	HAVE_KILL = "1"
	HAVE_KILLPG = "1"
	HAVE_KQUEUE = "1"
	HAVE_LANGINFO_H = "1"
	HAVE_LARGEFILE_SUPPORT = "0"
	HAVE_LCHFLAGS = "1"
	HAVE_LCHMOD = "1"
	HAVE_LCHOWN = "1"
	HAVE_LIBB2 = "0"
	HAVE_LIBDB = "0"
	HAVE_LIBDL = "1"
	HAVE_LIBDLD = "0"
	HAVE_LIBGDBM_COMPAT = "0"
	HAVE_LIBIEEE = "0"
	HAVE_LIBINTL_H = "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-darwin22.4.0"
	INCLDIRSTOMAKE = "/Users/maitreya/.pyenv/versions/3.11.9/include /Users/maitreya/.pyenv/versions/3.11.9/include /Users/maitreya/.pyenv/versions/3.11.9/include/python3.11 /Users/maitreya/.pyenv/versions/3.11.9/include/python3.11"
	INCLUDEDIR = "/Users/maitreya/.pyenv/versions/3.11.9/include"
	INCLUDEPY = "/Users/maitreya/.pyenv/versions/3.11.9/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"
	LDVERSION = "3.11"
	LIBC = ""
	LIBDEST = "/Users/maitreya/.pyenv/versions/3.11.9/lib/python3.11"
	LIBDIR = "/Users/maitreya/.pyenv/versions/3.11.9/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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include"
	LIBMPDEC_HEADERS = "\"
	LIBMPDEC_OBJS = "\"
	LIBOBJDIR = "Python/"
	LIBOBJS = ""
	LIBPC = "/Users/maitreya/.pyenv/versions/3.11.9/lib/pkgconfig"
	LIBPL = "/Users/maitreya/.pyenv/versions/3.11.9/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/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/maitreya/.pyenv/versions/3.11.9/lib/python3.11"
	MACOSX_DEPLOYMENT_TARGET = "13.3"
	MAINCC = "clang"
	MAJOR_IN_MKDEV = "0"
	MAJOR_IN_SYSMACROS = "0"
	MAKESETUP = "./Modules/makesetup"
	MANDIR = "/Users/maitreya/.pyenv/versions/3.11.9/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 = ""
	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 = "-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_STATE = "missing"
	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 = ""
	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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/lib -L/opt/homebrew/lib -Wl,-rpath,/opt/homebrew/lib -L/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/maitreya/.pyenv/versions/3.11.9/include -I/opt/homebrew/include -I/Library/Developer/CommandLineTools/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/nj/d9r8j3bn3879k3822h3qbnnc0000gn/T/python-build.20240507085401.71295/Python-3.11.9"
	SCRIPTDIR = "/Users/maitreya/.pyenv/versions/3.11.9/lib"
	SETPGRP_HAVE_ARG = "0"
	SHELL = "/bin/sh"
	SHLIBS = "-lintl -ldl -L/Users/maitreya/.pyenv/versions/3.11.9/lib -Wl,-rpath,/Users/maitreya/.pyenv/versions/3.11.9/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/nj/d9r8j3bn3879k3822h3qbnnc0000gn/T/python-build.20240507085401.71295/Python-3.11.9 ./python.exe -E"
	TESTPYTHONOPTS = ""
	TESTRUNNER = "DYLD_LIBRARY_PATH=/var/folders/nj/d9r8j3bn3879k3822h3qbnnc0000gn/T/python-build.20240507085401.71295/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 = "./Users/maitreya/.pyenv/versions/3.11.9"
	WASM_STDLIB = "./Users/maitreya/.pyenv/versions/3.11.9/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/nj/d9r8j3bn3879k3822h3qbnnc0000gn/T/python-build.20240507085401.71295/Python-3.11.9"
	abs_srcdir = "/var/folders/nj/d9r8j3bn3879k3822h3qbnnc0000gn/T/python-build.20240507085401.71295/Python-3.11.9"
	base = "/Users/maitreya/.pyenv/versions/3.11.9"
	datarootdir = "/Users/maitreya/.pyenv/versions/3.11.9/share"
	exec_prefix = "/Users/maitreya/.pyenv/versions/3.11.9"
	installed_base = "/Users/maitreya/.pyenv/versions/3.11.9"
	installed_platbase = "/Users/maitreya/.pyenv/versions/3.11.9"
	platbase = "/Users/maitreya/.pyenv/versions/3.11.9"
	platlibdir = "lib"
	prefix = "/Users/maitreya/.pyenv/versions/3.11.9"
	projectbase = "/Users/maitreya/.pyenv/versions/3.11.9/bin"
	py_version = "3.11.9"
	py_version_nodot = "311"
	py_version_nodot_plat = ""
	py_version_short = "3.11"
	srcdir = "/Users/maitreya/.pyenv/versions/3.11.9/lib/python3.11/config-3.11-darwin"
	userbase = "/Users/maitreya/.local"

Example pyproject.toml

[tool.poetry]
name = "test-project"
version = "0.0.1"
description = ""
authors = []

[tool.poetry.dependencies]
python = "~3.11"
numpy = "^1.26.3"
numpy = "^1.26.3" # <-- Duplicate specification

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

Poetry Runtime Logs

test poetry -vvv install
  Stack trace:

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

  15  ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/poetry/console/application.py:190 in _run
       188│         self._load_plugins(io)
       189│
     → 190│         exit_code: int = super()._run(io)
       191│         return exit_code
       192│

  14  ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/cleo/application.py:431 in _run
       429│             io.input.interactive(interactive)
       430│
     → 431│         exit_code = self._run_command(command, io)
       432│         self._running_command = None
       433│

  13  ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/cleo/application.py:473 in _run_command
       471│
       472│         if error is not None:
     → 473│             raise error
       474│
       475│         return terminate_event.exit_code

  12  ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/cleo/application.py:454 in _run_command
       452│
       453│         try:
     → 454│             self._event_dispatcher.dispatch(command_event, COMMAND)
       455│
       456│             if command_event.command_should_run():

  11  ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/cleo/events/event_dispatcher.py:26 in dispatch
        24│
        25│         if listeners:
     →  26│             self._do_dispatch(listeners, event_name, event)
        27│
        28│         return event

  10  ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/cleo/events/event_dispatcher.py:85 in _do_dispatch
        83│                 break
        84│
     →  85│             listener(event, event_name, self)
        86│
        87│     def _sort_listeners(self, event_name: str) -> None:

   9  ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/poetry/console/application.py:296 in configure_env
       294│
       295│         io = event.io
     → 296│         poetry = command.poetry
       297│
       298│         env_manager = EnvManager(poetry, io=io)

   8  ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/poetry/console/commands/command.py:23 in poetry
        21│     def poetry(self) -> Poetry:
        22│         if self._poetry is None:
     →  23│             return self.get_application().poetry
        24│
        25│         return self._poetry

   7  ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/poetry/console/application.py:129 in poetry
       127│             project_path = self._io.input.option("directory")
       128│
     → 129│         self._poetry = Factory().create_poetry(
       130│             cwd=project_path,
       131│             io=self._io,

   6  ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/poetry/factory.py:58 in create_poetry
        56│             io = NullIO()
        57│
     →  58│         base_poetry = super().create_poetry(cwd=cwd, with_groups=with_groups)
        59│
        60│         poetry_file = base_poetry.pyproject_path

   5  ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/poetry/core/factory.py:51 in create_poetry
        49│
        50│         poetry_file = self.locate(cwd)
     →  51│         local_config = PyProjectTOML(path=poetry_file).poetry_config
        52│
        53│         # Checking validity

   4  ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/poetry/core/pyproject/toml.py:57 in poetry_config
        55│     def poetry_config(self) -> dict[str, Any]:
        56│         try:
     →  57│             tool = self.data["tool"]
        58│             assert isinstance(tool, dict)
        59│             config = tool["poetry"]

   3  ~/.local/pipx/venvs/poetry/lib/python3.12/site-packages/poetry/core/pyproject/toml.py:32 in data
        30│             else:
        31│                 with self.path.open("rb") as f:
     →  32│                     self._data = tomllib.load(f)
        33│
        34│         return self._data

   2  /opt/homebrew/Cellar/python@3.12/3.12.2_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/tomllib/_parser.py:66 in load
        64│             "File must be opened in binary mode, e.g. use `open('foo.toml', 'rb')`"
        65│         ) from None
     →  66│     return loads(s, parse_float=parse_float)
        67│
        68│

   1  /opt/homebrew/Cellar/python@3.12/3.12.2_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/tomllib/_parser.py:102 in loads
       100│             continue
       101│         if char in KEY_INITIAL_CHARS:
     → 102│             pos = key_value_rule(src, pos, out, header, parse_float)
       103│             pos = skip_chars(src, pos, TOML_WS)
       104│         elif char == "[":

  TOMLDecodeError

  Cannot overwrite a value (at line 10, column 18)

  at /opt/homebrew/Cellar/python@3.12/3.12.2_1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/tomllib/_parser.py:349 in key_value_rule
      345│         nest = out.data.get_or_create_nest(abs_key_parent)
      346│     except KeyError:
      347│         raise suffixed_err(src, pos, "Cannot overwrite a value") from None
      348│     if key_stem in nest:
    → 349│         raise suffixed_err(src, pos, "Cannot overwrite a value")
      350│     # Mark inline table and array namespaces recursively immutable
      351│     if isinstance(value, (dict, list)):
      352│         out.flags.set(header + key, Flags.FROZEN, recursive=True)
      353│     nest[key_stem] = value
➜  test
@maitreyakv maitreyakv added kind/bug Something isn't working as expected status/triage This issue needs to be triaged labels May 7, 2024
@dimbleby
Copy link
Contributor

dimbleby commented May 7, 2024

as you can see, this is coming from the standard library's toml parser. It is beyond poetry's power to change that.

Given that it points to the exact line and character where you had a bug, I suppose this was not very confusing.

@scottpashley
Copy link

@dimbleby could Poetry not catch the exception where it calls the toml parser and output a nicer error?

@dimbleby
Copy link
Contributor

TOMLDecodeError is a pretty generic error, it would have also to inspect the text of the error - which sounds both ugly and likely to break one day.

Really I am not persuaded that this is confusing in the first place: it's a TOML decode error that points to the exact place in the toml where there is a problem.

If anyone cares to contribute a change to poetry then no doubt maintainers will take a view on that contribution, but imo there is no need to do anything here.

@scottpashley
Copy link

@dimbleby You're absolutely correct in that it tells you the exact location in the file where there is an issue, but it isn't at all immediately clear that the issue is the entry is duplicated (especially in a project with more than a handful of dependencies)

I'll take a look to see if I can come up with a nice way to handle the exception as I also completely agree with you that inspecting the text of the error could be brittle.

@luckydonald
Copy link

luckydonald commented May 14, 2024

With it speaking about failing to write a value (Cannot overwrite a value), I wrongly assumed that it tried to write the poetry.lock file, and was debugging file permission problems, etc.

The error doesn't even say which toml file, and it's talking about writing while it actually is reading a file.

But this issue helped, in my case it also was a duplicated line.

@mscheifer
Copy link

Yeah it would be nice if poetry would specify that the error came from the pyproject.toml file. I just had a similar cryptic message when my pyproject.toml was in the middle of a merge. Like:

# snip...
[tool.poetry.group.dev.dependencies]
ruff = "^0.4.4"
<<<<<<< HEAD
hypothesis = "^6.102.4"
=======
pytest = "^8.2.1"
>>>>>>> main
# snip...
$ poetry run echo foo

Invalid statement (at line 9, column 1)

@maitreyakv
Copy link
Author

Given that it points to the exact line and character where you had a bug, I suppose this was not very confusing.

It doesn't need to be very confusing to confuse idiots like myself. A little bit of context from Poetry (e.g. "There was an issue parsing your pyproject.toml, please make sure it is valid TOML") would have gone a long way to indicating to me that there was an issue with my TOML in the first place. You could argue that the fact that it raised a TOMLDecodeError should have been enough to signal to me what the issue was, but that exception does little to indicate what the actual error was (i.e. duplicate keys) even though it points to the location of the error. And similar to what @luckydonald said, I also was confused by the Cannot overwrite a value message, since I wouldn't have guessed that parsing a TOML involved any "writing".

@dimbleby
Copy link
Contributor

the file is opened here, y'all are encouraged to submit a pull request catching the tomllib exception and raising a new one with a mention of the filename

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
Development

Successfully merging a pull request may close this issue.

5 participants