python-poetry / python-poetry/poetry

Poetry fails to install the correct version of a git dependency if there are cached artifacts of the same version (but different commit hashes)

Open
#9,075 14 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

area/installer area/vcs kind/bug status/triage
Dominant language
Python
Stars
34.3k
Forks
2.5k
Avg merge
2d 19h
Merged PRs (30d)
30

Description

Description

In our project, we depend on the source version of the tianshou library like so:

tianshou = { git = "https://github.com/thu-ml/tianshou.git", rev = "9b6cb6903eddb529437f949b76ffa87a9b9115e9" }

We update the commit hash sometimes, while the version that is stored in tianshou's pyproject.toml remains the same (it has been 0.5.1 for almost a year).

Now the issue that we encounter is that after the commit hash has been changed, on some machines, the new version of tianshou will not get installed when calling poetry install (after a lock update).
Poetry will report this

Installing tianshou (0.5.1 9b6cb69)

but will in fact install a different version that is also associated with 0.5.1 but has a different hash.
The exact conditions under which it will install an incorrect version are unknown. (It appears random to us.)

The issue only occurs on machines that had previously installed a different hash (but which is also 0.5.1).

The issue cannot be fixed by calling poetry with --no-cache, as this will not result in the tianshou repo being re-cloned! (Which I think is another, unrelated bug.)
The issue can be fixed by deleting all cached versions of tianshou from the poetry cache.

Workarounds

Delete all cached versions of the respective dependency from the poetry cache. On Ubuntu find all files starting with tianshou in ~/.cache/pypoetry and delete the containing folders.

Poetry Installation Method

pipx

Operating System

Ubuntu

Poetry Version

1.7.1

Poetry Configuration
cache-dir = "/home/azureuser/.cache/pypoetry"
experimental.system-git-client = false
installer.max-workers = null
installer.modern-installation = true
installer.no-binary = null
installer.parallel = true
repositories.pytorch-cuda.url = "https://download.pytorch.org/whl/cu118"
virtualenvs.create = true
virtualenvs.in-project = null
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.no-setuptools = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}/virtualenvs"  # /home/azureuser/.cache/pypoetry/virtualenvs
virtualenvs.prefer-active-python = false
virtualenvs.prompt = "{project_name}-py{python_version}"
warnings.export = true
Python Sysconfig
Platform: "linux-x86_64"
Python version: "3.11"
Current installation scheme: "posix_prefix"

Paths: 
	data = "/anaconda/envs/rl4sem"
	include = "/anaconda/envs/rl4sem/include/python3.11"
	platinclude = "/anaconda/envs/rl4sem/include/python3.11"
	platlib = "/anaconda/envs/rl4sem/lib/python3.11/site-packages"
	platstdlib = "/anaconda/envs/rl4sem/lib/python3.11"
	purelib = "/anaconda/envs/rl4sem/lib/python3.11/site-packages"
	scripts = "/anaconda/envs/rl4sem/bin"
	stdlib = "/anaconda/envs/rl4sem/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 = ""
	BASECPPFLAGS = "-IObjects -IInclude -IPython"
	BASEMODLIBS = ""
	BINDIR = "/anaconda/envs/rl4sem/bin"
	BINLIBDEST = "/anaconda/envs/rl4sem/lib/python3.11"
	BLDLIBRARY = "libpython3.11.a"
	BLDSHARED = "gcc -pthread -B /anaconda/envs/rl4sem/compiler_compat -shared  -Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib -Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib"
	BOOTSTRAP_HEADERS = "\"
	BUILDEXE = ""
	BUILDPYTHON = "python"
	BUILD_GNU_TYPE = "x86_64-conda_cos6-linux-gnu"
	BYTESTR_DEPS = "\"
	CC = "gcc -pthread -B /anaconda/envs/rl4sem/compiler_compat"
	CCSHARED = "-fPIC"
	CFLAGS = "-DNDEBUG -fwrapv -O2 -Wall   -fPIC   -O2 -isystem /anaconda/envs/rl4sem/include -fPIC -O2   -isystem /anaconda/envs/rl4sem/include "
	CFLAGSFORSHARED = ""
	CFLAGS_ALIASING = ""
	CONFIGFILES = "configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
	CONFIGURE_CFLAGS = "-fPIC -O2 -isystem /anaconda/envs/rl4sem/include "
	CONFIGURE_CFLAGS_NODIST = "-fno-semantic-interposition  -g -std=c11 -Werror=implicit-function-declaration -fvisibility=hidden"
	CONFIGURE_CPPFLAGS = "-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include"
	CONFIGURE_LDFLAGS = "-Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib"
	CONFIGURE_LDFLAGS_NODIST = "-fno-semantic-interposition  -g"
	CONFIGURE_LDFLAGS_NOLTO = "-fno-lto"
	CONFIG_ARGS = "'--prefix=/anaconda/envs/rl4sem''--build=x86_64-conda_cos6-linux-gnu''--host=x86_64-conda_cos6-linux-gnu''--enable-ipv6''--with-ensurepip=no''--with-tzpath=/anaconda/envs/rl4sem/share/zoneinfo:/anaconda/envs/rl4sem/share/tzinfo''--with-computed-gotos''--with-system-ffi''--enable-loadable-sqlite-extensions''--with-tcltk-includes=-I/anaconda/envs/rl4sem/include''--with-tcltk-libs=-L/anaconda/envs/rl4sem/lib -ltcl8.6 -ltk8.6''--with-platlibdir=lib''--with-lto''--enable-optimizations''-oldincludedir=/croot/python-split_1694437901252/_build_env/x86_64-conda_cos6-linux-gnu/sysroot/usr/include''--disable-shared''PROFILE_TASK=-m test --pgo''build_alias=x86_64-conda_cos6-linux-gnu''host_alias=x86_64-conda_cos6-linux-gnu''PKG_CONFIG_PATH=/anaconda/envs/rl4sem/lib/pkgconfig''MACHDEP=linux''CC=gcc''CFLAGS=   -fPIC -O2  -isystem /anaconda/envs/rl4sem/include ''LDFLAGS=   -Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib''CPPFLAGS=-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include''CPP=/croot/python-split_1694437901252/_build_env/bin/cpp'"
	CONFINCLUDEDIR = "/anaconda/envs/rl4sem/include"
	CONFINCLUDEPY = "/anaconda/envs/rl4sem/include/python3.11"
	COREPYTHONPATH = ""
	COVERAGE_INFO = "/croot/python-split_1694437901252/work/build-static/coverage.info"
	COVERAGE_LCOV_OPTIONS = "--rc lcov_branch_coverage=1"
	COVERAGE_REPORT = "/croot/python-split_1694437901252/work/build-static/lcov-report"
	COVERAGE_REPORT_OPTIONS = "--rc lcov_branch_coverage=1 --branch-coverage --title "CPython 3.11 LCOV report [commit $(shell )]""
	CPPFLAGS = "-IObjects -IInclude -IPython -I. -I/croot/python-split_1694437901252/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include"
	CXX = "g++ -pthread -B /anaconda/envs/rl4sem/compiler_compat"
	DECIMAL_CFLAGS = "-I/croot/python-split_1694437901252/work/Modules/_decimal/libmpdec -DCONFIG_64=1 -DANSI=1 -DHAVE_UINT128_T=1"
	DECIMAL_LDFLAGS = "-lm Modules/_decimal/libmpdec/libmpdec.a"
	DEEPFREEZE_DEPS = "/croot/python-split_1694437901252/work/Tools/scripts/deepfreeze.py _bootstrap_python /croot/python-split_1694437901252/work/Programs/_freeze_module.py \"
	DEEPFREEZE_OBJS = "Python/deepfreeze/deepfreeze.o"
	DESTDIRS = "/anaconda/envs/rl4sem /anaconda/envs/rl4sem/lib /anaconda/envs/rl4sem/lib/python3.11 /anaconda/envs/rl4sem/lib/python3.11/lib-dynload"
	DESTLIB = "/anaconda/envs/rl4sem/lib/python3.11"
	DESTPATH = ""
	DESTSHARED = "/anaconda/envs/rl4sem/lib/python3.11/lib-dynload"
	DFLAGS = ""
	DIRMODE = "755"
	DIST = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in Include Lib Misc Ext-dummy"
	DISTDIRS = "Include Lib Misc Ext-dummy"
	DISTFILES = "README.rst ChangeLog configure configure.ac acconfig.h pyconfig.h.in Makefile.pre.in"
	DLINCLDIR = "."
	DLLLIBRARY = ""
	DOUBLE_IS_ARM_MIXED_ENDIAN_IEEE754 = "0"
	DOUBLE_IS_BIG_ENDIAN_IEEE754 = "0"
	DOUBLE_IS_LITTLE_ENDIAN_IEEE754 = "1"
	DTRACE = ""
	DTRACE_DEPS = "\"
	DTRACE_HEADERS = ""
	DTRACE_OBJS = ""
	DYNLOADFILE = "dynload_shlib.o"
	ENABLE_IPV6 = "1"
	ENSUREPIP = "no"
	EXE = ""
	EXEMODE = "755"
	EXPAT_CFLAGS = "-I/croot/python-split_1694437901252/work/Modules/expat"
	EXPAT_LDFLAGS = "-lm Modules/expat/libexpat.a"
	EXPORTSFROM = ""
	EXPORTSYMS = ""
	EXTRATESTOPTS = ""
	EXT_SUFFIX = ".cpython-311-x86_64-linux-gnu.so"
	FILEMODE = "644"
	FLOAT_WORDS_BIGENDIAN = "0"
	FREEZE_MODULE = "./_bootstrap_python /croot/python-split_1694437901252/work/Programs/_freeze_module.py"
	FREEZE_MODULE_BOOTSTRAP = "./Programs/_freeze_module"
	FREEZE_MODULE_BOOTSTRAP_DEPS = "Programs/_freeze_module"
	FREEZE_MODULE_DEPS = "_bootstrap_python /croot/python-split_1694437901252/work/Programs/_freeze_module.py"
	FROZEN_FILES_IN = "\"
	FROZEN_FILES_OUT = "\"
	GETPGRP_HAVE_ARG = "0"
	GITBRANCH = ""
	GITTAG = ""
	GITVERSION = ""
	GNULD = "no"
	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_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 = "0"
	HAVE_BROKEN_UNSETENV = "0"
	HAVE_BUILTIN_ATOMIC = "1"
	HAVE_BZLIB_H = "1"
	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_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 = "1"
	HAVE_CRYPT_R = "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_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 = "1"
	HAVE_DYLD_SHARED_CACHE_CONTAINS_PATH = "0"
	HAVE_DYNAMIC_LOADING = "1"
	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_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 = "1"
	HAVE_FDOPENDIR = "1"
	HAVE_FDWALK = "0"
	HAVE_FEXECVE = "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 = "0"
	HAVE_GDBM_NDBM_H = "0"
	HAVE_GETADDRINFO = "1"
	HAVE_GETC_UNLOCKED = "1"
	HAVE_GETEGID = "1"
	HAVE_GETENTROPY = "0"
	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 = "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_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 = "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_GRP_H = "1"
	HAVE_HSTRERROR = "1"
	HAVE_HTOLE64 = "1"
	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 = "0"
	HAVE_LANGINFO_H = "1"
	HAVE_LARGEFILE_SUPPORT = "0"
	HAVE_LCHFLAGS = "0"
	HAVE_LCHMOD = "0"
	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 = "1"
	HAVE_LINUX_CAN_BCM_H = "1"
	HAVE_LINUX_CAN_H = "1"
	HAVE_LINUX_CAN_J1939_H = "0"
	HAVE_LINUX_CAN_RAW_FD_FRAMES = "1"
	HAVE_LINUX_CAN_RAW_H = "1"
	HAVE_LINUX_CAN_RAW_JOIN_FILTERS = "1"
	HAVE_LINUX_LIMITS_H = "1"
	HAVE_LINUX_MEMFD_H = "1"
	HAVE_LINUX_NETLINK_H = "1"
	HAVE_LINUX_QRTR_H = "0"
	HAVE_LINUX_RANDOM_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_MBRTOWC = "1"
	HAVE_MEMFD_CREATE = "0"
	HAVE_MEMORY_H = "1"
	HAVE_MEMRCHR = "1"
	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_H = "1"
	HAVE_NDBM_H = "0"
	HAVE_NDIR_H = "0"
	HAVE_NETCAN_CAN_H = "0"
	HAVE_NETDB_H = "1"
	HAVE_NETINET_IN_H = "1"
	HAVE_NETPACKET_PACKET_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_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_SPAWN = "1"
	HAVE_POSIX_SPAWNP = "1"
	HAVE_PREAD = "1"
	HAVE_PREADV = "1"
	HAVE_PREADV2 = "0"
	HAVE_PRLIMIT = "1"
	HAVE_PROCESS_H = "0"
	HAVE_PROTOTYPES = "1"
	HAVE_PTHREAD_CONDATTR_SETCLOCK = "1"
	HAVE_PTHREAD_DESTRUCTOR = "0"
	HAVE_PTHREAD_GETCPUCLOCKID = "1"
	HAVE_PTHREAD_H = "1"
	HAVE_PTHREAD_INIT = "0"
	HAVE_PTHREAD_KILL = "1"
	HAVE_PTHREAD_SIGMASK = "1"
	HAVE_PTHREAD_STUBS = "0"
	HAVE_PTY_H = "1"
	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_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 = "1"
	HAVE_SCHED_SETAFFINITY = "1"
	HAVE_SCHED_SETPARAM = "1"
	HAVE_SCHED_SETSCHEDULER = "1"
	HAVE_SEM_CLOCKWAIT = "0"
	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_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_SPAWN_H = "1"
	HAVE_SPLICE = "1"
	HAVE_SSIZE_T = "1"
	HAVE_STATVFS = "1"
	HAVE_STAT_TV_NSEC = "1"
	HAVE_STAT_TV_NSEC2 = "0"
	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 = "0"
	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_POLL_H = "1"
	HAVE_SYS_RANDOM_H = "0"
	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_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 = "1"
	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 = "0"
	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 = "1"
	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_ZLIB_COPY = "1"
	HAVE_ZLIB_H = "0"
	HAVE__GETPTY = "0"
	HOSTRUNNER = ""
	HOST_GNU_TYPE = "x86_64-conda_cos6-linux-gnu"
	INCLDIRSTOMAKE = "/anaconda/envs/rl4sem/include /anaconda/envs/rl4sem/include /anaconda/envs/rl4sem/include/python3.11 /anaconda/envs/rl4sem/include/python3.11"
	INCLUDEDIR = "/anaconda/envs/rl4sem/include"
	INCLUDEPY = "/anaconda/envs/rl4sem/include/python3.11"
	INSTALL = "/usr/bin/install -c"
	INSTALL_DATA = "/usr/bin/install -c -m 644"
	INSTALL_PROGRAM = "/usr/bin/install -c"
	INSTALL_SCRIPT = "/usr/bin/install -c"
	INSTALL_SHARED = "/usr/bin/install -c -m 755"
	INSTSONAME = "libpython3.11.a"
	IO_H = "Modules/_io/_iomodule.h"
	IO_OBJS = "\"
	LDCXXSHARED = "g++ -pthread -B /anaconda/envs/rl4sem/compiler_compat -shared"
	LDFLAGS = "-Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib -Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib"
	LDLIBRARY = "libpython3.11.a"
	LDLIBRARYDIR = ""
	LDSHARED = "gcc -pthread -B /anaconda/envs/rl4sem/compiler_compat -shared  -Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib -Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib"
	LDVERSION = "3.11"
	LIBC = ""
	LIBDEST = "/anaconda/envs/rl4sem/lib/python3.11"
	LIBDIR = "/anaconda/envs/rl4sem/lib"
	LIBEXPAT_A = "Modules/expat/libexpat.a"
	LIBEXPAT_CFLAGS = "-I/croot/python-split_1694437901252/work/Modules/expat -DNDEBUG -fwrapv -O2 -Wall   -fPIC   -O2   -isystem /anaconda/envs/rl4sem/include -fPIC   -O2   -isystem /anaconda/envs/rl4sem/include -fno-semantic-interposition -g -std=c11 -Werror=implicit-function-declaration -fvisibility=hidden -I/croot/python-split_1694437901252/work/Include/internal -IObjects -IInclude -IPython -I. -I/croot/python-split_1694437901252/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include -fPIC"
	LIBEXPAT_HEADERS = "\"
	LIBEXPAT_OBJS = "\"
	LIBFFI_INCLUDEDIR = "/anaconda/envs/rl4sem/include"
	LIBM = "-lm"
	LIBMPDEC_A = "Modules/_decimal/libmpdec/libmpdec.a"
	LIBMPDEC_CFLAGS = "-I/croot/python-split_1694437901252/work/Modules/_decimal/libmpdec -DCONFIG_64=1 -DANSI=1 -DHAVE_UINT128_T=1 -DNDEBUG -fwrapv -O2 -Wall   -fPIC   -O2   -isystem /anaconda/envs/rl4sem/include -fPIC   -O2   -isystem /anaconda/envs/rl4sem/include -fno-semantic-interposition -g -std=c11 -Werror=implicit-function-declaration -fvisibility=hidden -I/croot/python-split_1694437901252/work/Include/internal -IObjects -IInclude -IPython -I. -I/croot/python-split_1694437901252/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include -fPIC"
	LIBMPDEC_HEADERS = "\"
	LIBMPDEC_OBJS = "\"
	LIBOBJDIR = "Python/"
	LIBOBJS = ""
	LIBPC = "/anaconda/envs/rl4sem/lib/pkgconfig"
	LIBPL = "/anaconda/envs/rl4sem/lib/python3.11/config-3.11-x86_64-linux-gnu"
	LIBPYTHON = ""
	LIBRARY = "libpython3.11.a"
	LIBRARY_DEPS = "libpython3.11.a"
	LIBRARY_OBJS = "\"
	LIBRARY_OBJS_OMIT_FROZEN = "\"
	LIBS = "-lpthread -ldl  -lutil"
	LIBSUBDIRS = "asyncio \"
	LINKCC = "gcc -pthread -B /anaconda/envs/rl4sem/compiler_compat"
	LINKFORSHARED = "-Xlinker -export-dynamic"
	LINK_PYTHON_DEPS = "libpython3.11.a"
	LINK_PYTHON_OBJS = "\"
	LIPO_32BIT_FLAGS = ""
	LIPO_INTEL64_FLAGS = ""
	LLVM_PROF_ERR = "no"
	LLVM_PROF_FILE = ""
	LLVM_PROF_MERGER = "true"
	LN = "ln"
	LOCALMODLIBS = ""
	MACHDEP = "linux"
	MACHDEP_OBJS = ""
	MACHDESTLIB = "/anaconda/envs/rl4sem/lib/python3.11"
	MACOSX_DEPLOYMENT_TARGET = ""
	MAINCC = "gcc -pthread -B /anaconda/envs/rl4sem/compiler_compat"
	MAJOR_IN_MKDEV = "0"
	MAJOR_IN_SYSMACROS = "0"
	MAKESETUP = "/croot/python-split_1694437901252/work/Modules/makesetup"
	MANDIR = "/anaconda/envs/rl4sem/share/man"
	MKDIR_P = "/usr/bin/mkdir -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 = "-lm"
	MODULE_AUDIOOP_STATE = "yes"
	MODULE_BINASCII_CFLAGS = "-DUSE_ZLIB_CRC32 -I/anaconda/envs/rl4sem/include"
	MODULE_BINASCII_LDFLAGS = "-L/anaconda/envs/rl4sem/lib -lz"
	MODULE_BINASCII_STATE = "yes"
	MODULE_CMATH_DEPS = "/croot/python-split_1694437901252/work/Modules/_math.h"
	MODULE_CMATH_LDFLAGS = "-lm"
	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 = "/croot/python-split_1694437901252/work/Modules/_math.h"
	MODULE_MATH_LDFLAGS = "-lm"
	MODULE_MATH_STATE = "yes"
	MODULE_MMAP_STATE = "yes"
	MODULE_NIS_CFLAGS = ""
	MODULE_NIS_LDFLAGS = "-lnsl"
	MODULE_NIS_STATE = "yes"
	MODULE_OBJS = "\"
	MODULE_OSSAUDIODEV_LDFLAGS = ""
	MODULE_OSSAUDIODEV_STATE = "yes"
	MODULE_POSIX_LDFLAGS = ""
	MODULE_PWD_LDFLAGS = ""
	MODULE_PWD_STATE = "yes"
	MODULE_PYEXPAT_CFLAGS = "-I/croot/python-split_1694437901252/work/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 = "yes"
	MODULE_SYSLOG_STATE = "yes"
	MODULE_TERMIOS_STATE = "yes"
	MODULE_TIME_LDFLAGS = ""
	MODULE_TIME_STATE = "yes"
	MODULE_UNICODEDATA_DEPS = "/croot/python-split_1694437901252/work/Modules/unicodedata_db.h /croot/python-split_1694437901252/work/Modules/unicodename_db.h"
	MODULE_UNICODEDATA_STATE = "yes"
	MODULE_XXLIMITED_35_STATE = "yes"
	MODULE_XXLIMITED_STATE = "yes"
	MODULE_XXSUBTYPE_LDFLAGS = ""
	MODULE_ZLIB_CFLAGS = "-I/anaconda/envs/rl4sem/include"
	MODULE_ZLIB_LDFLAGS = "-L/anaconda/envs/rl4sem/lib -lz"
	MODULE_ZLIB_STATE = "yes"
	MODULE__ABC_LDFLAGS = ""
	MODULE__ASYNCIO_STATE = "yes"
	MODULE__BISECT_STATE = "yes"
	MODULE__BLAKE2_CFLAGS = ""
	MODULE__BLAKE2_DEPS = "/croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2-config.h /croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2-impl.h /croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2.h /croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2b-load-sse2.h /croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2b-load-sse41.h /croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2b-ref.c /croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2b-round.h /croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2b.c /croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2s-load-sse2.h /croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2s-load-sse41.h /croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2s-load-xop.h /croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2s-ref.c /croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2s-round.h /croot/python-split_1694437901252/work/Modules/_blake2/impl/blake2s.c /croot/python-split_1694437901252/work/Modules/_blake2/blake2module.h /croot/python-split_1694437901252/work/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 = "-lcrypt"
	MODULE__CRYPT_STATE = "yes"
	MODULE__CSV_STATE = "yes"
	MODULE__CTYPES_DEPS = "/croot/python-split_1694437901252/work/Modules/_ctypes/ctypes.h"
	MODULE__CTYPES_TEST_LDFLAGS = "-lm"
	MODULE__CTYPES_TEST_STATE = "yes"
	MODULE__DATETIME_LDFLAGS = "-lm"
	MODULE__DATETIME_STATE = "yes"
	MODULE__DECIMAL_CFLAGS = "-I/croot/python-split_1694437901252/work/Modules/_decimal/libmpdec -DCONFIG_64=1 -DANSI=1 -DHAVE_UINT128_T=1"
	MODULE__DECIMAL_DEPS = "/croot/python-split_1694437901252/work/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/croot/python-split_1694437901252/work/Modules/expat"
	MODULE__ELEMENTTREE_DEPS = "/croot/python-split_1694437901252/work/Modules/pyexpat.c \ Modules/expat/libexpat.a"
	MODULE__ELEMENTTREE_STATE = "yes"
	MODULE__FUNCTOOLS_LDFLAGS = ""
	MODULE__GDBM_STATE = "missing"
	MODULE__HASHLIB_CFLAGS = "-I/anaconda/envs/rl4sem/include"
	MODULE__HASHLIB_DEPS = "/croot/python-split_1694437901252/work/Modules/hashlib.h"
	MODULE__HASHLIB_LDFLAGS = "-L/anaconda/envs/rl4sem/lib   -lcrypto"
	MODULE__HASHLIB_STATE = "yes"
	MODULE__HEAPQ_STATE = "yes"
	MODULE__IO_CFLAGS = "-I/croot/python-split_1694437901252/work/Modules/_io"
	MODULE__IO_DEPS = "/croot/python-split_1694437901252/work/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/anaconda/envs/rl4sem/include"
	MODULE__LZMA_LDFLAGS = "-L/anaconda/envs/rl4sem/lib -llzma"
	MODULE__LZMA_STATE = "yes"
	MODULE__MD5_DEPS = "/croot/python-split_1694437901252/work/Modules/hashlib.h"
	MODULE__MD5_STATE = "yes"
	MODULE__MULTIBYTECODEC_STATE = "yes"
	MODULE__MULTIPROCESSING_CFLAGS = "-I/croot/python-split_1694437901252/work/Modules/_multiprocessing"
	MODULE__MULTIPROCESSING_STATE = "yes"
	MODULE__OPCODE_STATE = "yes"
	MODULE__OPERATOR_LDFLAGS = ""
	MODULE__PICKLE_STATE = "yes"
	MODULE__POSIXSHMEM_CFLAGS = "-I/croot/python-split_1694437901252/work/Modules/_multiprocessing"
	MODULE__POSIXSHMEM_LDFLAGS = "-lrt"
	MODULE__POSIXSHMEM_STATE = "yes"
	MODULE__POSIXSUBPROCESS_STATE = "yes"
	MODULE__QUEUE_STATE = "yes"
	MODULE__RANDOM_STATE = "yes"
	MODULE__SCPROXY_STATE = "n/a"
	MODULE__SHA1_DEPS = "/croot/python-split_1694437901252/work/Modules/hashlib.h"
	MODULE__SHA1_STATE = "yes"
	MODULE__SHA256_DEPS = "/croot/python-split_1694437901252/work/Modules/hashlib.h"
	MODULE__SHA256_STATE = "yes"
	MODULE__SHA3_DEPS = "/croot/python-split_1694437901252/work/Modules/_sha3/sha3.c /croot/python-split_1694437901252/work/Modules/_sha3/sha3.h /croot/python-split_1694437901252/work/Modules/hashlib.h"
	MODULE__SHA3_STATE = "yes"
	MODULE__SHA512_DEPS = "/croot/python-split_1694437901252/work/Modules/hashlib.h"
	MODULE__SHA512_STATE = "yes"
	MODULE__SIGNAL_LDFLAGS = ""
	MODULE__SOCKET_DEPS = "/croot/python-split_1694437901252/work/Modules/socketmodule.h /croot/python-split_1694437901252/work/Modules/addrinfo.h /croot/python-split_1694437901252/work/Modules/getaddrinfo.c /croot/python-split_1694437901252/work/Modules/getnameinfo.c"
	MODULE__SOCKET_STATE = "yes"
	MODULE__SQLITE3_CFLAGS = "-I/anaconda/envs/rl4sem/include -I/croot/python-split_1694437901252/work/Modules/_sqlite"
	MODULE__SQLITE3_DEPS = "/croot/python-split_1694437901252/work/Modules/_sqlite/connection.h /croot/python-split_1694437901252/work/Modules/_sqlite/cursor.h /croot/python-split_1694437901252/work/Modules/_sqlite/microprotocols.h /croot/python-split_1694437901252/work/Modules/_sqlite/module.h /croot/python-split_1694437901252/work/Modules/_sqlite/prepare_protocol.h /croot/python-split_1694437901252/work/Modules/_sqlite/row.h /croot/python-split_1694437901252/work/Modules/_sqlite/util.h"
	MODULE__SQLITE3_LDFLAGS = "-L/anaconda/envs/rl4sem/lib -lsqlite3"
	MODULE__SQLITE3_STATE = "yes"
	MODULE__SRE_LDFLAGS = ""
	MODULE__SSL_CFLAGS = "-I/anaconda/envs/rl4sem/include"
	MODULE__SSL_DEPS = "/croot/python-split_1694437901252/work/Modules/_ssl.h /croot/python-split_1694437901252/work/Modules/_ssl/cert.c /croot/python-split_1694437901252/work/Modules/_ssl/debughelpers.c /croot/python-split_1694437901252/work/Modules/_ssl/misc.c /croot/python-split_1694437901252/work/Modules/_ssl_data.h /croot/python-split_1694437901252/work/Modules/_ssl_data_111.h /croot/python-split_1694437901252/work/Modules/_ssl_data_300.h /croot/python-split_1694437901252/work/Modules/socketmodule.h"
	MODULE__SSL_LDFLAGS = "-L/anaconda/envs/rl4sem/lib  -lssl -lcrypto"
	MODULE__SSL_STATE = "yes"
	MODULE__STATISTICS_LDFLAGS = "-lm"
	MODULE__STATISTICS_STATE = "yes"
	MODULE__STAT_LDFLAGS = ""
	MODULE__STRUCT_STATE = "yes"
	MODULE__SYMTABLE_LDFLAGS = ""
	MODULE__TESTBUFFER_STATE = "yes"
	MODULE__TESTCAPI_DEPS = "/croot/python-split_1694437901252/work/Modules/testcapi_long.h"
	MODULE__TESTCAPI_STATE = "yes"
	MODULE__TESTCLINIC_STATE = "yes"
	MODULE__TESTIMPORTMULTIPLE_STATE = "yes"
	MODULE__TESTINTERNALCAPI_STATE = "yes"
	MODULE__TESTMULTIPHASE_STATE = "yes"
	MODULE__THREAD_LDFLAGS = ""
	MODULE__TKINTER_CFLAGS = "-I/anaconda/envs/rl4sem/include -Wno-strict-prototypes -DWITH_APPINIT=1"
	MODULE__TKINTER_LDFLAGS = "-L/anaconda/envs/rl4sem/lib -ltk8.6 -ltkstub8.6 -ltcl8.6 -ltclstub8.6"
	MODULE__TKINTER_STATE = "yes"
	MODULE__TRACEMALLOC_LDFLAGS = ""
	MODULE__TYPING_STATE = "yes"
	MODULE__UUID_CFLAGS = "-I/anaconda/envs/rl4sem/include/uuid"
	MODULE__UUID_LDFLAGS = "-L/anaconda/envs/rl4sem/lib -luuid"
	MODULE__UUID_STATE = "yes"
	MODULE__WEAKREF_LDFLAGS = ""
	MODULE__XXSUBINTERPRETERS_STATE = "yes"
	MODULE__XXTESTFUZZ_STATE = "yes"
	MODULE__ZONEINFO_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 = "\"
	OPENSSL_INCLUDES = "-I/anaconda/envs/rl4sem/include"
	OPENSSL_LDFLAGS = "-L/anaconda/envs/rl4sem/lib"
	OPENSSL_LIBS = "-lssl -lcrypto"
	OPENSSL_RPATH = ""
	OPT = "-DNDEBUG -fwrapv -O2 -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-generate"
	PGO_PROF_USE_FLAG = ""
	PLATLIBDIR = "lib"
	POBJS = "\"
	POSIX_SEMAPHORES_NOT_ENABLED = "0"
	PROFILE_TASK = "-m test --pgo"
	PTHREAD_KEY_T_IS_COMPATIBLE_WITH_INT = "1"
	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 -E"
	PYTHON_FOR_BUILD_DEPS = "python"
	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 = "-DNDEBUG -fwrapv -O2 -Wall  -fPIC -O2 -isystem /anaconda/envs/rl4sem/include -fPIC -O2 -isystem /anaconda/envs/rl4sem/include -fno-semantic-interposition  -g -std=c11 -Werror=implicit-function-declaration -fvisibility=hidden  -I/croot/python-split_1694437901252/work/Include/internal -IObjects -IInclude -IPython -I. -I/croot/python-split_1694437901252/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include -DPy_BUILD_CORE_BUILTIN"
	PY_CFLAGS = "-DNDEBUG -fwrapv -O2 -Wall   -fPIC   -O2 -isystem /anaconda/envs/rl4sem/include -fPIC -O2   -isystem /anaconda/envs/rl4sem/include "
	PY_CFLAGS_NODIST = "-fno-semantic-interposition   -g -std=c11 -Werror=implicit-function-declaration -fvisibility=hidden   -I/croot/python-split_1694437901252/work/Include/internal"
	PY_COERCE_C_LOCALE = "1"
	PY_CORE_CFLAGS = "-DNDEBUG -fwrapv -O2 -Wall   -fPIC   -O2   -isystem /anaconda/envs/rl4sem/include -fPIC -O2  -isystem /anaconda/envs/rl4sem/include -fno-semantic-interposition  -g -std=c11 -Werror=implicit-function-declaration -fvisibility=hidden   -I/croot/python-split_1694437901252/work/Include/internal -IObjects -IInclude -IPython -I. -I/croot/python-split_1694437901252/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include -DPy_BUILD_CORE"
	PY_CORE_LDFLAGS = "-Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib -Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib -fno-semantic-interposition   -g"
	PY_CPPFLAGS = "-IObjects -IInclude -IPython -I. -I/croot/python-split_1694437901252/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include"
	PY_ENABLE_SHARED = "0"
	PY_FORMAT_SIZE_T = ""z""
	PY_LDFLAGS = "-Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib -Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib"
	PY_LDFLAGS_NODIST = "-fno-semantic-interposition   -g"
	PY_LDFLAGS_NOLTO = "-Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib -Wl,-rpath,/anaconda/envs/rl4sem/lib -Wl,-rpath-link,/anaconda/envs/rl4sem/lib -L/anaconda/envs/rl4sem/lib -fno-lto"
	PY_SQLITE_ENABLE_LOAD_EXTENSION = "1"
	PY_SQLITE_HAVE_SERIALIZE = "1"
	PY_SSL_DEFAULT_CIPHERS = "1"
	PY_SSL_DEFAULT_CIPHER_STRING = "0"
	PY_STDMODULE_CFLAGS = "-DNDEBUG -fwrapv -O2 -Wall  -fPIC -O2 -isystem /anaconda/envs/rl4sem/include -fPIC -O2 -isystem /anaconda/envs/rl4sem/include -fno-semantic-interposition   -g -std=c11 -Werror=implicit-function-declaration -fvisibility=hidden  -I/croot/python-split_1694437901252/work/Include/internal -IObjects -IInclude -IPython -I. -I/croot/python-split_1694437901252/work/Include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /anaconda/envs/rl4sem/include -I/anaconda/envs/rl4sem/include"
	PY_SUPPORT_TIER = "1"
	Py_DEBUG = "0"
	Py_ENABLE_SHARED = "0"
	Py_HASH_ALGORITHM = "0"
	Py_STATS = "0"
	Py_TRACE_REFS = "0"
	QUICKTESTOPTS = "-x test_subprocess test_io test_lib2to3 \"
	READELF = "readelf"
	RESSRCDIR = "Mac/Resources/framework"
	RETSIGTYPE = "void"
	RUNSHARED = ""
	SCRIPTDIR = "/anaconda/envs/rl4sem/lib"
	SETPGRP_HAVE_ARG = "0"
	SHELL = "/bin/sh"
	SHLIBS = "-lpthread -ldl  -lutil"
	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-311-x86_64-linux-gnu"
	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 = "/croot/python-split_1694437901252/work/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 = "./python -E"
	TESTPYTHONOPTS = ""
	TESTRUNNER = "./python -E /croot/python-split_1694437901252/work/Tools/scripts/run_tests.py"
	TESTSUBDIRS = "ctypes/test \"
	TESTTIMEOUT = "1200"
	TEST_MODULES = "yes"
	THREAD_STACK_SIZE = "0"
	TIMEMODULE_LIB = "0"
	TIME_WITH_SYS_TIME = "1"
	TM_IN_SYS_TIME = "0"
	TZPATH = "/anaconda/envs/rl4sem/share/zoneinfo:/anaconda/envs/rl4sem/share/tzinfo"
	UNICODE_DEPS = "\"
	UNIVERSALSDK = ""
	UPDATE_FILE = "/croot/python-split_1694437901252/work/Tools/scripts/update_file.py"
	USE_COMPUTED_GOTOS = "1"
	VERSION = "3.11"
	VPATH = "/croot/python-split_1694437901252/work"
	WASM_ASSETS_DIR = "./anaconda/envs/rl4sem"
	WASM_STDLIB = "./anaconda/envs/rl4sem/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 = "0"
	WITH_EDITLINE = "0"
	WITH_FREELISTS = "1"
	WITH_LIBINTL = "0"
	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 = "/croot/python-split_1694437901252/work/build-static"
	abs_srcdir = "/croot/python-split_1694437901252/work"
	base = "/anaconda/envs/rl4sem"
	datarootdir = "/anaconda/envs/rl4sem/share"
	exec_prefix = "/anaconda/envs/rl4sem"
	installed_base = "/anaconda/envs/rl4sem"
	installed_platbase = "/anaconda/envs/rl4sem"
	platbase = "/anaconda/envs/rl4sem"
	platlibdir = "lib"
	prefix = "/anaconda/envs/rl4sem"
	projectbase = "/anaconda/envs/rl4sem/bin"
	py_version = "3.11.5"
	py_version_nodot = "311"
	py_version_nodot_plat = ""
	py_version_short = "3.11"
	srcdir = "/anaconda/envs/rl4sem/lib/python3.11/config-3.11-x86_64-linux-gnu"
	userbase = "/home/azureuser/.local"
