# Make pathlib extensible

**URL:** <https://discuss.python.org/t/make-pathlib-extensible/3428>\
**Category:** Ideas\
**Created:** [February 24, 2020, 12:15am UTC](https://discuss.python.org/t/make-pathlib-extensible/3428 "2020-02-24T00:15:07Z")\
**Posts on this page:** 1\
**Showing post:** 109

<div class="post-metadata">

**Author:** ![barneygale](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/barneygale/32/1882_2.png) [@barneygale](https://discuss.python.org/u/barneygale)\
**Post date:** [June 16, 2023, 6:28pm UTC](https://discuss.python.org/t/make-pathlib-extensible/3428/109 "2023-06-16T18:28:02Z")

</div>

✨ June 2023 progress report ✨

My revised target for adding `pathlib.AbstractPath` and `tarfile.TarPath` is Python 3.13. I have a plan and working (local) implementations of both 🙂

An inheritance diagram, with new classes in yellow:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/2X/d/da7ed0de19f23d20c17e78bc284c88e52bbeb262.png)

There are 2-3 more PRs I need to land before I add `AbstractPath`:

1. [GH-104810](https://github.com/python/cpython/pull/104810): Add `pathlib._BasePurePath` (thanks Alex and Éric for the reviewing!)
2. [GH-105794](https://github.com/python/cpython/pull/105794): Add _follow\_symlinks_ argument to `pathlib.Path.is_dir()` and `is_file()`
3. (Probably) final pass of `pathlib.Path` tests

(Reviews appreciated as ever!)

The `tarfile.TarPath` class will follow soon after `AbstractPath` is added. The implementation is short and sweet, which is nice and helps validate the `AbstractPath` design, but I have a lot of tests to write! 😅

The `AbstractPath` class name will initially have an underscore prefix. I’ll solicit feedback from maintainers of pathlib-y pypi packages, make any adjustments, and hopefully drop the prefix in time for 3.13 beta 1.

That’s all. Ciao for now!

---

_[View the full topic](https://discuss.python.org/t/make-pathlib-extensible/3428)._
