Title: User-defined virtual path objects · Issue #110109 · python/cpython · GitHub
Open Graph Title: User-defined virtual path objects · Issue #110109 · python/cpython
X Title: User-defined virtual path objects · Issue #110109 · python/cpython
Description: Proposal Add a PathBase class that can be subclassed by users to implement "virtual paths", e.g. paths within .zip files or on FTP servers, and publish it as an external PyPI package. Phase 1: Private support in pathlib Add private _Path...
Open Graph Description: Proposal Add a PathBase class that can be subclassed by users to implement "virtual paths", e.g. paths within .zip files or on FTP servers, and publish it as an external PyPI package. Phase 1: Priv...
X Description: Proposal Add a PathBase class that can be subclassed by users to implement "virtual paths", e.g. paths within .zip files or on FTP servers, and publish it as an external PyPI package. Pha...
Opengraph URL: https://github.com/python/cpython/issues/110109
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"User-defined virtual path objects","articleBody":"## Proposal\r\n\r\nAdd a `PathBase` class that can be subclassed by users to implement \"virtual paths\", e.g. paths within `.zip` files or on FTP servers, and publish it as an external PyPI package.\r\n\r\n## Phase 1: Private support in pathlib\r\n\r\n- [x] Add private `_PathBase` class \r\n - #106337\r\n- [x] Merge `WalkTests` into `DummyPathTest` \r\n - #110308\r\n - #110655\r\n- [x] Sort out `__hash__()`, `__eq__`, etc - we shouldn't inherit the `PurePath` implementation\r\n - #112012 \r\n - #110670 \r\n- [x] Simplify/speed up path walking and globbing\r\n - #106703\r\n- [x] Add `from_uri()` classmethod\r\n - #107640\r\n\r\n## Phase 2: Experimental support in PyPI package\r\n\r\n- [x] Move ABCs into `pathlib._abc`\r\n - #112881\r\n - #112904\r\n- [x] Figure out the default value for `pathmod`, if any\r\n - #113221\r\n - #113219\r\n- [x] Publish PyPI package\r\n\r\n## Previous Discussion\r\n\r\nhttps://discuss.python.org/t/make-pathlib-extensible/3428\r\n\r\n\u003c!-- gh-linked-prs --\u003e\r\n### Linked PRs\r\n* gh-110308\r\n* gh-110312\r\n* gh-110321\r\n* gh-110412\r\n* gh-110655\r\n* gh-110670\r\n* gh-112012\r\n* gh-112239\r\n* gh-112242\r\n* gh-112881\r\n* gh-112901\r\n* gh-112904\r\n* gh-113219\r\n* gh-113221\r\n* gh-113292\r\n* gh-113376\r\n* gh-113411\r\n* gh-113417\r\n* gh-113419\r\n\u003c!-- /gh-linked-prs --\u003e\r\n","author":{"url":"https://github.com/barneygale","@type":"Person","name":"barneygale"},"datePublished":"2023-09-29T15:16:35.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/110109/cpython/issues/110109"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:16190eb4-2a7d-ab8c-0b37-c3de47a053ea |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | DC32:31C581:14357B0:1BB4D8F:69694CEE |
| html-safe-nonce | 8f641564612ff27f858f8125bc067c6a7ce99b7b648cabf6e8eb79c2ec8ae437 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQzMyOjMxQzU4MToxNDM1N0IwOjFCQjREOEY6Njk2OTRDRUUiLCJ2aXNpdG9yX2lkIjoiNzgxNTk0MjMzODQwMjQwNTYxNCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 7c2d54050f5413aa8dd385457ffd7b04bb8465dbb0e28a54bba1b356f865e6e3 |
| hovercard-subject-tag | issue:1919467915 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/110109/issue_layout |
| twitter:image | https://opengraph.githubassets.com/7a6d976ed8e1409b64f8b7845ca8a2bb8fab43d59638c04dabd34b363cb3c491/python/cpython/issues/110109 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/7a6d976ed8e1409b64f8b7845ca8a2bb8fab43d59638c04dabd34b363cb3c491/python/cpython/issues/110109 |
| og:image:alt | Proposal Add a PathBase class that can be subclassed by users to implement "virtual paths", e.g. paths within .zip files or on FTP servers, and publish it as an external PyPI package. Phase 1: Priv... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | barneygale |
| hostname | github.com |
| expected-hostname | github.com |
| None | 54182691a21263b584d2e600b758e081b0ff1d10ffc0d2eefa51cf754b43b51d |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | d69ac0477df0f87da03b8b06cebd187012d7a930 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width