Skip to content

FYI: Upstream dulwich fix for binary files in a git dependency #10639

@btakita

Description

@btakita

Description

See jelmer/dulwich#2023 and jelmer/dulwich#2024

Repro repo https://github.com/btakita/dulwich-issue-2023

Workarounds

Either force upgrade dulwich to include fix...or fork the dependency git repo and remove binary files in the fork.

Poetry Installation Method

pipx

Operating System

Any

Poetry Version

2.2.1

Poetry Configuration

❯ poetry config --list
cache-dir = "/home/brian/.cache/pypoetry"
data-dir = "/home/brian/.local/share/pypoetry"
installer.max-workers = 10
installer.no-binary = null
installer.only-binary = null
installer.parallel = true
installer.re-resolve = true
keyring.enabled = true
python.installation-dir = "{data-dir}/python"  # /home/brian/.local/share/pypoetry/python
requests.max-retries = 0
solver.lazy-wheel = true
system-git-client = false
virtualenvs.create = true
virtualenvs.in-project = null
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}/virtualenvs"  # /home/brian/.cache/pypoetry/virtualenvs
virtualenvs.prompt = "{project_name}-py{python_version}"
virtualenvs.use-poetry-python = false

Python Sysconfig

sysconfig.log
Platform: "linux-x86_64"
Python version: "3.14"
Current installation scheme: "venv"

Paths: 
  data = "/home/brian/work/btakita/dulwich-issue-2023/.venv"
  include = "/home/brian/.pyenv/versions/3.14.0/include/python3.14"
  platinclude = "/home/brian/.pyenv/versions/3.14.0/include/python3.14"
  platlib = "/home/brian/work/btakita/dulwich-issue-2023/.venv/lib/python3.14/site-packages"
  platstdlib = "/home/brian/work/btakita/dulwich-issue-2023/.venv/lib/python3.14"
  purelib = "/home/brian/work/btakita/dulwich-issue-2023/.venv/lib/python3.14/site-packages"
  scripts = "/home/brian/work/btakita/dulwich-issue-2023/.venv/bin"
  stdlib = "/home/brian/.pyenv/versions/3.14.0/lib/python3.14"

