classification
Title: Remove pathlib accessors
Type: performance Stage: patch review
Components: Library (Lib) Versions: Python 3.11
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: barneygale
Priority: normal Keywords: patch

Created on 2021-01-23 18:15 by barneygale, last changed 2021-05-14 03:22 by barneygale.

Pull Requests
URL Status Linked Edit
PR 25701 open barneygale, 2021-04-28 22:23
Messages (1)
msg385556 - (view) Author: Barney Gale (barneygale) * Date: 2021-01-23 18:15
Per Pitrou:

> The original intent for the “accessor” thing was to have a variant that did all accesses under a filesystem tree in a race condition-free way using openat and friends. It turned out to be much too hairy to actually implement, so was entirely abandoned, but the accessor abstraction was left there.

https://discuss.python.org/t/make-pathlib-extensible/3428/2

Accessors are:

- Lacking any internal purpose - '_NormalAccessor' is the only implementation
- Lacking any firm conceptual difference to `Path` objects themselves (inc. subclasses)
- Non-public, i.e. underscore prefixed - '_Accessor' and '_NormalAccessor' 
- Unofficially used to implement customized `Path` objects, but once once bpo-24132 lands there will be a supported route for that.

When bpo-24132 lands, I think we're free to remove accessors and simplify some code
History
Date User Action Args
2021-05-14 03:22:17barneygalesettype: performance
versions: + Python 3.11
2021-04-28 22:23:22barneygalesetkeywords: + patch
stage: patch review
pull_requests: + pull_request24391
2021-01-23 18:15:55barneygalecreate