Add Python 3.13 (beta) support#12334
Conversation
| i = 0 | ||
| entries = list(entries) | ||
| backlocals = sys._getframe(1).f_locals | ||
| # Since Python 3.13, f_locals is not a dict, but eval requires a dict. |
There was a problem hiding this comment.
| ) -> Path: | ||
| items = list(files.items()) | ||
|
|
||
| if ext is None: |
|
One remaining failure, on windows: Probably something in os.path/pathlib changed. |
|
Seems like its normalized/resolved now, so the env name is no longer correct |
No need to support beta releases of an older version anymore. Ref: 09b2c95
|
I don't know if the This is ready for review, I'll also backport it for 8.2.1. |
nicoddemus
left a comment
There was a problem hiding this comment.
Looks great, thanks for tackling this!
| ) -> Path: | ||
| items = list(files.items()) | ||
|
|
||
| if ext is None: |
There was a problem hiding this comment.
Let's leave a note here:
| if ext is None: | |
| # https://github.com/python/cpython/issues/119113 | |
| if ext is None: |
There was a problem hiding this comment.
I don't think it's necessary, since I think we better not rely on it and just keep the check.
There was a problem hiding this comment.
I don't see what harm a small comment like that could cause either, but OK.
There was a problem hiding this comment.
Also in that case, we probably should change the signature as well, so we have the typing match the runtime behavior.
There was a problem hiding this comment.
The type is ext: str which is correct. The callers have some *args, **kwargs forwarding which is somewhat annoying to type.
There was a problem hiding this comment.
Well OK, this is no big deal anyway.
| excinfo = _pytest._code.ExceptionInfo.from_current() | ||
| s = str(excinfo.traceback[-1]) | ||
| assert s == " File '<string>':1 in <module>\n ???\n" | ||
| # TODO: Since Python 3.13b1 under pytest-xdist, the * is `import |
| @@ -0,0 +1 @@ | |||
| Support for Python 3.13 (beta1 at the time of writing). | |||
There was a problem hiding this comment.
I would categorize this as a feature actually.
## Description `testcontainers-python` is not compatible with python 3.13 because of several packages. ## Related issues Fixes #870 ## Packages update - bump cffi: python-cffi/cffi#24 - bump psycopg2: psycopg/psycopg2#1695 - bump trio: python-trio/trio#2955 - bump pytest: pytest-dev/pytest#12334 - bump pymilvus: milvus-io/pymilvus#2684 - bump twine: pypa/twine#1184 - bump cryptography: pyca/cryptography#11491 - bump greenlet: python-greenlet/greenlet@9497948 (python-greenlet/greenlet#392) - bump grpcio: grpc/grpc#36201 - bump httpx: encode/httpx#3460 - bump ibm-db: ibmdb/python-ibmdb#971 - bump orjson: https://github.com/ijl/orjson/releases/tag/3.10.15 - bump pandas: https://github.com/pandas-dev/pandas/releases/tag/v2.2.3 >⚠️ `cryptography` is not compatible with python `3.9.0` and `3.9.1` to be able to update to the version supporting Python 3.13 we have to exclude those version, meaning the minimum version is now 3.9.2 included. --------- Signed-off-by: axel7083 <42176370+axel7083@users.noreply.github.com> Co-authored-by: David Ankin <daveankin@gmail.com>
Fix #12323