Variables: 
  ABIFLAGS = ""
  ABI_THREAD = ""
  AC_APPLE_UNIVERSAL_BUILD = "0"
  AIX_BUILDDATE = "0"
  AIX_GENUINE_CPLUSPLUS = "0"
  ALIGNOF_LONG = "8"
  ALIGNOF_MAX_ALIGN_T = "16"
  ALIGNOF_SIZE_T = "8"
  ALT_SOABI = "0"
  ANDROID_API_LEVEL = "0"
  APP_STORE_COMPLIANCE_PATCH = ""
  AR = "ar"
  ARFLAGS = "rcs"
  BASECFLAGS = "-fno-strict-overflow -Wsign-compare"
  BASECPPFLAGS = ""
  BASEMODLIBS = ""
  BINDIR = "/home/brian/.pyenv/versions/3.14.0/bin"
  BINLIBDEST = "/home/brian/.pyenv/versions/3.14.0/lib/python3.14"
  BLDLIBRARY = "-L. -lpython3.14"
  BLDSHARED = "gcc -shared -L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib -L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib"
  BOOTSTRAP_HEADERS = "\"
  BUILDEXE = ""
  BUILDPYTHON = "python"
  BUILD_GNU_TYPE = "x86_64-pc-linux-gnu"
  BUILD_SCRIPTS_DIR = "build/scripts-3.14"
  BYTESTR_DEPS = "\"
  CC = "gcc"
  CCSHARED = "-fPIC"
  CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall"
  CFLAGSFORSHARED = "-fPIC"
  CFLAGS_ALIASING = "-fno-strict-aliasing"
  CFLAGS_NODIST = ""
  CODECS_COMMON_HEADERS = "./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
  COMPILEALL_OPTS = "-j0"
  CONFIGFILES = "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
  CONFIGURE_CFLAGS = ""
  CONFIGURE_CFLAGS_NODIST = "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden"
  CONFIGURE_CPPFLAGS = "-I/home/brian/.pyenv/versions/3.14.0/include"
  CONFIGURE_LDFLAGS = "-L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib"
  CONFIGURE_LDFLAGS_NODIST = ""
  CONFIGURE_LDFLAGS_NOLTO = ""
  CONFIG_ARGS = "'--prefix=/home/brian/.pyenv/versions/3.14.0' '--enable-shared' '--libdir=/home/brian/.pyenv/versions/3.14.0/lib' 'LDFLAGS=-L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib' 'LIBS=-L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib' 'CPPFLAGS=-I/home/brian/.pyenv/versions/3.14.0/include'"
  CONFINCLUDEDIR = "/home/brian/.pyenv/versions/3.14.0/include"
  CONFINCLUDEPY = "/home/brian/.pyenv/versions/3.14.0/include/python3.14"
  COREPYTHONPATH = ""
  COVERAGE_INFO = "/tmp/python-build.20251010003537.1592894/Python-3.14.0/coverage.info"
  COVERAGE_LCOV_OPTIONS = "--rc lcov_branch_coverage=1"
  COVERAGE_REPORT = "/tmp/python-build.20251010003537.1592894/Python-3.14.0/lcov-report"
  COVERAGE_REPORT_OPTIONS = "--rc lcov_branch_coverage=1 --branch-coverage --title "CPython 3.14 LCOV report [commit $(shell )]""
  CPPFLAGS = "-I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include"
  CXX = "g++"
  DESTDIRS = "/home/brian/.pyenv/versions/3.14.0 /home/brian/.pyenv/versions/3.14.0/lib /home/brian/.pyenv/versions/3.14.0/lib/python3.14 /home/brian/.pyenv/versions/3.14.0/lib/python3.14/lib-dynload"
  DESTLIB = "/home/brian/.pyenv/versions/3.14.0/lib/python3.14"
  DESTPATH = ""
  DESTSHARED = "/home/brian/.pyenv/versions/3.14.0/lib/python3.14/lib-dynload"
  DFLAGS = ""
  DIRMODE = "755"
  DIST = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy"
  DISTDIRS = "Include Lib Misc Ext-dummy"
  DISTFILES = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
  DLINCLDIR = "."
  DLLLIBRARY = ""
  DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 = "0"
  DOUBLE_IS_BIG_ENDIAN_IEEE754 = "0"
  DOUBLE_IS_LITTLE_ENDIAN_IEEE754 = "1"
  DSYMUTIL = ""
  DSYMUTIL_PATH = ""
  DTRACE = ""
  DTRACE_DEPS = "\"
  DTRACE_HEADERS = ""
  DTRACE_OBJS = ""
  DYNLOADFILE = "dynload_shlib.o"
  EMSCRIPTEN_DIR = "./Tools/wasm/emscripten"
  ENABLE_IPV6 = "1"
  ENSUREPIP = "upgrade"
  EXE = ""
  EXEMODE = "755"
  EXENAME = "/home/brian/.pyenv/versions/3.14.0/bin/python3.14"
  EXPORTSFROM = ""
  EXPORTSYMS = ""
  EXTRATESTOPTS = ""
  EXTRA_CFLAGS = ""
  EXT_SUFFIX = ".cpython-314-x86_64-linux-gnu.so"
  FILEMODE = "644"
  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 = "yes"
  HAVE_ACCEPT = "1"
  HAVE_ACCEPT4 = "1"
  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 = "1"
  HAVE_ATANH = "1"
  HAVE_BACKTRACE = "1"
  HAVE_BIND = "1"
  HAVE_BIND_TEXTDOMAIN_CODESET = "1"
  HAVE_BLUETOOTH_BLUETOOTH_H = "1"
  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 = "0"
  HAVE_BROKEN_UNSETENV = "0"
  HAVE_BUILTIN_ATOMIC = "1"
  HAVE_BZLIB_H = "0"
  HAVE_CHFLAGS = "0"
  HAVE_CHMOD = "1"
  HAVE_CHOWN = "1"
  HAVE_CHROOT = "1"
  HAVE_CLOCK = "1"
  HAVE_CLOCK_GETRES = "1"
  HAVE_CLOCK_GETTIME = "1"
  HAVE_CLOCK_NANOSLEEP = "1"
  HAVE_CLOCK_SETTIME = "1"
  HAVE_CLOCK_T = "1"
  HAVE_CLOSEFROM = "1"
  HAVE_CLOSE_RANGE = "1"
  HAVE_COMPUTED_GOTOS = "1"
  HAVE_CONFSTR = "1"
  HAVE_CONIO_H = "0"
  HAVE_CONNECT = "1"
  HAVE_COPY_FILE_RANGE = "1"
  HAVE_CTERMID = "1"
  HAVE_CTERMID_R = "0"
  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 = "0"
  HAVE_DECL_RTLD_DEEPBIND = "1"
  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_DECL_UT_NAMESIZE = "1"
  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_DLADDR = "1"
  HAVE_DLADDR1 = "1"
  HAVE_DLFCN_H = "1"
  HAVE_DLOPEN = "1"
  HAVE_DUP = "1"
  HAVE_DUP2 = "1"
  HAVE_DUP3 = "1"
  HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH = "0"
  HAVE_DYNAMIC_LOADING = "1"
  HAVE_EDITLINE_READLINE_H = "0"
  HAVE_ENDIAN_H = "1"
  HAVE_EPOLL = "1"
  HAVE_EPOLL_CREATE1 = "1"
  HAVE_ERF = "1"
  HAVE_ERFC = "1"
  HAVE_ERRNO_H = "1"
  HAVE_EVENTFD = "1"
  HAVE_EXECINFO_H = "1"
  HAVE_EXECV = "1"
  HAVE_EXPLICIT_BZERO = "1"
  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 = "1"
  HAVE_FDOPENDIR = "1"
  HAVE_FDWALK = "0"
  HAVE_FEXECVE = "1"
  HAVE_FFI_CLOSURE_ALLOC = "1"
  HAVE_FFI_PREP_CIF_VAR = "1"
  HAVE_FFI_PREP_CLOSURE_LOC = "1"
  HAVE_FLOCK = "1"
  HAVE_FORK = "1"
  HAVE_FORK1 = "0"
  HAVE_FORKPTY = "1"
  HAVE_FPATHCONF = "1"
  HAVE_FSEEK64 = "0"
  HAVE_FSEEKO = "1"
  HAVE_FSTATAT = "1"
  HAVE_FSTATVFS = "1"
  HAVE_FSYNC = "1"
  HAVE_FTELL64 = "0"
  HAVE_FTELLO = "1"
  HAVE_FTIME = "1"
  HAVE_FTRUNCATE = "1"
  HAVE_FUTIMENS = "1"
  HAVE_FUTIMES = "1"
  HAVE_FUTIMESAT = "1"
  HAVE_GAI_STRERROR = "1"
  HAVE_GCC_ASM_FOR_MC68881 = "0"
  HAVE_GCC_ASM_FOR_X64 = "1"
  HAVE_GCC_ASM_FOR_X87 = "1"
  HAVE_GCC_UINT128_T = "1"
  HAVE_GDBM_DASH_NDBM_H = "0"
  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_GETGRENT = "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 = "1"
  HAVE_GETHOSTBYNAME_R_3_ARG = "0"
  HAVE_GETHOSTBYNAME_R_5_ARG = "0"
  HAVE_GETHOSTBYNAME_R_6_ARG = "1"
  HAVE_GETHOSTNAME = "1"
  HAVE_GETITIMER = "1"
  HAVE_GETLOADAVG = "1"
  HAVE_GETLOGIN = "1"
  HAVE_GETLOGIN_R = "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 = "1"
  HAVE_GETRANDOM_SYSCALL = "1"
  HAVE_GETRESGID = "1"
  HAVE_GETRESUID = "1"
  HAVE_GETRUSAGE = "1"
  HAVE_GETSERVBYNAME = "1"
  HAVE_GETSERVBYPORT = "1"
  HAVE_GETSID = "1"
  HAVE_GETSOCKNAME = "1"
  HAVE_GETSPENT = "1"
  HAVE_GETSPNAM = "1"
  HAVE_GETUID = "1"
  HAVE_GETWD = "1"
  HAVE_GLIBC_MEMMOVE_BUG = "0"
  HAVE_GRANTPT = "1"
  HAVE_GRP_H = "1"
  HAVE_HSTRERROR = "1"
  HAVE_HTOLE64 = "1"
  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 = "0"
  HAVE_LANGINFO_H = "1"
  HAVE_LARGEFILE_SUPPORT = "0"
  HAVE_LCHFLAGS = "0"
  HAVE_LCHMOD = "0"
  HAVE_LCHOWN = "1"
  HAVE_LIBDB = "0"
  HAVE_LIBDL = "1"
  HAVE_LIBDLD = "0"
  HAVE_LIBIEEE = "0"
  HAVE_LIBINTL_H = "1"
  HAVE_LIBSENDFILE = "0"
  HAVE_LIBSQLITE3 = "1"
  HAVE_LIBUTIL_H = "0"
  HAVE_LINK = "1"
  HAVE_LINKAT = "1"
  HAVE_LINK_H = "1"
  HAVE_LINUX_AUXVEC_H = "1"
  HAVE_LINUX_CAN_BCM_H = "1"
  HAVE_LINUX_CAN_H = "1"
  HAVE_LINUX_CAN_J1939_H = "1"
  HAVE_LINUX_CAN_RAW_FD_FRAMES = "1"
  HAVE_LINUX_CAN_RAW_H = "1"
  HAVE_LINUX_CAN_RAW_JOIN_FILTERS = "1"
  HAVE_LINUX_FS_H = "1"
  HAVE_LINUX_LIMITS_H = "1"
  HAVE_LINUX_MEMFD_H = "1"
  HAVE_LINUX_NETFILTER_IPV4_H = "1"
  HAVE_LINUX_NETLINK_H = "1"
  HAVE_LINUX_QRTR_H = "1"
  HAVE_LINUX_RANDOM_H = "1"
  HAVE_LINUX_SCHED_H = "1"
  HAVE_LINUX_SOUNDCARD_H = "1"
  HAVE_LINUX_TIPC_H = "1"
  HAVE_LINUX_VM_SOCKETS_H = "1"
  HAVE_LINUX_WAIT_H = "1"
  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_MAXLOGNAME = "0"
  HAVE_MBRTOWC = "1"
  HAVE_MEMFD_CREATE = "1"
  HAVE_MEMRCHR = "1"
  HAVE_MINIX_CONFIG_H = "0"
  HAVE_MKDIRAT = "1"
  HAVE_MKFIFO = "1"
  HAVE_MKFIFOAT = "1"
  HAVE_MKNOD = "1"
  HAVE_MKNODAT = "1"
  HAVE_MKTIME = "1"
  HAVE_MMAP = "1"
  HAVE_MREMAP = "1"
  HAVE_NANOSLEEP = "1"
  HAVE_NCURSES = "0"
  HAVE_NCURSESW = "1"
  HAVE_NCURSESW_CURSES_H = "0"
  HAVE_NCURSESW_NCURSES_H = "0"
  HAVE_NCURSESW_PANEL_H = "0"
  HAVE_NCURSES_CURSES_H = "0"
  HAVE_NCURSES_H = "1"
  HAVE_NCURSES_NCURSES_H = "0"
  HAVE_NCURSES_PANEL_H = "0"
  HAVE_NDBM_H = "1"
  HAVE_NDIR_H = "0"
  HAVE_NETCAN_CAN_H = "0"
  HAVE_NETDB_H = "1"
  HAVE_NETINET_IN_H = "1"
  HAVE_NETLINK_NETLINK_H = "0"
  HAVE_NETPACKET_PACKET_H = "1"
  HAVE_NET_ETHERNET_H = "1"
  HAVE_NET_IF_H = "1"
  HAVE_NICE = "1"
  HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION = "0"
  HAVE_OPENAT = "1"
  HAVE_OPENDIR = "1"
  HAVE_OPENPTY = "1"
  HAVE_PANEL = "0"
  HAVE_PANELW = "1"
  HAVE_PANEL_H = "1"
  HAVE_PATHCONF = "1"
  HAVE_PAUSE = "1"
  HAVE_PIPE = "1"
  HAVE_PIPE2 = "1"
  HAVE_PLOCK = "0"
  HAVE_POLL = "1"
  HAVE_POLL_H = "1"
  HAVE_POSIX_FADVISE = "1"
  HAVE_POSIX_FALLOCATE = "1"
  HAVE_POSIX_OPENPT = "1"
  HAVE_POSIX_SPAWN = "1"
  HAVE_POSIX_SPAWNP = "1"
  HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSEFROM_NP = "1"
  HAVE_PREAD = "1"
  HAVE_PREADV = "1"
  HAVE_PREADV2 = "1"
  HAVE_PRLIMIT = "1"
  HAVE_PROCESS_H = "0"
  HAVE_PROCESS_VM_READV = "1"
  HAVE_PROTOTYPES = "1"
  HAVE_PTHREAD_CONDATTR_SETCLOCK = "1"
  HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE_NP = "0"
  HAVE_PTHREAD_DESTRUCTOR = "0"
  HAVE_PTHREAD_GETATTR_NP = "1"
  HAVE_PTHREAD_GETCPUCLOCKID = "1"
  HAVE_PTHREAD_GETNAME_NP = "1"
  HAVE_PTHREAD_GET_NAME_NP = "0"
  HAVE_PTHREAD_H = "1"
  HAVE_PTHREAD_INIT = "0"
  HAVE_PTHREAD_KILL = "1"
  HAVE_PTHREAD_SETNAME_NP = "1"
  HAVE_PTHREAD_SET_NAME_NP = "0"
  HAVE_PTHREAD_SIGMASK = "1"
  HAVE_PTHREAD_STUBS = "0"
  HAVE_PTSNAME = "1"
  HAVE_PTSNAME_R = "1"
  HAVE_PTY_H = "1"
  HAVE_PWRITE = "1"
  HAVE_PWRITEV = "1"
  HAVE_PWRITEV2 = "1"
  HAVE_READLINE_READLINE_H = "0"
  HAVE_READLINK = "1"
  HAVE_READLINKAT = "1"
  HAVE_READV = "1"
  HAVE_REALPATH = "1"
  HAVE_RECVFROM = "1"
  HAVE_RENAMEAT = "1"
  HAVE_RL_APPEND_HISTORY = "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_RTPSPAWN = "0"
  HAVE_SCHED_GET_PRIORITY_MAX = "1"
  HAVE_SCHED_H = "1"
  HAVE_SCHED_RR_GET_INTERVAL = "1"
  HAVE_SCHED_SETAFFINITY = "1"
  HAVE_SCHED_SETPARAM = "1"
  HAVE_SCHED_SETSCHEDULER = "1"
  HAVE_SEM_CLOCKWAIT = "1"
  HAVE_SEM_GETVALUE = "1"
  HAVE_SEM_OPEN = "1"
  HAVE_SEM_TIMEDWAIT = "1"
  HAVE_SEM_UNLINK = "1"
  HAVE_SENDFILE = "1"
  HAVE_SENDTO = "1"
  HAVE_SETEGID = "1"
  HAVE_SETEUID = "1"
  HAVE_SETGID = "1"
  HAVE_SETGROUPS = "1"
  HAVE_SETHOSTNAME = "1"
  HAVE_SETITIMER = "1"
  HAVE_SETJMP_H = "1"
  HAVE_SETLOCALE = "1"
  HAVE_SETNS = "1"
  HAVE_SETPGID = "1"
  HAVE_SETPGRP = "1"
  HAVE_SETPRIORITY = "1"
  HAVE_SETREGID = "1"
  HAVE_SETRESGID = "1"
  HAVE_SETRESUID = "1"
  HAVE_SETREUID = "1"
  HAVE_SETSID = "1"
  HAVE_SETSOCKOPT = "1"
  HAVE_SETUID = "1"
  HAVE_SETVBUF = "1"
  HAVE_SHADOW_H = "1"
  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 = "1"
  HAVE_SIGWAIT = "1"
  HAVE_SIGWAITINFO = "1"
  HAVE_SNPRINTF = "1"
  HAVE_SOCKADDR_ALG = "1"
  HAVE_SOCKADDR_SA_LEN = "0"
  HAVE_SOCKADDR_STORAGE = "1"
  HAVE_SOCKET = "1"
  HAVE_SOCKETPAIR = "1"
  HAVE_SOCKLEN_T = "1"
  HAVE_SPAWN_H = "1"
  HAVE_SPLICE = "1"
  HAVE_SSIZE_T = "1"
  HAVE_STATVFS = "1"
  HAVE_STAT_TV_NSEC = "1"
  HAVE_STAT_TV_NSEC2 = "0"
  HAVE_STDINT_H = "1"
  HAVE_STDIO_H = "1"
  HAVE_STDLIB_H = "1"
  HAVE_STD_ATOMIC = "1"
  HAVE_STRFTIME = "1"
  HAVE_STRINGS_H = "1"
  HAVE_STRING_H = "1"
  HAVE_STRLCPY = "1"
  HAVE_STROPTS_H = "0"
  HAVE_STRSIGNAL = "1"
  HAVE_STRUCT_PASSWD_PW_GECOS = "1"
  HAVE_STRUCT_PASSWD_PW_PASSWD = "1"
  HAVE_STRUCT_STAT_ST_BIRTHTIME = "0"
  HAVE_STRUCT_STAT_ST_BLKSIZE = "1"
  HAVE_STRUCT_STAT_ST_BLOCKS = "1"
  HAVE_STRUCT_STAT_ST_FLAGS = "0"
  HAVE_STRUCT_STAT_ST_GEN = "0"
  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 = "1"
  HAVE_SYS_BSDTTY_H = "0"
  HAVE_SYS_DEVPOLL_H = "0"
  HAVE_SYS_DIR_H = "0"
  HAVE_SYS_ENDIAN_H = "0"
  HAVE_SYS_EPOLL_H = "1"
  HAVE_SYS_EVENTFD_H = "1"
  HAVE_SYS_EVENT_H = "0"
  HAVE_SYS_FILE_H = "1"
  HAVE_SYS_IOCTL_H = "1"
  HAVE_SYS_KERN_CONTROL_H = "0"
  HAVE_SYS_LOADAVG_H = "0"
  HAVE_SYS_LOCK_H = "0"
  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_PIDFD_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 = "1"
  HAVE_SYS_SOCKET_H = "1"
  HAVE_SYS_SOUNDCARD_H = "1"
  HAVE_SYS_STATVFS_H = "1"
  HAVE_SYS_STAT_H = "1"
  HAVE_SYS_SYSCALL_H = "1"
  HAVE_SYS_SYSMACROS_H = "1"
  HAVE_SYS_SYS_DOMAIN_H = "0"
  HAVE_SYS_TERMIO_H = "0"
  HAVE_SYS_TIMERFD_H = "1"
  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_TIMERFD_CREATE = "1"
  HAVE_TIMES = "1"
  HAVE_TMPFILE = "1"
  HAVE_TMPNAM = "1"
  HAVE_TMPNAM_R = "1"
  HAVE_TM_ZONE = "1"
  HAVE_TRUNCATE = "1"
  HAVE_TTYNAME_R = "1"
  HAVE_TZNAME = "0"
  HAVE_UMASK = "1"
  HAVE_UNAME = "1"
  HAVE_UNISTD_H = "1"
  HAVE_UNLINKAT = "1"
  HAVE_UNLOCKPT = "1"
  HAVE_UNSHARE = "1"
  HAVE_USABLE_WCHAR_T = "0"
  HAVE_UTIL_H = "0"
  HAVE_UTIMENSAT = "1"
  HAVE_UTIMES = "1"
  HAVE_UTIME_H = "1"
  HAVE_UTMP_H = "1"
  HAVE_UT_NAMESIZE = "1"
  HAVE_UUID_CREATE = "0"
  HAVE_UUID_ENC_BE = "0"
  HAVE_UUID_GENERATE_TIME_SAFE = "1"
  HAVE_UUID_GENERATE_TIME_SAFE_STABLE_MAC = "0"
  HAVE_UUID_H = "1"
  HAVE_UUID_UUID_H = "0"
  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_ZDICT_H = "0"
  HAVE_ZLIB_COPY = "1"
  HAVE_ZLIB_H = "0"
  HAVE_ZSTD_H = "0"
  HAVE__GETPTY = "0"
  HAVE___UINT128_T = "1"
  HOSTRUNNER = ""
  HOST_GNU_TYPE = "x86_64-pc-linux-gnu"
  INCLDIRSTOMAKE = "/home/brian/.pyenv/versions/3.14.0/include /home/brian/.pyenv/versions/3.14.0/include /home/brian/.pyenv/versions/3.14.0/include/python3.14 /home/brian/.pyenv/versions/3.14.0/include/python3.14"
  INCLUDEDIR = "/home/brian/.pyenv/versions/3.14.0/include"
  INCLUDEPY = "/home/brian/.pyenv/versions/3.14.0/include/python3.14"
  INSTALL = "/usr/bin/install -c"
  INSTALL_DATA = "/usr/bin/install -c -m 644"
  INSTALL_MIMALLOC = "yes"
  INSTALL_PROGRAM = "/usr/bin/install -c"
  INSTALL_SCRIPT = "/usr/bin/install -c"
  INSTALL_SHARED = "/usr/bin/install -c -m 755"
  INSTSONAME = "libpython3.14.so.1.0"
  IO_H = "Modules/_io/_iomodule.h"
  IO_OBJS = "\"
  IPHONEOS_DEPLOYMENT_TARGET = ""
  JIT_DEPS = "\"
  LDCXXSHARED = "g++ -shared -L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib -L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib"
  LDFLAGS = "-L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib -L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib"
  LDFLAGS_NODIST = ""
  LDLIBRARY = "libpython3.14.so"
  LDLIBRARYDIR = ""
  LDSHARED = "gcc -shared -L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib -L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib"
  LDVERSION = "3.14"
  LIBC = ""
  LIBDEST = "/home/brian/.pyenv/versions/3.14.0/lib/python3.14"
  LIBDIR = "/home/brian/.pyenv/versions/3.14.0/lib"
  LIBEXPAT_A = "Modules/expat/libexpat.a"
  LIBEXPAT_CFLAGS = "-I./Modules/expat -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include -fPIC -fPIC"
  LIBEXPAT_HEADERS = "\"
  LIBEXPAT_OBJS = "\"
  LIBHACL_BLAKE2_HEADERS = "\"
  LIBHACL_BLAKE2_LIB_SHARED = "\"
  LIBHACL_BLAKE2_LIB_STATIC = "Modules/_hacl/libHacl_Hash_BLAKE2.a"
  LIBHACL_BLAKE2_OBJS = "\"
  LIBHACL_BLAKE2_SIMD128_CFLAGS = "-msse -msse2 -msse3 -msse4.1 -msse4.2 -DHACL_CAN_COMPILE_VEC128"
  LIBHACL_BLAKE2_SIMD128_OBJS = "Modules/_hacl/Hacl_Hash_Blake2s_Simd128.o"
  LIBHACL_BLAKE2_SIMD256_CFLAGS = "-mavx2 -DHACL_CAN_COMPILE_VEC256"
  LIBHACL_BLAKE2_SIMD256_OBJS = "Modules/_hacl/Hacl_Hash_Blake2b_Simd256.o"
  LIBHACL_CFLAGS = "-I./Modules/_hacl -I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include -fPIC -fPIC"
  LIBHACL_HEADERS = "\"
  LIBHACL_HMAC_HEADERS = "\"
  LIBHACL_HMAC_LIB_SHARED = "\"
  LIBHACL_HMAC_LIB_STATIC = "Modules/_hacl/libHacl_HMAC.a"
  LIBHACL_HMAC_OBJS = "\"
  LIBHACL_LDFLAGS = ""
  LIBHACL_MD5_HEADERS = "\"
  LIBHACL_MD5_LIB_SHARED = "\"
  LIBHACL_MD5_LIB_STATIC = "Modules/_hacl/libHacl_Hash_MD5.a"
  LIBHACL_MD5_OBJS = "\"
  LIBHACL_SHA1_HEADERS = "\"
  LIBHACL_SHA1_LIB_SHARED = "\"
  LIBHACL_SHA1_LIB_STATIC = "Modules/_hacl/libHacl_Hash_SHA1.a"
  LIBHACL_SHA1_OBJS = "\"
  LIBHACL_SHA2_HEADERS = "\"
  LIBHACL_SHA2_LIB_SHARED = "\"
  LIBHACL_SHA2_LIB_STATIC = "Modules/_hacl/libHacl_Hash_SHA2.a"
  LIBHACL_SHA2_OBJS = "\"
  LIBHACL_SHA3_HEADERS = "\"
  LIBHACL_SHA3_LIB_SHARED = "\"
  LIBHACL_SHA3_LIB_STATIC = "Modules/_hacl/libHacl_Hash_SHA3.a"
  LIBHACL_SHA3_OBJS = "\"
  LIBM = "-lm"
  LIBMPDEC_A = "Modules/_decimal/libmpdec/libmpdec.a"
  LIBMPDEC_CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include -fPIC -fPIC"
  LIBMPDEC_HEADERS = "\"
  LIBMPDEC_OBJS = "\"
  LIBOBJDIR = "Python/"
  LIBOBJS = ""
  LIBPC = "/home/brian/.pyenv/versions/3.14.0/lib/pkgconfig"
  LIBPL = "/home/brian/.pyenv/versions/3.14.0/lib/python3.14/config-3.14-x86_64-linux-gnu"
  LIBPYTHON = ""
  LIBRARY = "libpython3.14.a"
  LIBRARY_DEPS = "libpython3.14.a libpython3.14.so libpython3.so"
  LIBRARY_OBJS = "\"
  LIBRARY_OBJS_OMIT_FROZEN = "\"
  LIBS = "-ldl -L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib"
  LIBSUBDIRS = "asyncio \"
  LINKCC = "gcc"
  LINKFORSHARED = "-Xlinker -export-dynamic"
  LINK_PYTHON_DEPS = "libpython3.14.a libpython3.14.so libpython3.so"
  LINK_PYTHON_OBJS = "-L. -lpython3.14"
  LIPO_32BIT_FLAGS = ""
  LIPO_INTEL64_FLAGS = ""
  LLVM_PROF_ERR = "no"
  LLVM_PROF_FILE = ""
  LLVM_PROF_MERGER = "true"
  LN = "ln"
  LOCALMODLIBS = "-lm"
  MACHDEP = "linux"
  MACHDEP_OBJS = ""
  MACHDESTLIB = "/home/brian/.pyenv/versions/3.14.0/lib/python3.14"
  MACOSX_DEPLOYMENT_TARGET = ""
  MAJOR_IN_MKDEV = "0"
  MAJOR_IN_SYSMACROS = "1"
  MAKESETUP = "./Modules/makesetup"
  MANDIR = "/home/brian/.pyenv/versions/3.14.0/share/man"
  MIMALLOC_HEADERS = "\"
  MKDIR_P = "/usr/sbin/mkdir -p"
  MODBUILT_NAMES = "array  _asyncio  _bisect  _csv  _heapq  _json  _lsprof  _pickle  _queue  _random  _remote_debugging  _struct  _interpreters  _interpchannels  _interpqueues  _zoneinfo  math  cmath  _statistics  _decimal  binascii  _bz2  _lzma  _zstd  zlib  _dbm  _gdbm  readline  _md5  _sha1  _sha2  _sha3  _blake2  _hmac  pyexpat  _elementtree  _codecs_cn  _codecs_hk  _codecs_iso2022  _codecs_jp  _codecs_kr  _codecs_tw  _multibytecodec  unicodedata  fcntl  grp  mmap  _posixsubprocess  resource  select  _socket  syslog  termios  _posixshmem  _multiprocessing  _ctypes  _curses  _curses_panel  _sqlite3  _ssl  _hashlib  _uuid  _tkinter  xxsubtype  _xxtestfuzz  _testbuffer  _testinternalcapi  _testcapi  _testlimitedcapi  _testclinic  _testclinic_limited  _testimportmultiple  _testmultiphase  _testsinglephase  _ctypes_test  xxlimited  xxlimited_35  atexit  faulthandler  posix  _signal  _tracemalloc  _suggestions  _datetime  _codecs  _collections  errno  _io  itertools  _sre  _sysconfig  _thread  time  _types  _typing  _weakref  _abc  _functools  _locale  _opcode  _operator  _stat  _symtable  pwd"
  MODDISABLED_NAMES = ""
  MODLIBS = "-lm"
  MODOBJS = "Modules/atexitmodule.o  Modules/faulthandler.o  Modules/posixmodule.o  Modules/signalmodule.o  Modules/_tracemalloc.o  Modules/_suggestions.o  Modules/_datetimemodule.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/_sysconfig.o  Modules/_threadmodule.o  Modules/timemodule.o  Modules/_typesmodule.o  Modules/_typingmodule.o  Modules/_weakref.o  Modules/_abc.o  Modules/_functoolsmodule.o  Modules/_localemodule.o  Modules/_opcode.o  Modules/_operator.o  Modules/_stat.o  Modules/symtablemodule.o  Modules/pwdmodule.o"
  MODSHARED_NAMES = "array _asyncio _bisect _csv _heapq _json _lsprof _pickle _queue _random _remote_debugging _struct _interpreters _interpchannels _interpqueues _zoneinfo math cmath _statistics _decimal binascii _bz2 _lzma _zstd zlib _dbm _gdbm readline _md5 _sha1 _sha2 _sha3 _blake2 _hmac pyexpat _elementtree _codecs_cn _codecs_hk _codecs_iso2022 _codecs_jp _codecs_kr _codecs_tw _multibytecodec unicodedata fcntl grp mmap _posixsubprocess resource select _socket syslog termios _posixshmem _multiprocessing _ctypes _curses _curses_panel _sqlite3 _ssl _hashlib _uuid _tkinter xxsubtype _xxtestfuzz _testbuffer _testinternalcapi _testcapi _testlimitedcapi _testclinic _testclinic_limited _testimportmultiple _testmultiphase _testsinglephase _ctypes_test xxlimited xxlimited_35"
  MODULE_ARRAY_STATE = "yes"
  MODULE_ATEXIT_LDFLAGS = ""
  MODULE_BINASCII_CFLAGS = "-DUSE_ZLIB_CRC32 -DWITH_GZFILEOP"
  MODULE_BINASCII_LDFLAGS = "-lz"
  MODULE_BINASCII_STATE = "yes"
  MODULE_CMATH_DEPS = "./Modules/_math.h"
  MODULE_CMATH_LDFLAGS = "-lm"
  MODULE_CMATH_STATE = "yes"
  MODULE_DEPS_SHARED = "Modules/config.c"
  MODULE_DEPS_STATIC = "Modules/config.c"
  MODULE_ERRNO_LDFLAGS = ""
  MODULE_FAULTHANDLER_LDFLAGS = ""
  MODULE_FCNTL_LDFLAGS = ""
  MODULE_FCNTL_STATE = "yes"
  MODULE_GRP_STATE = "yes"
  MODULE_ITERTOOLS_LDFLAGS = ""
  MODULE_MATH_DEPS = "./Modules/_math.h"
  MODULE_MATH_LDFLAGS = "-lm"
  MODULE_MATH_STATE = "yes"
  MODULE_MMAP_STATE = "yes"
  MODULE_OBJS = "\"
  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_READLINE_CFLAGS = "-D_DEFAULT_SOURCE"
  MODULE_READLINE_LDFLAGS = "-lreadline"
  MODULE_READLINE_STATE = "yes"
  MODULE_RESOURCE_STATE = "yes"
  MODULE_SELECT_STATE = "yes"
  MODULE_SYSLOG_STATE = "yes"
  MODULE_TERMIOS_STATE = "yes"
  MODULE_TIME_LDFLAGS = ""
  MODULE_TIME_STATE = "yes"
  MODULE_UNICODEDATA_DEPS = "./Modules/unicodedata_db.h ./Modules/unicodename_db.h"
  MODULE_UNICODEDATA_STATE = "yes"
  MODULE_XXLIMITED_35_STATE = "yes"
  MODULE_XXLIMITED_STATE = "yes"
  MODULE_XXSUBTYPE_STATE = "yes"
  MODULE_ZLIB_CFLAGS = "-DWITH_GZFILEOP"
  MODULE_ZLIB_LDFLAGS = "-lz"
  MODULE_ZLIB_STATE = "yes"
  MODULE__ABC_LDFLAGS = ""
  MODULE__ASYNCIO_STATE = "yes"
  MODULE__BISECT_STATE = "yes"
  MODULE__BLAKE2_CFLAGS = "-I./Modules/_hacl -I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include -fPIC -fPIC"
  MODULE__BLAKE2_DEPS = "./Modules/hashlib.h \ \"
  MODULE__BLAKE2_LDEPS = "\"
  MODULE__BLAKE2_LDFLAGS = "\"
  MODULE__BLAKE2_STATE = "yes"
  MODULE__BZ2_CFLAGS = ""
  MODULE__BZ2_LDFLAGS = "-lbz2"
  MODULE__BZ2_STATE = "yes"
  MODULE__CODECS_CN_DEPS = "./Modules/cjkcodecs/mappings_cn.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
  MODULE__CODECS_CN_STATE = "yes"
  MODULE__CODECS_HK_DEPS = "./Modules/cjkcodecs/mappings_hk.h  ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
  MODULE__CODECS_HK_STATE = "yes"
  MODULE__CODECS_ISO2022_DEPS = "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
  MODULE__CODECS_ISO2022_STATE = "yes"
  MODULE__CODECS_JP_DEPS = "./Modules/cjkcodecs/mappings_jisx0213_pair.h ./Modules/cjkcodecs/alg_jisx0201.h ./Modules/cjkcodecs/emu_jisx0213_2000.h ./Modules/cjkcodecs/mappings_jp.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
  MODULE__CODECS_JP_STATE = "yes"
  MODULE__CODECS_KR_DEPS = "./Modules/cjkcodecs/mappings_kr.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
  MODULE__CODECS_KR_STATE = "yes"
  MODULE__CODECS_LDFLAGS = ""
  MODULE__CODECS_TW_DEPS = "./Modules/cjkcodecs/mappings_tw.h ./Modules/cjkcodecs/multibytecodec.h ./Modules/cjkcodecs/cjkcodecs.h"
  MODULE__CODECS_TW_STATE = "yes"
  MODULE__COLLECTIONS_LDFLAGS = ""
  MODULE__CSV_STATE = "yes"
  MODULE__CTYPES_CFLAGS = "-fno-strict-overflow"
  MODULE__CTYPES_DEPS = "./Modules/_ctypes/ctypes.h"
  MODULE__CTYPES_LDFLAGS = "-lffi -ldl"
  MODULE__CTYPES_MALLOC_CLOSURE = ""
  MODULE__CTYPES_STATE = "yes"
  MODULE__CTYPES_TEST_CFLAGS = ""
  MODULE__CTYPES_TEST_DEPS = "./Modules/_ctypes/_ctypes_test_generated.c.h"
  MODULE__CTYPES_TEST_LDFLAGS = "-lffi -ldl -lm"
  MODULE__CTYPES_TEST_STATE = "yes"
  MODULE__CURSES_CFLAGS = "-D_DEFAULT_SOURCE"
  MODULE__CURSES_DEPS = "./Include/py_curses.h"
  MODULE__CURSES_LDFLAGS = "-lncursesw"
  MODULE__CURSES_PANEL_CFLAGS = "-D_DEFAULT_SOURCE  -D_DEFAULT_SOURCE"
  MODULE__CURSES_PANEL_DEPS = "./Include/py_curses.h"
  MODULE__CURSES_PANEL_LDFLAGS = "-lpanelw -lncursesw"
  MODULE__CURSES_PANEL_STATE = "yes"
  MODULE__CURSES_STATE = "yes"
  MODULE__DATETIME_DEPS = "./Include/datetime.h"
  MODULE__DATETIME_LDFLAGS = "-lm"
  MODULE__DATETIME_STATE = "yes"
  MODULE__DBM_CFLAGS = "-DUSE_NDBM"
  MODULE__DBM_LDFLAGS = "-lgdbm_compat"
  MODULE__DBM_STATE = "yes"
  MODULE__DECIMAL_CFLAGS = ""
  MODULE__DECIMAL_DEPS = "./Modules/_decimal/docstrings.h"
  MODULE__DECIMAL_LDFLAGS = "-lmpdec -lm"
  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 = ""
  MODULE__HASHLIB_DEPS = "./Modules/hashlib.h"
  MODULE__HASHLIB_LDFLAGS = "-lcrypto"
  MODULE__HASHLIB_STATE = "yes"
  MODULE__HEAPQ_STATE = "yes"
  MODULE__HMAC_CFLAGS = "-I./Modules/_hacl -I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include -fPIC -fPIC"
  MODULE__HMAC_DEPS = "./Modules/hashlib.h \ \"
  MODULE__HMAC_LDEPS = "\"
  MODULE__HMAC_LDFLAGS = "\"
  MODULE__HMAC_STATE = "yes"
  MODULE__INTERPCHANNELS_STATE = "yes"
  MODULE__INTERPQUEUES_STATE = "yes"
  MODULE__INTERPRETERS_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 = ""
  MODULE__LZMA_LDFLAGS = "-llzma"
  MODULE__LZMA_STATE = "yes"
  MODULE__MD5_CFLAGS = "-I./Modules/_hacl -I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include -fPIC -fPIC"
  MODULE__MD5_DEPS = "./Modules/hashlib.h \ \"
  MODULE__MD5_LDEPS = "\"
  MODULE__MD5_LDFLAGS = "\"
  MODULE__MD5_STATE = "yes"
  MODULE__MULTIBYTECODEC_DEPS = "./Modules/cjkcodecs/multibytecodec.h"
  MODULE__MULTIBYTECODEC_STATE = "yes"
  MODULE__MULTIPROCESSING_CFLAGS = "-I./Modules/_multiprocessing"
  MODULE__MULTIPROCESSING_STATE = "yes"
  MODULE__OPCODE_LDFLAGS = ""
  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__REMOTE_DEBUGGING_STATE = "yes"
  MODULE__SCPROXY_STATE = "n/a"
  MODULE__SHA1_CFLAGS = "-I./Modules/_hacl -I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include -fPIC -fPIC"
  MODULE__SHA1_DEPS = "./Modules/hashlib.h \ \"
  MODULE__SHA1_LDEPS = "\"
  MODULE__SHA1_LDFLAGS = "\"
  MODULE__SHA1_STATE = "yes"
  MODULE__SHA2_CFLAGS = "-I./Modules/_hacl -I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include -fPIC -fPIC"
  MODULE__SHA2_DEPS = "./Modules/hashlib.h \ \"
  MODULE__SHA2_LDEPS = "\"
  MODULE__SHA2_LDFLAGS = "\"
  MODULE__SHA2_STATE = "yes"
  MODULE__SHA3_CFLAGS = "-I./Modules/_hacl -I./Modules/_hacl/include -D_BSD_SOURCE -D_DEFAULT_SOURCE -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include -fPIC -fPIC"
  MODULE__SHA3_DEPS = "./Modules/hashlib.h \ \"
  MODULE__SHA3_LDEPS = "\"
  MODULE__SHA3_LDFLAGS = "\"
  MODULE__SHA3_STATE = "yes"
  MODULE__SIGNAL_LDFLAGS = ""
  MODULE__SOCKET_DEPS = "./Modules/socketmodule.h ./Modules/addrinfo.h ./Modules/getaddrinfo.c ./Modules/getnameinfo.c"
  MODULE__SOCKET_LDFLAGS = ""
  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 = ""
  MODULE__SSL_DEPS = "./Modules/_ssl.h ./Modules/_ssl/cert.c ./Modules/_ssl/debughelpers.c ./Modules/_ssl/misc.c ./Modules/_ssl_data_111.h ./Modules/_ssl_data_300.h ./Modules/socketmodule.h"
  MODULE__SSL_LDFLAGS = "-lssl -lcrypto"
  MODULE__SSL_STATE = "yes"
  MODULE__STATISTICS_LDFLAGS = "-lm"
  MODULE__STATISTICS_STATE = "yes"
  MODULE__STAT_LDFLAGS = ""
  MODULE__STRUCT_STATE = "yes"
  MODULE__SUGGESTIONS_LDFLAGS = ""
  MODULE__SYMTABLE_LDFLAGS = ""
  MODULE__SYSCONFIG_LDFLAGS = ""
  MODULE__TESTBUFFER_STATE = "yes"
  MODULE__TESTCAPI_DEPS = "./Modules/_testcapi/parts.h ./Modules/_testcapi/util.h"
  MODULE__TESTCAPI_LDFLAGS = ""
  MODULE__TESTCAPI_STATE = "yes"
  MODULE__TESTCLINIC_LIMITED_STATE = "yes"
  MODULE__TESTCLINIC_STATE = "yes"
  MODULE__TESTIMPORTMULTIPLE_STATE = "yes"
  MODULE__TESTINTERNALCAPI_DEPS = "./Modules/_testinternalcapi/parts.h"
  MODULE__TESTINTERNALCAPI_STATE = "yes"
  MODULE__TESTLIMITEDCAPI_DEPS = "./Modules/_testlimitedcapi/testcapi_long.h ./Modules/_testlimitedcapi/parts.h ./Modules/_testlimitedcapi/util.h"
  MODULE__TESTLIMITEDCAPI_STATE = "yes"
  MODULE__TESTMULTIPHASE_STATE = "yes"
  MODULE__TESTSINGLEPHASE_STATE = "yes"
  MODULE__THREAD_LDFLAGS = ""
  MODULE__TKINTER_CFLAGS = "-DWITH_GZFILEOP -Wno-strict-prototypes -DWITH_APPINIT=1"
  MODULE__TKINTER_LDFLAGS = "-ltk8.6 -ltkstub8.6 -ltcl8.6 -ltclstub8.6"
  MODULE__TKINTER_STATE = "yes"
  MODULE__TRACEMALLOC_LDFLAGS = ""
  MODULE__TYPES_LDFLAGS = ""
  MODULE__TYPES_STATE = "yes"
  MODULE__TYPING_LDFLAGS = ""
  MODULE__TYPING_STATE = "yes"
  MODULE__UUID_CFLAGS = "-I/usr/include/uuid"
  MODULE__UUID_LDFLAGS = "-luuid"
  MODULE__UUID_STATE = "yes"
  MODULE__WEAKREF_LDFLAGS = ""
  MODULE__XXTESTFUZZ_STATE = "yes"
  MODULE__ZONEINFO_STATE = "yes"
  MODULE__ZSTD_CFLAGS = ""
  MODULE__ZSTD_DEPS = "./Modules/_zstd/_zstdmodule.h ./Modules/_zstd/buffer.h ./Modules/_zstd/zstddict.h"
  MODULE__ZSTD_LDFLAGS = "-lzstd"
  MODULE__ZSTD_STATE = "yes"
  MULTIARCH = "x86_64-linux-gnu"
  MULTIARCH_CPPFLAGS = "-DMULTIARCH=\"x86_64-linux-gnu\""
  MVWDELCH_IS_EXPRESSION = "1"
  NO_AS_NEEDED = "-Wl,--no-as-needed"
  OBJECT_OBJS = "\"
  OPT = "-DNDEBUG -g -O3 -Wall"
  PACKAGE_BUGREPORT = "0"
  PACKAGE_NAME = "0"
  PACKAGE_STRING = "0"
  PACKAGE_TARNAME = "0"
  PACKAGE_URL = "0"
  PACKAGE_VERSION = "0"
  PARSER_HEADERS = "\"
  PARSER_OBJS = "\ \ \ Parser/myreadline.o"
  PEGEN_HEADERS = "\"
  PEGEN_OBJS = "\"
  PGO_PROF_GEN_FLAG = "-fprofile-generate"
  PGO_PROF_USE_FLAG = "-fprofile-use -fprofile-correction"
  PLATLIBDIR = "lib"
  POBJS = "\"
  POSIX_SEMAPHORES_NOT_ENABLED = "0"
  PROFILE_TASK = "-m test --pgo --timeout="
  PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT = "1"
  PTHREAD_SYSTEM_SCHED_SUPPORTED = "1"
  PURIFY = ""
  PY3LIBRARY = "libpython3.so"
  PYLONG_BITS_IN_DIGIT = "0"
  PYTHON = "python"
  PYTHONFRAMEWORK = ""
  PYTHONFRAMEWORKDIR = "no-framework"
  PYTHONFRAMEWORKINSTALLDIR = ""
  PYTHONFRAMEWORKINSTALLNAMEPREFIX = ""
  PYTHONFRAMEWORKPREFIX = ""
  PYTHONPATH = ""
  PYTHON_FOR_BUILD = "./python -E"
  PYTHON_FOR_BUILD_DEPS = "python"
  PYTHON_FOR_FREEZE = "./_bootstrap_python"
  PYTHON_FOR_REGEN = ""
  PYTHON_HEADERS = "\"
  PYTHON_OBJS = "\"
  PY_BUILTIN_HASHLIB_HASHES = ""md5,sha1,sha2,sha3,blake2""
  PY_BUILTIN_MODULE_CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include -fPIC -DPy_BUILD_CORE_BUILTIN"
  PY_CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall"
  PY_CFLAGS_NODIST = "-std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc"
  PY_COERCE_C_LOCALE = "1"
  PY_CORE_CFLAGS = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include -fPIC -DPy_BUILD_CORE"
  PY_CORE_LDFLAGS = "-L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib -L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib"
  PY_CPPFLAGS = "-I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include"
  PY_ENABLE_SHARED = "1"
  PY_HAVE_PERF_TRAMPOLINE = "1"
  PY_LDFLAGS = "-L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib -L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib"
  PY_LDFLAGS_NODIST = ""
  PY_LDFLAGS_NOLTO = "-L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib -L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/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 = "-fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc -I. -I./Include -I/home/brian/.pyenv/versions/3.14.0/include -I/home/brian/.pyenv/versions/3.14.0/include -fPIC"
  PY_SUPPORT_TIER = "1"
  Py_DEBUG = "0"
  Py_ENABLE_SHARED = "1"
  Py_GIL_DISABLED = "0"
  Py_HASH_ALGORITHM = "0"
  Py_REMOTE_DEBUG = "1"
  Py_RL_STARTUP_HOOK_TAKES_ARGS = "0"
  Py_STATS = "0"
  Py_SUNOS_VERSION = "0"
  Py_TAIL_CALL_INTERP = "0"
  Py_TRACE_REFS = "0"
  QUICKTESTOPTS = "-x test_subprocess test_io \"
  READELF = "@READELF@"
  RESSRCDIR = ""
  RETSIGTYPE = "void"
  RUNSHARED = "LD_LIBRARY_PATH=/tmp/python-build.20251010003537.1592894/Python-3.14.0"
  SCRIPTDIR = "/home/brian/.pyenv/versions/3.14.0/lib"
  SCRIPT_IDLE = "build/scripts-3.14/idle3.14"
  SCRIPT_PYDOC = "build/scripts-3.14/pydoc3.14"
  SETPGRP_HAVE_ARG = "0"
  SHAREDMODS = "Modules/array.cpython-314-x86_64-linux-gnu.so Modules/_asyncio.cpython-314-x86_64-linux-gnu.so Modules/_bisect.cpython-314-x86_64-linux-gnu.so Modules/_csv.cpython-314-x86_64-linux-gnu.so Modules/_heapq.cpython-314-x86_64-linux-gnu.so Modules/_json.cpython-314-x86_64-linux-gnu.so Modules/_lsprof.cpython-314-x86_64-linux-gnu.so Modules/_pickle.cpython-314-x86_64-linux-gnu.so Modules/_queue.cpython-314-x86_64-linux-gnu.so Modules/_random.cpython-314-x86_64-linux-gnu.so Modules/_remote_debugging.cpython-314-x86_64-linux-gnu.so Modules/_struct.cpython-314-x86_64-linux-gnu.so Modules/_interpreters.cpython-314-x86_64-linux-gnu.so Modules/_interpchannels.cpython-314-x86_64-linux-gnu.so Modules/_interpqueues.cpython-314-x86_64-linux-gnu.so Modules/_zoneinfo.cpython-314-x86_64-linux-gnu.so Modules/math.cpython-314-x86_64-linux-gnu.so Modules/cmath.cpython-314-x86_64-linux-gnu.so Modules/_statistics.cpython-314-x86_64-linux-gnu.so Modules/_decimal.cpython-314-x86_64-linux-gnu.so Modules/binascii.cpython-314-x86_64-linux-gnu.so Modules/_bz2.cpython-314-x86_64-linux-gnu.so Modules/_lzma.cpython-314-x86_64-linux-gnu.so Modules/_zstd.cpython-314-x86_64-linux-gnu.so Modules/zlib.cpython-314-x86_64-linux-gnu.so Modules/_dbm.cpython-314-x86_64-linux-gnu.so Modules/_gdbm.cpython-314-x86_64-linux-gnu.so Modules/readline.cpython-314-x86_64-linux-gnu.so Modules/_md5.cpython-314-x86_64-linux-gnu.so Modules/_sha1.cpython-314-x86_64-linux-gnu.so Modules/_sha2.cpython-314-x86_64-linux-gnu.so Modules/_sha3.cpython-314-x86_64-linux-gnu.so Modules/_blake2.cpython-314-x86_64-linux-gnu.so Modules/_hmac.cpython-314-x86_64-linux-gnu.so Modules/pyexpat.cpython-314-x86_64-linux-gnu.so Modules/_elementtree.cpython-314-x86_64-linux-gnu.so Modules/_codecs_cn.cpython-314-x86_64-linux-gnu.so Modules/_codecs_hk.cpython-314-x86_64-linux-gnu.so Modules/_codecs_iso2022.cpython-314-x86_64-linux-gnu.so Modules/_codecs_jp.cpython-314-x86_64-linux-gnu.so Modules/_codecs_kr.cpython-314-x86_64-linux-gnu.so Modules/_codecs_tw.cpython-314-x86_64-linux-gnu.so Modules/_multibytecodec.cpython-314-x86_64-linux-gnu.so Modules/unicodedata.cpython-314-x86_64-linux-gnu.so Modules/fcntl.cpython-314-x86_64-linux-gnu.so Modules/grp.cpython-314-x86_64-linux-gnu.so Modules/mmap.cpython-314-x86_64-linux-gnu.so Modules/_posixsubprocess.cpython-314-x86_64-linux-gnu.so Modules/resource.cpython-314-x86_64-linux-gnu.so Modules/select.cpython-314-x86_64-linux-gnu.so Modules/_socket.cpython-314-x86_64-linux-gnu.so Modules/syslog.cpython-314-x86_64-linux-gnu.so Modules/termios.cpython-314-x86_64-linux-gnu.so Modules/_posixshmem.cpython-314-x86_64-linux-gnu.so Modules/_multiprocessing.cpython-314-x86_64-linux-gnu.so Modules/_ctypes.cpython-314-x86_64-linux-gnu.so Modules/_curses.cpython-314-x86_64-linux-gnu.so Modules/_curses_panel.cpython-314-x86_64-linux-gnu.so Modules/_sqlite3.cpython-314-x86_64-linux-gnu.so Modules/_ssl.cpython-314-x86_64-linux-gnu.so Modules/_hashlib.cpython-314-x86_64-linux-gnu.so Modules/_uuid.cpython-314-x86_64-linux-gnu.so Modules/_tkinter.cpython-314-x86_64-linux-gnu.so Modules/xxsubtype.cpython-314-x86_64-linux-gnu.so Modules/_xxtestfuzz.cpython-314-x86_64-linux-gnu.so Modules/_testbuffer.cpython-314-x86_64-linux-gnu.so Modules/_testinternalcapi.cpython-314-x86_64-linux-gnu.so Modules/_testcapi.cpython-314-x86_64-linux-gnu.so Modules/_testlimitedcapi.cpython-314-x86_64-linux-gnu.so Modules/_testclinic.cpython-314-x86_64-linux-gnu.so Modules/_testclinic_limited.cpython-314-x86_64-linux-gnu.so Modules/_testimportmultiple.cpython-314-x86_64-linux-gnu.so Modules/_testmultiphase.cpython-314-x86_64-linux-gnu.so Modules/_testsinglephase.cpython-314-x86_64-linux-gnu.so Modules/_ctypes_test.cpython-314-x86_64-linux-gnu.so Modules/xxlimited.cpython-314-x86_64-linux-gnu.so Modules/xxlimited_35.cpython-314-x86_64-linux-gnu.so"
  SHELL = "/bin/sh -e"
  SHLIBS = "-ldl -L/home/brian/.pyenv/versions/3.14.0/lib -Wl,-rpath,/home/brian/.pyenv/versions/3.14.0/lib"
  SHLIB_SUFFIX = ".so"
  SIGNED_RIGHT_SHIFT_ZERO_FILLS = "0"
  SITEPATH = ""
  SIZEOF_DOUBLE = "8"
  SIZEOF_FLOAT = "4"
  SIZEOF_FPOS_T = "16"
  SIZEOF_INT = "4"
  SIZEOF_LONG = "8"
  SIZEOF_LONG_DOUBLE = "16"
  SIZEOF_LONG_LONG = "8"
  SIZEOF_OFF_T = "8"
  SIZEOF_PID_T = "4"
  SIZEOF_PTHREAD_KEY_T = "4"
  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-314-x86_64-linux-gnu"
  SRCDIRS = "Modules   Modules/_ctypes   Modules/_decimal   Modules/_decimal/libmpdec   Modules/_hacl   Modules/_io   Modules/_multiprocessing   Modules/_sqlite   Modules/_sre   Modules/_testcapi   Modules/_testinternalcapi   Modules/_testlimitedcapi   Modules/_xxtestfuzz   Modules/_zstd   Modules/cjkcodecs   Modules/expat   Objects   Objects/mimalloc   Objects/mimalloc/prim   Parser   Parser/tokenizer   Parser/lexer   Programs   Python   Python/frozen_modules"
  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 = "-lm"
  SYS_SELECT_WITH_SYS_TIME = "1"
  TESTOPTS = ""
  TESTPATH = ""
  TESTPYTHON = "LD_LIBRARY_PATH=/tmp/python-build.20251010003537.1592894/Python-3.14.0 ./python -E"
  TESTPYTHONOPTS = ""
  TESTRUNNER = "LD_LIBRARY_PATH=/tmp/python-build.20251010003537.1592894/Python-3.14.0 ./python -E -m test"
  TESTSUBDIRS = "idlelib/idle_test \"
  TESTTIMEOUT = ""
  TEST_MODULES = "yes"
  THREAD_STACK_SIZE = "0"
  TIMEMODULE_LIB = "0"
  TM_IN_SYS_TIME = "0"
  TOKENIZER_HEADERS = "\"
  TOKENIZER_OBJS = "\"
  TZPATH = "/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/zoneinfo"
  UNICODE_DEPS = "\"
  UNIVERSALSDK = ""
  UPDATE_FILE = "./Tools/build/update_file.py"
  USE_COMPUTED_GOTOS = "0"
  VERSION = "3.14"
  WEBEX2 = "web_example_pyrepl_jspi"
  WEBEX2_DIR = "./Tools/wasm/emscripten/web_example_pyrepl_jspi/"
  WEBEX_DIR = "./Tools/wasm/emscripten/web_example/"
  WHEEL_PKG_DIR = ""
  WINDOW_HAS_FLAGS = "0"
  WITH_DECIMAL_CONTEXTVAR = "1"
  WITH_DOC_STRINGS = "1"
  WITH_DTRACE = "0"
  WITH_DYLD = "0"
  WITH_EDITLINE = "0"
  WITH_LIBINTL = "0"
  WITH_MIMALLOC = "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"
  ZIP_STDLIB = "python3.14.zip"
  abi_thread = ""
  abiflags = ""
  abs_builddir = "/tmp/python-build.20251010003537.1592894/Python-3.14.0"
  abs_srcdir = "/tmp/python-build.20251010003537.1592894/Python-3.14.0"
  base = "/home/brian/work/btakita/dulwich-issue-2023/.venv"
  datarootdir = "/home/brian/.pyenv/versions/3.14.0/share"
  exec_prefix = "/home/brian/work/btakita/dulwich-issue-2023/.venv"
  host_exec_prefix = "/home/brian/.pyenv/versions/3.14.0"
  host_prefix = "/home/brian/.pyenv/versions/3.14.0"
  implementation = "Python"
  implementation_lower = "python"
  installed_base = "/home/brian/.pyenv/versions/3.14.0"
  installed_platbase = "/home/brian/.pyenv/versions/3.14.0"
  platbase = "/home/brian/work/btakita/dulwich-issue-2023/.venv"
  platlibdir = "lib"
  prefix = "/home/brian/work/btakita/dulwich-issue-2023/.venv"
  projectbase = "/home/brian/.pyenv/versions/3.14.0/bin"
  py_version = "3.14.0"
  py_version_nodot = "314"
  py_version_nodot_plat = ""
  py_version_short = "3.14"
  srcdir = "/home/brian/.pyenv/versions/3.14.0/lib/python3.14/config-3.14-x86_64-linux-gnu"
  userbase = "/home/brian/.local"

