Make pathlib extensible

:sparkles: August 2025 mini update :sparkles:

  • I’ve replaced the JoinablePath.__str__() abstract method with JoinablePath.__vfspath__() (merged PR)
  • I’m revising the __open* methods (open PR, thread)

Both of these are important for using the pathlib ABCs in zipp.Path / zipfile.Path (open PR).

If/when zipp is ready to adopt, I’ll bump the pathlib-abc version number to 1.0.0.

For the time being I’ve disabled the copy() and copy_into() methods my zipp branch. Before we enable them, I reckon we’ll need our own version of PEP 706 - Filter for tarfile.extractall. IMO this doesn’t block the zipp PR, but it does block a PEP. If anyone would like to give this some thought or prototyping, please feel free to share your progress in this thread.

Thank you to Jason R Coombs for his feedback on the zipp PR, and to everyone else who has helped with pathlib things lately. Bye for now.

7 Likes