Example pyproject.toml
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "sem_env"
description = "Reinforcement Learning for SEM"
authors = ["appliedAI"]
version = "0.1.0"
exclude = ["test/*", "docs/*"]
packages = [{ include = "*", from = "src" }]

[tool.poetry.dependencies]
# main dependencies
python = ">=3.11,<3.12"
accsr = "^0.4.6"
celluloid = "0.2.0"
cloudpickle = "^3.0.0"
dataclasses_json = "0.5.7"
datapane = "*"
grpcio = "^1.39.0"
gymnasium = "0.28.1"
imageio = "^2.9.0"
isort = "^5.12.0"
joblib = "^1.0"
kaleido = "0.2.1"
libsvm = "3.23.0.4"
matplotlib = "^3.4.2"
mpld3 = "^0.5.10"
numpy = "*"
opencv-python = "4.8.0.76"
opencv-python-headless = "4.8.0.76"
overrides = "^7.4.0"
pandas = "*"
piq = "^0.8.0"
plotly = "^5.3.1"
prometheus-client = "0.13.1"
py-cpuinfo = "8.0.0"
pydantic = "^2.5.1"
scikit-image = "^0.22.0"
scikit-learn = "1.3.2"
seaborn = "0.13.0"
streamlit = "^1.28.2"
tifffile = "^2023.9.26"
tqdm = ">=4.66.1"
wrapt = "^1.13.3"

[[tool.poetry.source]]
name = "pytorch-cuda"
url = "https://download.pytorch.org/whl/cu118"
priority = "supplemental"

[tool.poetry.group.octave]
optional = true
[tool.poetry.group.octave.dependencies]
oct2py = "5.2.0"

[tool.poetry.group.simulation]
# Not actually optional, but we want to install layer by layer in the docker image
optional = true
[tool.poetry.group.simulation.dependencies]
celluloid = "0.2.0"
cryptography = "^3.4.8"
imageio = "*"
lmdb = "^1.4.1"
matplotlib = "^3.4.2"
numpy = "^1.24.4, <1.25"
opencv-python = "4.8.0.76"
opencv-python-headless = "4.8.0.76"
pandas = "*"
py-cpuinfo = "8.0.0"
pydantic = "^2.5.1"
tifffile = "^2023.9.26"
wrapt = "^1.16.0"

[tool.poetry.group.train]
# Not actually optional, but we want to install layer by layer in the docker image
optional = true
[tool.poetry.group.train.dependencies]
click = "^8.0.3"
cryptography = "^3.4.8"
gitpython = "*"
ipywidgets = "^7.6.5"
jsonargparse = "4.19.0"
numpy = "<1.25"
shortuuid = "^1.0.8"
tensorboard = "^2.6.0"
tensorboardX = "^2.1"
termcolor = "^1.1.0"

[tool.poetry.group.iqm]
# Not actually optional, but we want to install layer by layer in the docker image
optional = true
[tool.poetry.group.iqm.dependencies]
scikit-learn-intelex = "2023.2.1"
scipy = "^1.11.2"
xgboost = "*"

[tool.poetry.group.dev]
optional = true
[tool.poetry.group.dev.dependencies]
black = { version = "^23.7.0", extras = ["jupyter"] }
ipython = "*"
ipywidgets = "^7.6.5"
jupyter = "1.0.0"
mypy = "^1.4.1"
nbconvert = "^6.5.0"
nbsphinx = "*"
nbstripout = "^0.6.1"
notebook = "<7"
poethepoet = "^0.20.0"
pre-commit = "^3.3.3"
pytest = "^7.4.3"
pytest-cov = "*"
pytest-lazy-fixture = "*"
pytest-xdist = "^3.5.0"
ruff = "^0.0.285"
sphinx = "<7"
sphinx_rtd_theme = "*"
sphinxcontrib-bibtex = "*"
sphinxcontrib-spelling = "^8.0.0"

[tool.poetry.group.ui]
optional = true
[tool.poetry.group.ui.dependencies]
dataclasses-json = "^0.5.7"
streamlit = "^1.12.0"

[tool.poetry.group.ray]
optional = true
[tool.poetry.group.ray.dependencies]
ray = { version="2.7.1", extras=["tune", "rllib"] }

[tool.poetry.group.rltrain]
optional = true
[tool.poetry.group.rltrain.dependencies]
stable-baselines3 = {version = "2.2.1", extras = ["extra"]}
tianshou = { git = "https://github.com/thu-ml/tianshou.git", rev = "9b6cb6903eddb529437f949b76ffa87a9b9115e9" }
torch = [
    {markers="sys.platform != 'darwin' and sys.platform != 'win32'", version="2.1.1", source="pytorch-cuda"},
    {markers="sys.platform == 'darwin' or sys.platform == 'win32'", version="2.1.1", source="pypi"}
]

[tool.poetry.group.mujoco]
optional = true
[tool.poetry.group.mujoco.dependencies]
Cython = { version = "<3"}
mujoco_py = { version = "*"}

[tool.isort]
profile = "black"

[tool.mypy]
allow_redefinition = true
check_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_defs = true
ignore_missing_imports = true
no_implicit_optional = true
pretty = true
show_error_codes = true
show_error_context = true
show_traceback = true
strict_equality = true
strict_optional = true
warn_no_return = true
warn_redundant_casts = true
warn_unreachable = true
warn_unused_configs = true
warn_unused_ignores = true
exclude = "^docs/|^notebooks/|^deprecated/|"

[tool.doc8]
max-line-length = 1000

[tool.black]
line-length = 100
target-version = ["py311"]

[tool.ruff]
select = [
    "ASYNC", "B", "C4", "C90", "COM", "D", "DTZ", "E", "F", "FLY", "G", "I", "ISC", "PIE", "PLC", "PLE", "PLW", "RET", "RUF", "RSE", "SIM", "TID", "UP", "W", "YTT",
]
ignore = [
    "E501", # line too long. black does a good enough job
    "E741", # variable names like "l". this isn't a huge problem
    "B008", # do not perform function calls in argument defaults. we do this sometimes
    "B011", # assert false. we don't use python -O
    "B028", # we don't need explicit stacklevel for warnings
    "D100", "D101", "D102", "D104", "D105", "D107", "D203", "D213", "D401", "D402", "D103", # docstring stuff
    "DTZ005", # we don't need that
    # remaining rules from https://github.com/psf/black/blob/main/.flake8 (except W503)
    # this is a simplified version of config, making vscode plugin happy
    "E402", "E501", "E701", "E731", "C408", "E203",
    "G004", # f-strings in logging are fine,
    "D205", # 1 blank line required between summary line and description
]
unfixable = [
    "F841", # unused variable. ruff keeps the call, but mostly we want to get rid of it all
    "F601", # automatic fix might obscure issue
    "F602", # automatic fix might obscure issue
    "B018", # automatic fix might obscure issue
]
extend-fixable = [
    "F401", # unused import
    "B905", # bugbear
]