Example pyproject.toml

[tool.poetry]
name = "dulwich-issue-repro"
version = "0.1.0"
description = ""
readme = "README.md"
authors = ["Brian Takita <[email protected]>"]
package-mode = false

[tool.poe]
envfile = [".env"]
verbosity = 1


[tool.poetry.dependencies]
python = "3.14"
livekit-agents = { git = "https://github.com/livekit/agents.git", subdirectory = "livekit-agents" }

Poetry Runtime Logs

poetry-runtime.log
❯ poetry lock -vvv
Using virtualenv: /home/brian/work/btakita/dulwich-issue-2023/.venv
Checking keyring availability: Checking if keyring is available
[keyring:keyring.backend] Loading KWallet
[keyring:keyring.backend] Loading SecretService
[keyring:keyring.backend] Loading Windows
[keyring:keyring.backend] Loading chainer
[keyring:keyring.backend] Loading libsecret
[keyring:keyring.backend] Loading macOS
Using keyring backend 'SecretService Keyring'
Available
Updating dependencies
Resolving dependencies...
 1: fact: dulwich-issue-repro is 0.1.0
 1: derived: dulwich-issue-repro
[dulwich:dulwich.config] Loading gitconfig from paths: ['/home/brian/.gitconfig', '/home/brian/.config/git/config', '/etc/gitconfig']
[dulwich:dulwich.config] Successfully loaded gitconfig from: /home/brian/.gitconfig
[dulwich:dulwich.config] Gitconfig file not found: /home/brian/.config/git/config
[dulwich:dulwich.config] Gitconfig file not found: /etc/gitconfig
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (1): github.com:443
[urllib3:urllib3.connectionpool] https://github.com:443 "GET /livekit/agents.git/info/refs?service=git-upload-pack HTTP/1.1" 200 None
[urllib3:urllib3.connectionpool] Starting new HTTPS connection (2): github.com:443
[urllib3:urllib3.connectionpool] https://github.com:443 "POST /livekit/agents.git/git-upload-pack HTTP/1.1" 200 None
Cloning https://github.com/livekit/agents.git at 'HEAD' to /home/brian/work/btakita/dulwich-issue-2023/.venv/src/agents
[dulwich:dulwich.config] Loading gitconfig from paths: ['/home/brian/.gitconfig', '/home/brian/.config/git/config', '/etc/gitconfig']
[dulwich:dulwich.config] Successfully loaded gitconfig from: /home/brian/.gitconfig
[dulwich:dulwich.config] Gitconfig file not found: /home/brian/.config/git/config
[dulwich:dulwich.config] Gitconfig file not found: /etc/gitconfig
 1: Version solving took 0.560 seconds.
 1: Tried 1 solutions.

