Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

barneygale
Copy link
Contributor

@barneygale barneygale commented May 10, 2025

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+

…3.13

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+
@atravitz
Copy link

would this also add support for 3.12 to be able to unpickle path objects pickled in 3.13?

@barneygale
Copy link
Contributor Author

would this also add support for 3.12 to be able to unpickle path objects pickled in 3.13?

I'm afraid not. Generally we don't support that sort of forward-compatibility with pickling

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants