pathapi 0.1.0__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.
- pathapi-0.1.0/.gitignore +43 -0
- pathapi-0.1.0/CHANGELOG.md +3572 -0
- pathapi-0.1.0/LICENSE +21 -0
- pathapi-0.1.0/PKG-INFO +242 -0
- pathapi-0.1.0/README.md +205 -0
- pathapi-0.1.0/docs/api/archive.md +6 -0
- pathapi-0.1.0/docs/api/checksum.md +3 -0
- pathapi-0.1.0/docs/api/exceptions.md +3 -0
- pathapi-0.1.0/docs/api/ftp.md +6 -0
- pathapi-0.1.0/docs/api/glob.md +3 -0
- pathapi-0.1.0/docs/api/http.md +6 -0
- pathapi-0.1.0/docs/api/mempath.md +6 -0
- pathapi-0.1.0/docs/api/path.md +6 -0
- pathapi-0.1.0/docs/api/protocols.md +28 -0
- pathapi-0.1.0/docs/api/providers.md +6 -0
- pathapi-0.1.0/docs/api/sync.md +3 -0
- pathapi-0.1.0/docs/api/testing.md +10 -0
- pathapi-0.1.0/docs/benchmarks.md +129 -0
- pathapi-0.1.0/docs/changelog.md +3 -0
- pathapi-0.1.0/docs/divergences.md +208 -0
- pathapi-0.1.0/docs/guides/extending.md +251 -0
- pathapi-0.1.0/docs/index.md +95 -0
- pathapi-0.1.0/examples/archive_members.py +76 -0
- pathapi-0.1.0/examples/ftp_listing.py +49 -0
- pathapi-0.1.0/examples/http_request.py +44 -0
- pathapi-0.1.0/examples/local_and_mem.py +53 -0
- pathapi-0.1.0/mkdocs.yml +62 -0
- pathapi-0.1.0/pyproject.toml +95 -0
- pathapi-0.1.0/src/pathapi/AGENTS.md +2355 -0
- pathapi-0.1.0/src/pathapi/__init__.py +62 -0
- pathapi-0.1.0/src/pathapi/_commit.py +116 -0
- pathapi-0.1.0/src/pathapi/_discard.py +92 -0
- pathapi-0.1.0/src/pathapi/_errorpolicy.py +106 -0
- pathapi-0.1.0/src/pathapi/_filestat.py +194 -0
- pathapi-0.1.0/src/pathapi/_lru.py +138 -0
- pathapi-0.1.0/src/pathapi/_names.py +70 -0
- pathapi-0.1.0/src/pathapi/_permissions.py +102 -0
- pathapi-0.1.0/src/pathapi/_stubs.py +76 -0
- pathapi-0.1.0/src/pathapi/_tree.py +136 -0
- pathapi-0.1.0/src/pathapi/archive/__init__.py +44 -0
- pathapi-0.1.0/src/pathapi/archive/_backend.py +393 -0
- pathapi-0.1.0/src/pathapi/archive/_names.py +63 -0
- pathapi-0.1.0/src/pathapi/archive/_pack.py +394 -0
- pathapi-0.1.0/src/pathapi/archive/_path.py +352 -0
- pathapi-0.1.0/src/pathapi/archive/_snapshot.py +269 -0
- pathapi-0.1.0/src/pathapi/archive/_tar.py +126 -0
- pathapi-0.1.0/src/pathapi/archive/_write.py +359 -0
- pathapi-0.1.0/src/pathapi/archive/_zip.py +563 -0
- pathapi-0.1.0/src/pathapi/archive/_zipentries.py +272 -0
- pathapi-0.1.0/src/pathapi/checksum.py +61 -0
- pathapi-0.1.0/src/pathapi/exceptions.py +22 -0
- pathapi-0.1.0/src/pathapi/fspath.py +513 -0
- pathapi-0.1.0/src/pathapi/ftp/__init__.py +27 -0
- pathapi-0.1.0/src/pathapi/ftp/_backend.py +418 -0
- pathapi-0.1.0/src/pathapi/ftp/_facts.py +117 -0
- pathapi-0.1.0/src/pathapi/ftp/_path.py +582 -0
- pathapi-0.1.0/src/pathapi/glob/__init__.py +27 -0
- pathapi-0.1.0/src/pathapi/glob/_entries.py +103 -0
- pathapi-0.1.0/src/pathapi/glob/_patterns.py +164 -0
- pathapi-0.1.0/src/pathapi/glob/_recursion.py +180 -0
- pathapi-0.1.0/src/pathapi/glob/_selection.py +303 -0
- pathapi-0.1.0/src/pathapi/http/__init__.py +84 -0
- pathapi-0.1.0/src/pathapi/http/_body.py +156 -0
- pathapi-0.1.0/src/pathapi/http/_builtin.py +553 -0
- pathapi-0.1.0/src/pathapi/http/_client.py +211 -0
- pathapi-0.1.0/src/pathapi/http/_errors.py +79 -0
- pathapi-0.1.0/src/pathapi/http/_follow.py +230 -0
- pathapi-0.1.0/src/pathapi/http/_headers.py +233 -0
- pathapi-0.1.0/src/pathapi/http/_pool.py +169 -0
- pathapi-0.1.0/src/pathapi/http/_proxies.py +142 -0
- pathapi-0.1.0/src/pathapi/http/_response.py +255 -0
- pathapi-0.1.0/src/pathapi/http/_settings.py +12 -0
- pathapi-0.1.0/src/pathapi/http/_status.py +68 -0
- pathapi-0.1.0/src/pathapi/http/_transports.py +173 -0
- pathapi-0.1.0/src/pathapi/http/testing/__init__.py +80 -0
- pathapi-0.1.0/src/pathapi/http/testing/__main__.py +10 -0
- pathapi-0.1.0/src/pathapi/mempath.py +438 -0
- pathapi-0.1.0/src/pathapi/path/__init__.py +19 -0
- pathapi-0.1.0/src/pathapi/path/_info.py +10 -0
- pathapi-0.1.0/src/pathapi/path/_path.py +198 -0
- pathapi-0.1.0/src/pathapi/path/_pure.py +522 -0
- pathapi-0.1.0/src/pathapi/path/_relation.py +10 -0
- pathapi-0.1.0/src/pathapi/path/_transfer.py +10 -0
- pathapi-0.1.0/src/pathapi/protocols/__init__.py +35 -0
- pathapi-0.1.0/src/pathapi/protocols/_bundles.py +22 -0
- pathapi-0.1.0/src/pathapi/protocols/_errors.py +12 -0
- pathapi-0.1.0/src/pathapi/protocols/_info.py +65 -0
- pathapi-0.1.0/src/pathapi/protocols/_relation.py +191 -0
- pathapi-0.1.0/src/pathapi/protocols/_removal.py +69 -0
- pathapi-0.1.0/src/pathapi/protocols/_support.py +122 -0
- pathapi-0.1.0/src/pathapi/protocols/_transfer.py +100 -0
- pathapi-0.1.0/src/pathapi/protocols/checksum.py +80 -0
- pathapi-0.1.0/src/pathapi/protocols/fs.py +429 -0
- pathapi-0.1.0/src/pathapi/protocols/io.py +224 -0
- pathapi-0.1.0/src/pathapi/protocols/links.py +135 -0
- pathapi-0.1.0/src/pathapi/protocols/pure.py +31 -0
- pathapi-0.1.0/src/pathapi/protocols/resolve.py +97 -0
- pathapi-0.1.0/src/pathapi/protocols/transfer.py +656 -0
- pathapi-0.1.0/src/pathapi/protocols/tree.py +492 -0
- pathapi-0.1.0/src/pathapi/providers.py +48 -0
- pathapi-0.1.0/src/pathapi/py.typed +1 -0
- pathapi-0.1.0/src/pathapi/sync/__init__.py +8 -0
- pathapi-0.1.0/src/pathapi/sync/_compare.py +157 -0
- pathapi-0.1.0/src/pathapi/sync/_events.py +97 -0
- pathapi-0.1.0/src/pathapi/sync/_links.py +93 -0
- pathapi-0.1.0/src/pathapi/sync/_offer.py +33 -0
- pathapi-0.1.0/src/pathapi/sync/_paths.py +50 -0
- pathapi-0.1.0/src/pathapi/sync/_replace.py +98 -0
- pathapi-0.1.0/src/pathapi/sync/_syncer.py +989 -0
- pathapi-0.1.0/src/pathapi/testing/__init__.py +96 -0
- pathapi-0.1.0/src/pathapi/testing/_contract.py +522 -0
- pathapi-0.1.0/src/pathapi/testing/_fixtures.py +83 -0
- pathapi-0.1.0/src/pathapi/testing/_read.py +279 -0
- pathapi-0.1.0/tests/capabilities.py +70 -0
- pathapi-0.1.0/tests/census.py +122 -0
- pathapi-0.1.0/tests/conftest.py +330 -0
- pathapi-0.1.0/tests/ftp_loopback.py +286 -0
- pathapi-0.1.0/tests/hermetic.py +261 -0
- pathapi-0.1.0/tests/mutation/README.md +66 -0
- pathapi-0.1.0/tests/mutation/mutants.py +1149 -0
- pathapi-0.1.0/tests/mutation/mutation_check.py +16 -0
- pathapi-0.1.0/tests/mutation/run.py +224 -0
- pathapi-0.1.0/tests/probes/probe_environment_leak.py +12 -0
- pathapi-0.1.0/tests/probes/probe_leaks_a_socket.py +12 -0
- pathapi-0.1.0/tests/probes/probe_session_environment.py +42 -0
- pathapi-0.1.0/tests/test_archive_batch.py +861 -0
- pathapi-0.1.0/tests/test_archive_batch_cost.py +419 -0
- pathapi-0.1.0/tests/test_archive_damage.py +273 -0
- pathapi-0.1.0/tests/test_archive_helpers.py +407 -0
- pathapi-0.1.0/tests/test_archive_lazy.py +256 -0
- pathapi-0.1.0/tests/test_archive_link_listing.py +408 -0
- pathapi-0.1.0/tests/test_archive_links.py +571 -0
- pathapi-0.1.0/tests/test_archive_names.py +65 -0
- pathapi-0.1.0/tests/test_archive_parity.py +461 -0
- pathapi-0.1.0/tests/test_archive_path.py +507 -0
- pathapi-0.1.0/tests/test_archive_rewrite.py +353 -0
- pathapi-0.1.0/tests/test_archive_safety.py +998 -0
- pathapi-0.1.0/tests/test_archive_scale.py +201 -0
- pathapi-0.1.0/tests/test_archive_tree.py +397 -0
- pathapi-0.1.0/tests/test_census.py +129 -0
- pathapi-0.1.0/tests/test_checksum.py +527 -0
- pathapi-0.1.0/tests/test_commit_on_close.py +169 -0
- pathapi-0.1.0/tests/test_composed_protocols.py +178 -0
- pathapi-0.1.0/tests/test_consumer_needs.py +156 -0
- pathapi-0.1.0/tests/test_contract.py +34 -0
- pathapi-0.1.0/tests/test_contract_helpers.py +513 -0
- pathapi-0.1.0/tests/test_copy_move_fidelity.py +361 -0
- pathapi-0.1.0/tests/test_copy_round_trips.py +174 -0
- pathapi-0.1.0/tests/test_destructive_safety.py +949 -0
- pathapi-0.1.0/tests/test_documented_examples.py +111 -0
- pathapi-0.1.0/tests/test_error_predicate.py +357 -0
- pathapi-0.1.0/tests/test_examples_skip.py +62 -0
- pathapi-0.1.0/tests/test_exceptions.py +35 -0
- pathapi-0.1.0/tests/test_filestat.py +169 -0
- pathapi-0.1.0/tests/test_ftp.py +401 -0
- pathapi-0.1.0/tests/test_ftp_end_to_end.py +446 -0
- pathapi-0.1.0/tests/test_ftp_path.py +423 -0
- pathapi-0.1.0/tests/test_ftp_security.py +324 -0
- pathapi-0.1.0/tests/test_ftp_utime.py +173 -0
- pathapi-0.1.0/tests/test_ftp_wire.py +403 -0
- pathapi-0.1.0/tests/test_generic_pure_parity.py +288 -0
- pathapi-0.1.0/tests/test_glob.py +91 -0
- pathapi-0.1.0/tests/test_glob_edges.py +811 -0
- pathapi-0.1.0/tests/test_glob_parity.py +539 -0
- pathapi-0.1.0/tests/test_hermetic.py +339 -0
- pathapi-0.1.0/tests/test_http_testing.py +282 -0
- pathapi-0.1.0/tests/test_io_parity.py +260 -0
- pathapi-0.1.0/tests/test_listing_hints.py +153 -0
- pathapi-0.1.0/tests/test_listing_names.py +200 -0
- pathapi-0.1.0/tests/test_local.py +24 -0
- pathapi-0.1.0/tests/test_local_stat_errors.py +54 -0
- pathapi-0.1.0/tests/test_low_core.py +427 -0
- pathapi-0.1.0/tests/test_low_sync.py +469 -0
- pathapi-0.1.0/tests/test_mempath.py +550 -0
- pathapi-0.1.0/tests/test_move_stats.py +199 -0
- pathapi-0.1.0/tests/test_mro_precedence.py +451 -0
- pathapi-0.1.0/tests/test_packaging.py +69 -0
- pathapi-0.1.0/tests/test_parity_io.py +521 -0
- pathapi-0.1.0/tests/test_parity_pure.py +102 -0
- pathapi-0.1.0/tests/test_path_gaps.py +510 -0
- pathapi-0.1.0/tests/test_path_info.py +302 -0
- pathapi-0.1.0/tests/test_path_moving.py +260 -0
- pathapi-0.1.0/tests/test_pathname.py +408 -0
- pathapi-0.1.0/tests/test_properties.py +311 -0
- pathapi-0.1.0/tests/test_protocol_composition.py +153 -0
- pathapi-0.1.0/tests/test_protocol_support.py +283 -0
- pathapi-0.1.0/tests/test_provider_seam.py +66 -0
- pathapi-0.1.0/tests/test_providers.py +293 -0
- pathapi-0.1.0/tests/test_public_surface.py +472 -0
- pathapi-0.1.0/tests/test_pure_parity.py +766 -0
- pathapi-0.1.0/tests/test_resolve.py +216 -0
- pathapi-0.1.0/tests/test_same_filesystem.py +291 -0
- pathapi-0.1.0/tests/test_shipped_header.py +369 -0
- pathapi-0.1.0/tests/test_smoke.py +174 -0
- pathapi-0.1.0/tests/test_symlink_target.py +101 -0
- pathapi-0.1.0/tests/test_sync.py +446 -0
- pathapi-0.1.0/tests/test_sync_cost.py +312 -0
- pathapi-0.1.0/tests/test_sync_mtime.py +371 -0
- pathapi-0.1.0/tests/test_sync_safety.py +1872 -0
- pathapi-0.1.0/tests/test_walk.py +133 -0
- pathapi-0.1.0/tests/test_walk_junction.py +166 -0
- pathapi-0.1.0/tests/test_write_discard.py +623 -0
- pathapi-0.1.0/tests/transport/conftest.py +98 -0
- pathapi-0.1.0/tests/transport/test_client_default.py +285 -0
- pathapi-0.1.0/tests/transport/test_client_errors.py +181 -0
- pathapi-0.1.0/tests/transport/test_client_peer_text.py +86 -0
- pathapi-0.1.0/tests/transport/test_client_redirect_origin.py +134 -0
- pathapi-0.1.0/tests/transport/test_client_redirects.py +231 -0
- pathapi-0.1.0/tests/transport/test_client_reply_limits.py +201 -0
- pathapi-0.1.0/tests/transport/test_client_urls.py +68 -0
- pathapi-0.1.0/tests/transport/test_client_write_redirects.py +239 -0
- pathapi-0.1.0/tests/transport/test_transport_body.py +302 -0
- pathapi-0.1.0/tests/transport/test_transport_pool.py +433 -0
- pathapi-0.1.0/tests/transport/test_transport_prepare.py +208 -0
- pathapi-0.1.0/tests/transport/test_transport_proxy.py +430 -0
- pathapi-0.1.0/tests/transport/test_transport_registry.py +211 -0
- pathapi-0.1.0/tests/transport/test_transport_send.py +662 -0
- pathapi-0.1.0/tests/transport/test_transport_tls.py +151 -0
- pathapi-0.1.0/tests/transport/transport_distribution.py +55 -0
- pathapi-0.1.0/tests/transport/transport_fakes.py +133 -0
- pathapi-0.1.0/tests/transport/transport_guard.py +174 -0
- pathapi-0.1.0/tests/transport/transport_wire.py +511 -0
- pathapi-0.1.0/tests/waits.py +17 -0
pathapi-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Category rule: nothing dot-prefixed at the repo root gets tracked except the
|
|
2
|
+
# files re-included below (a category beats a list). Root-anchored on purpose;
|
|
3
|
+
# nested dotfiles are governed by the specific rules further down.
|
|
4
|
+
/.*
|
|
5
|
+
!/.gitignore
|
|
6
|
+
!/.gitattributes
|
|
7
|
+
!/.github/
|
|
8
|
+
# Shared editor settings (black on save, pytest discovery, build task) are
|
|
9
|
+
# tracked deliberately.
|
|
10
|
+
!/.vscode/
|
|
11
|
+
|
|
12
|
+
# Private agent config. No trailing slash on `.agents` on purpose: it may be a
|
|
13
|
+
# symlink, which git treats as a file, so a directory-only `.agents/` would not
|
|
14
|
+
# match it. These stay even though /.* covers the root: they also catch nested
|
|
15
|
+
# copies. *.local.* is an unshared, machine- or user-specific override and is
|
|
16
|
+
# never committed (it is also excluded from the build in pyproject.toml).
|
|
17
|
+
.agents
|
|
18
|
+
*.local.*
|
|
19
|
+
CLAUDE*
|
|
20
|
+
.claude
|
|
21
|
+
|
|
22
|
+
# Build/dist output and generated docs site
|
|
23
|
+
build/
|
|
24
|
+
dist/
|
|
25
|
+
site/
|
|
26
|
+
|
|
27
|
+
# Python
|
|
28
|
+
__pycache__/
|
|
29
|
+
*.py[cod]
|
|
30
|
+
.pytest_cache/
|
|
31
|
+
.hypothesis/
|
|
32
|
+
.mypy_cache/
|
|
33
|
+
.ruff_cache/
|
|
34
|
+
.coverage*
|
|
35
|
+
htmlcov/
|
|
36
|
+
*.egg-info/
|
|
37
|
+
.venv/
|
|
38
|
+
.pyvenv/
|
|
39
|
+
|
|
40
|
+
# OS/editor
|
|
41
|
+
.DS_Store
|
|
42
|
+
Thumbs.db
|
|
43
|
+
.idea/
|