UnicodeDecodeError

'utf-8' codec can't decode byte 0xe5 in position 14: invalid continuation byte

at ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/dulwich/filters.py:254 in _use_process_filter
    250│                 while True:
    251│                     pkt = self._protocol.read_pkt_line()
    252│                     if pkt is None:  # flush packet ends headers
    253│                         break
  → 254│                     key, _, value = pkt.decode().rstrip("\n\r").partition("=")
    255│                     response_headers[key] = value
    256│
    257│                 # Check status
    258│                 status = response_headers.get("status", "error")

The following error occurred when trying to handle this error:


Stack trace:

28  ~/.pyenv/versions/3.14.0/lib/python3.14/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

27  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/console/application.py:260 in _run
     258│
     259│             try:
   → 260│                 exit_code = super()._run(io)
     261│             except PoetryRuntimeError as e:
     262│                 io.write_error_line("")

26  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poethepoet/plugin.py:298 in _run
     296│                 tokens.insert(task_name_index, "--")
     297│
   → 298│             return continue_run(self, io)
     299│
     300│         # Apply the patch

25  ~/.pyenv/versions/3.14.0/lib/python3.14/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│

24  ~/.pyenv/versions/3.14.0/lib/python3.14/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

23  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/cleo/application.py:457 in _run_command
     455│
     456│             if command_event.command_should_run():
   → 457│                 exit_code = command.run(io)
     458│             else:
     459│                 exit_code = ConsoleCommandEvent.RETURN_CODE_DISABLED

