pathlib-next 0.8.3__tar.gz → 0.8.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/CHANGELOG.md +11 -1
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/PKG-INFO +1 -1
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/pyproject.toml +1 -1
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/path.py +1 -1
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/__init__.py +2 -2
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/az.py +1 -1
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/github.py +1 -1
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/gitlab.py +1 -1
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/gs.py +2 -2
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/s3.py +1 -1
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/utils/archive.py +0 -1
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/utils/stat.py +0 -1
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/.gitignore +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/LICENSE +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/README.md +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/docs/api/mempath.md +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/docs/api/path.md +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/docs/api/testing.md +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/docs/api/uri.md +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/docs/api/utils.md +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/docs/benchmarks.md +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/docs/changelog.md +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/docs/divergences.md +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/docs/guides/cli.md +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/docs/guides/extending.md +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/docs/guides/schemes.md +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/docs/index.md +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/examples/az_listing.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/examples/data_and_archive.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/examples/ftp_listing.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/examples/github_listing.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/examples/gitlab_listing.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/examples/gs_listing.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/examples/http_listing.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/examples/local_and_mem.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/examples/s3_listing.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/examples/sftp_sync.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/examples/webdav_roundtrip.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/mkdocs.yml +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/__init__.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/fspath.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/mempath.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/protocols/__init__.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/protocols/fs.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/protocols/io.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/py.typed +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/testing.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/tools/__init__.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/tools/uripath.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/query.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/__init__.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/_gitrepo.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/archive/__init__.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/archive/_base.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/archive/tar.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/archive/zip.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/data.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/dav.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/file.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/ftp.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/git/__init__.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/git/_base.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/git/github.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/git/gitlab.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/http.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/sftp/__init__.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/sftp/_asyncssh.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/sftp/_paramiko.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/schemes/sftp/_sshconfig.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/uri/source.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/utils/__init__.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/utils/checksum.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/utils/glob.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/src/pathlib_next/utils/sync.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/conftest.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_archive_uri.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_az.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_az_fake.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_contract.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_data_uri.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_dav.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_ftp.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_gitrepo.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_glob.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_gs.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_gs_fake.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_http.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_http_live.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_http_parser.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_local.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_mempath.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_parity_io.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_parity_pure.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_path_gaps.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_pathname.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_plugins.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_properties.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_query.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_s3.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_sftp.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_sftp_asyncssh.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_smoke.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_source.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_sync.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_uri_parse.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_uri_path.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_uripath_tool.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_utils.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_walk.py +0 -0
- {pathlib_next-0.8.3 → pathlib_next-0.8.4}/tests/test_webdav.py +0 -0
|
@@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.8.4] - 2026-07-18
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- Internal tidy-up (no behavior change): removed dead imports (`Source` in the
|
|
14
|
+
`az`/`gs`/`s3` schemes, `io` in `utils.archive`, `abc` in `utils.stat`), dropped
|
|
15
|
+
unused local variables, and de-f-string'd a placeholder-less message. The
|
|
16
|
+
`RepoBackend` re-exports from the `github`/`gitlab` schemes are retained (public
|
|
17
|
+
API, marked `# noqa`).
|
|
18
|
+
|
|
10
19
|
## [0.8.3] - 2026-07-18
|
|
11
20
|
|
|
12
21
|
### Changed
|
|
@@ -507,7 +516,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
|
|
|
507
516
|
- Sync error handling.
|
|
508
517
|
- Generic Path Protocol based pathlib implementation for URI paths with file access support for sftp, http, file schemes.
|
|
509
518
|
|
|
510
|
-
[Unreleased]: https://github.com/jose-pr/pathlib_next/compare/v0.8.
|
|
519
|
+
[Unreleased]: https://github.com/jose-pr/pathlib_next/compare/v0.8.4...HEAD
|
|
520
|
+
[0.8.4]: https://github.com/jose-pr/pathlib_next/compare/v0.8.3...v0.8.4
|
|
511
521
|
[0.8.3]: https://github.com/jose-pr/pathlib_next/compare/v0.8.2...v0.8.3
|
|
512
522
|
[0.8.2]: https://github.com/jose-pr/pathlib_next/compare/v0.8.1...v0.8.2
|
|
513
523
|
[0.8.1]: https://github.com/jose-pr/pathlib_next/compare/v0.8.0...v0.8.1
|
|
@@ -188,7 +188,7 @@ class Pathname(FsPathLike, _ty.Generic[_P]):
|
|
|
188
188
|
def __truediv__(self, key: _ty.Self | str) -> _ty.Self:
|
|
189
189
|
try:
|
|
190
190
|
return type(self)(self, key)
|
|
191
|
-
except (TypeError, NotImplementedError)
|
|
191
|
+
except (TypeError, NotImplementedError):
|
|
192
192
|
return NotImplemented
|
|
193
193
|
|
|
194
194
|
def joinpath(self, *args: str | _ty.Self) -> _ty.Self:
|
|
@@ -263,7 +263,7 @@ class Uri(Pathname):
|
|
|
263
263
|
elif os.name == "nt":
|
|
264
264
|
return f"//{self.source.host}/{self.path.removeprefix('/')}"
|
|
265
265
|
else:
|
|
266
|
-
raise NotImplementedError(
|
|
266
|
+
raise NotImplementedError("OS Support for not local fspath")
|
|
267
267
|
|
|
268
268
|
raise NotImplementedError(f"fspath for {self.source.scheme}")
|
|
269
269
|
|
|
@@ -513,7 +513,7 @@ class UriPath(Uri, Path):
|
|
|
513
513
|
def _schemes(cls) -> _ty.Sequence[str]:
|
|
514
514
|
try:
|
|
515
515
|
return getattr(cls, f"_{cls.__name__}__SCHEMES")
|
|
516
|
-
except AttributeError
|
|
516
|
+
except AttributeError:
|
|
517
517
|
return ()
|
|
518
518
|
|
|
519
519
|
@classmethod
|
|
@@ -6,7 +6,7 @@ import io as _io
|
|
|
6
6
|
import urllib.parse as _urlparse
|
|
7
7
|
|
|
8
8
|
from ...utils.stat import FileStat
|
|
9
|
-
from ._gitrepo import RepoBackend, _RepoApiPath, _translate_repo_errors
|
|
9
|
+
from ._gitrepo import RepoBackend, _RepoApiPath, _translate_repo_errors # noqa: F401 (re-exported)
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class GitHubPath(_RepoApiPath):
|
|
@@ -4,7 +4,7 @@ import io as _io
|
|
|
4
4
|
import urllib.parse as _urlparse
|
|
5
5
|
|
|
6
6
|
from ...utils.stat import FileStat
|
|
7
|
-
from ._gitrepo import RepoBackend, _RepoApiPath, _translate_repo_errors
|
|
7
|
+
from ._gitrepo import RepoBackend, _RepoApiPath, _translate_repo_errors # noqa: F401 (re-exported)
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class GitLabPath(_RepoApiPath):
|
|
@@ -5,7 +5,7 @@ import typing as _ty
|
|
|
5
5
|
|
|
6
6
|
from ... import utils as _utils
|
|
7
7
|
from ...utils.stat import FileStat
|
|
8
|
-
from .. import
|
|
8
|
+
from .. import Uri, UriPath
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class BaseGsBackend(object):
|
|
@@ -247,5 +247,5 @@ class GsPath(UriPath):
|
|
|
247
247
|
target = Uri(self.parent, target)
|
|
248
248
|
dest_key = target.path.lstrip("/")
|
|
249
249
|
source_blob = self._bucket.blob(self.key)
|
|
250
|
-
|
|
250
|
+
self._bucket.copy_blob(source_blob, self._bucket, dest_key)
|
|
251
251
|
source_blob.delete()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|