]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
GH-133789: Fix unpickling of pathlib objects pickled in Python 3.13 (#133831)
authorBarney Gale <barney.gale@gmail.com>
Fri, 17 Oct 2025 21:57:51 +0000 (22:57 +0100)
committerGitHub <noreply@github.com>
Fri, 17 Oct 2025 21:57:51 +0000 (21:57 +0000)
commitf4e51f253ad6c27583438f6182c33cf368bfa45f
tree4728c099f4248b669f5aa6d94e3482ffe2a0968e
parent92025ea2c8a10aa0e3dd5a2a1548f9bb17fe7dbc
GH-133789: Fix unpickling of pathlib objects pickled in Python 3.13 (#133831)

In Python 3.13 (but not 3.12 or 3.14), pathlib classes are defined in
`pathlib._local` rather than `pathlib`. In hindsight this was a mistake,
but it was difficult to predict how the abstract/local split would pan out.

In this patch we re-introduce `pathlib._local` as a stub module that
re-exports the classes from `pathlib`. This allows path objects pickled in
3.13 to be unpicked in 3.14+
Lib/pathlib/_local.py [new file with mode: 0644]
Lib/test/test_pathlib/test_pathlib.py
Misc/NEWS.d/next/Library/2025-05-10-15-10-54.gh-issue-133789.I-ZlUX.rst [new file with mode: 0644]