22  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/cleo/commands/base_command.py:117 in run
     115│         io.input.validate()
     116│
   → 117│         return self.execute(io) or 0
     118│
     119│     def merge_application_definition(self, merge_args: bool = True) -> None:

21  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/console/commands/installer_command.py:39 in execute
      37│     def execute(self, io: IO) -> int:
      38│         PoetryKeyring.preflight_check(io, self.poetry.config)
   →  39│         return super().execute(io)
      40│

20  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/cleo/commands/command.py:61 in execute
      59│
      60│         try:
   →  61│             return self.handle()
      62│         except KeyboardInterrupt:
      63│             return 1

19  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/console/commands/lock.py:44 in handle
      42│         self.installer.lock(update=self.option("regenerate"))
      43│
   →  44│         return self.installer.run()
      45│

18  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/installation/installer.py:103 in run
     101│             self.verbose(True)
     102│
   → 103│         return self._do_install()
     104│
     105│     def dry_run(self, dry_run: bool = True) -> Installer:

17  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/installation/installer.py:241 in _do_install
     239│                 source_root=self._env.path.joinpath("src")
     240│             ):
   → 241│                 solved_packages = solver.solve(
     242│                     use_latest=self._whitelist
     243│                 ).get_solved_packages()

16  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/puzzle/solver.py:87 in solve
      85│         with self._progress(), self._provider.use_latest_for(use_latest or []):
      86│             start = time.time()
   →  87│             packages = self._solve()
      88│             # simplify markers by removing redundant information
      89│             for transitive_info in packages.values():

