-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Add Python 3.13 (beta) support #12334
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
) -> Path: | ||
items = list(files.items()) | ||
|
||
if ext is None: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, thanks for tackling this!
) -> Path: | ||
items = list(files.items()) | ||
|
||
if ext is None: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see what harm a small comment like that could cause either, but OK.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think so.
@@ -0,0 +1 @@ | |||
Support for Python 3.13 (beta1 at the time of writing). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 <[email protected]> Co-authored-by: David Ankin <[email protected]>
Fix #12323