target-version = "py311"

[tool.ruff.mccabe]
max-complexity = 20

[tool.poe]
# needed because we have some old protobuf files hanging around
env = {PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION = "python"}

# keep relevant parts in sync with pre-commit
[tool.poe.tasks]  # https://github.com/nat-n/poethepoet
test = "pytest tests --cov=src --cov-report=xml --cov-report=term-missing --durations=0 -v --color=yes"
test-notebooks = "pytest notebooks -n 9"
_black_check = "black --check --exclude src/sensai ."
_lock_check = "poetry check --lock"
_isort_check = "isort --check --skip src/sensai ."
_ruff_check = "ruff check --exclude src/sensai ."
_black_format = "black --exclude src/sensai ."
nbstripout = "nbstripout notebooks/*"
# TODO: use this once we're ready
_ruff_format = "ruff --fix --exclude src/sensai ."
_isort_format = "isort --skip src/sensai ."
lint = ["_black_check", "_isort_check", "_lock_check"]
# TODO: add to format once sort plugin no longer requires pydantic<2
_poetry_install_sort_plugin = "poetry self add poetry-plugin-sort"
_poetry_sort = "poetry sort"
format = ["_black_format", "_isort_format"]
_spellcheck = "sphinx-build -W -b spelling docs docs/_build"
_generate_rst_files = "python build_scripts/update_docs.py"
_doc_build = "bash build_scripts/build-docs.sh"
doc-clean = "rm -rf docs/_build"
# TODO or not todo: spellcheck currently finds over 1500 misspelled words, things like config, env, sem etc.
#   If we want to use it, we should add such words to the dictionary
doc-build = ["_generate_rst_files", "_doc_build"]
type-check = "mypy src"
Poetry Runtime Logs
From Poetry's point of view, there is no failing command. As stated above, the command reports success (stating that it installed the right version) while having installed the wrong wheel. The issue has already been fixed by deleting the cache on the most recently affected machine, so the corresponding log currently cannot be obtained.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The report names no source file or test; start by reproducing poetry install after changing a Git dependency's commit while retaining cached artifacts under ~/.cache/pypoetry. Compare installation with and without the prior cached revision. Done means Poetry installs the requested commit consistently instead of another artifact with the same version.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, python
Domain
build-system, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.