15  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/puzzle/solver.py:170 in _solve
     168│
     169│         try:
   → 170│             result = resolve_version(self._package, self._provider)
     171│
     172│             packages = result.packages

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

13  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/mixology/version_solver.py:192 in solve
     190│             while next is not None:
     191│                 self._propagate(next)
   → 192│                 next = self._choose_package_version()
     193│
     194│             return self._result()

12  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/mixology/version_solver.py:599 in _choose_package_version
     597│             package = locked
     598│
   → 599│         package = self._provider.complete_package(package)
     600│
     601│         conflict = False

11  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/puzzle/provider.py:577 in complete_package
      575│                     if locked is not None and locked.package.is_same_package_as(dep):
      576│                         continue
   →  577│                     self.search_for_direct_origin_dependency(dep)
      578│
      579│         dependencies = self._get_dependencies_with_overrides(_dependencies, package)

10  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/puzzle/provider.py:245 in search_for_direct_origin_dependency
      243│         elif dependency.is_vcs():
      244│             dependency = cast("VCSDependency", dependency)
   →  245│             package = self._search_for_vcs(dependency)
      246│
      247│         elif dependency.is_file():

 9  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/puzzle/provider.py:320 in _search_for_vcs
      318│         and get the information we need by checking out the specified reference.
      319│         """
   →  320│         package = self._direct_origin.get_package_from_vcs(
      321│             dependency.vcs,
      322│             dependency.source,

 8  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/packages/direct_origin.py:116 in get_package_from_vcs
     114│             raise ValueError(f"Unsupported VCS dependency {vcs}")
     115│
   → 116│         return _get_package_from_git(
     117│             url=url,
     118│             branch=branch,

 7  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/packages/direct_origin.py:34 in _get_package_from_git
      32│     source_root: Path | None = None,
      33│ ) -> Package:
   →  34│     source = Git.clone(
      35│         url=url,
      36│         source_root=source_root,

 6  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/vcs/git/backend.py:540 in clone
     538│         try:
     539│             if not cls.is_using_legacy_client():
   → 540│                 local = cls._clone(url=url, refspec=refspec, target=target)
     541│                 cls._clone_submodules(repo=local)
     542│                 return local

 5  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/poetry/vcs/git/backend.py:388 in _clone
     386│         try:
     387│             with local:
   → 388│                 local.get_worktree().reset_index()
     389│         except (AssertionError, KeyError) as e:
     390│             # this implies the ref we need does not exist or is invalid

 4  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/dulwich/worktree.py:651 in reset_index
      649│
      650│         blob_normalizer = self._repo.get_blob_normalizer()
   →  651│         return build_index_from_tree(
      652│             self.path,
      653│             self._repo.index_path(),

 3  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/dulwich/index.py:1646 in build_index_from_tree
     1644│             # Apply blob normalization for checkout if normalizer is provided
     1645│             if blob_normalizer is not None:
   → 1646│                 obj = blob_normalizer.checkout_normalize(obj, entry.path)
     1647│             st = build_file_from_blob(
     1648│                 obj,

 2  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/dulwich/filters.py:890 in checkout_normalize
     888│
     889│         # Apply smudge filter
   → 890│         filtered_data = filter_driver.smudge(blob.data, path)
     891│         if filtered_data == blob.data:
     892│             return blob

 1  ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/dulwich/filters.py:318 in smudge
     316│         if self.process_cmd:
     317│             try:
   → 318│                 return self._use_process_filter(data, "smudge", path_str)
     319│             except FilterError as e:
     320│                 if self.required:

FilterError

Process filter failed: 'utf-8' codec can't decode byte 0xe5 in position 14: invalid continuation byte

at ~/.pyenv/versions/3.14.0/lib/python3.14/site-packages/dulwich/filters.py:275 in _use_process_filter
    271│
    272│             except (OSError, subprocess.SubprocessError, ValueError) as e:
    273│                 # Clean up broken process
    274│                 self.cleanup()
  → 275│                 raise FilterError(f"Process filter failed: {e}")
    276│
    277│     def clean(self, data: bytes) -> bytes:
    278│         """Apply clean filter using external process."""
    279│         # Try process filter first (much faster)

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working as expectedstatus/external-issueIssue is caused by external project (platform, dep, etc)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions