rustytree-xarray 0.5.0__tar.gz → 0.5.1__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.
Files changed (48) hide show
  1. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/.github/dependabot.yml +1 -1
  2. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/.github/workflows/ci.yml +1 -1
  3. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/CHANGELOG.md +28 -1
  4. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/Cargo.lock +109 -192
  5. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/Cargo.toml +2 -2
  6. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/PKG-INFO +2 -2
  7. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/pyproject.toml +5 -5
  8. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/python/rustytree/__init__.py +1 -1
  9. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/src/py_credentials.rs +1 -1
  10. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/tests/test_phase1_scaffold.py +1 -1
  11. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/.github/workflows/release.yml +0 -0
  12. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/.gitignore +0 -0
  13. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/LICENSE +0 -0
  14. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/README.md +0 -0
  15. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/assets/logo-banner-dark.png +0 -0
  16. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/assets/logo-banner-dark.svg +0 -0
  17. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/assets/logo-banner-light.png +0 -0
  18. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/assets/logo-banner-light.svg +0 -0
  19. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/assets/logo.png +0 -0
  20. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/docs/architecture.md +0 -0
  21. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/docs/contributing.md +0 -0
  22. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/docs/release-process.md +0 -0
  23. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/docs/usage.md +0 -0
  24. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/notebooks/klot_demo.ipynb +0 -0
  25. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/python/rustytree/_array.py +0 -0
  26. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/python/rustytree/backend.py +0 -0
  27. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/src/array.rs +0 -0
  28. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/src/dtype_dispatch.rs +0 -0
  29. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/src/error.rs +0 -0
  30. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/src/glob.rs +0 -0
  31. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/src/icechunk_store.rs +0 -0
  32. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/src/lib.rs +0 -0
  33. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/src/node.rs +0 -0
  34. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/src/runtime.rs +0 -0
  35. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/src/store.rs +0 -0
  36. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/src/url.rs +0 -0
  37. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/src/walk.rs +0 -0
  38. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/tests/conftest.py +0 -0
  39. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/tests/test_backend_entrypoint.py +0 -0
  40. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/tests/test_chunks.py +0 -0
  41. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/tests/test_codecs.py +0 -0
  42. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/tests/test_eager_fetch.py +0 -0
  43. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/tests/test_icechunk.py +0 -0
  44. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/tests/test_lazy.py +0 -0
  45. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/tests/test_pickle.py +0 -0
  46. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/tests/test_string_arrays.py +0 -0
  47. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/tests/test_to_rust_source.py +0 -0
  48. {rustytree_xarray-0.5.0 → rustytree_xarray-0.5.1}/tests/test_walk.py +0 -0
@@ -5,7 +5,7 @@
5
5
  #
6
6
  # Deliberately NOT managed here (bumped by hand — coordinated, cross-manifest):
7
7
  # - icechunk / typetag: FFI lockstep. The Python `icechunk` (pyproject) must
8
- # share a minor with the Rust `icechunk` (`=2.1.0`) and `typetag`
8
+ # share a minor with the Rust `icechunk` (`=2.2.2`) and `typetag`
9
9
  # (`=0.2.22`) the crate links — the msgpack `Session` bytes format is
10
10
  # coupled across the boundary, so a solo bump breaks `Session::from_bytes`
11
11
  # (the 2.0.5→2.0.6 skew behind #46). Bump all three together manually.
@@ -87,7 +87,7 @@ jobs:
87
87
  # below (we'd build the wheel twice — saves ~80s per matrix cell).
88
88
  # These are the deps pytest needs; ruff is not among them — linting runs
89
89
  # in the dedicated `lint` job above.
90
- run: uv pip install --python .venv/bin/python pytest pytest-cov 'zarr>=3.0' 'icechunk>=2.1.0,<2.2' 'dask[distributed]>=2024.1'
90
+ run: uv pip install --python .venv/bin/python pytest pytest-cov 'zarr>=3.0' 'icechunk>=2.2.0,<2.3' 'dask[distributed]>=2024.1'
91
91
  - name: Build extension (maturin develop)
92
92
  run: .venv/bin/maturin develop
93
93
  - name: pytest
@@ -11,6 +11,31 @@ release, that section is renamed to `[x.y.z] - YYYY-MM-DD` and a fresh
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [0.5.1] - 2026-09-21
15
+
16
+ ### Changed
17
+
18
+ - Bump the pinned `icechunk` from 2.1.0 to 2.2.2 ([#82]). rustytree links the
19
+ `icechunk` Rust crate and round-trips sessions through
20
+ `Session::{as,from}_bytes` using plain (positional, not named-field) msgpack
21
+ encoding, so a struct field added anywhere ahead of the end of the encoded
22
+ type shifts every field after it. Between 2.1.x and 2.2.x, icechunk's
23
+ `RepositoryConfig` gained `max_concurrent_decodes`, inserted before
24
+ `caching` rather than appended — exactly the kind of change that breaks
25
+ cross-version `Session` bytes. The `dev` extra and CI now require
26
+ `icechunk>=2.2.0,<2.3` so the Python and Rust icechunk versions keep
27
+ sharing a minor. `typetag` stays at `=0.2.22` (icechunk 2.2.2 still
28
+ requires it, so the `py_credentials` `inventory` registry keeps matching
29
+ icechunk-python's), and icechunk-python's `PythonCredentialsFetcher` shape
30
+ is unchanged, so no `py_credentials.rs` code change was needed — only its
31
+ version-referencing doc comment. Verified: `cargo test --locked
32
+ --no-default-features` (58/58) and the full `pytest` suite (202 passed, 4
33
+ skipped for tests needing live S3/arraylake access, 1 pre-existing xfail)
34
+ against a `maturin develop` build linked to real icechunk-python 2.2.2,
35
+ covering real `Session` byte round-trips (`test_open_via_session_bytes`,
36
+ the ancestor-merge session tests) and the dask-distributed pickle path
37
+ (`test_distributed_compute_matches_threaded`).
38
+
14
39
  ## [0.5.0] - 2026-07-26
15
40
 
16
41
  ### Added
@@ -864,7 +889,8 @@ below.
864
889
  intentionally not normalized — relative-vs-absolute glob
865
890
  semantics differ in `PurePosixPath.match`.
866
891
 
867
- [Unreleased]: https://github.com/aladinor/rustytree/compare/v0.5.0...HEAD
892
+ [Unreleased]: https://github.com/aladinor/rustytree/compare/v0.5.1...HEAD
893
+ [0.5.1]: https://github.com/aladinor/rustytree/compare/v0.5.0...v0.5.1
868
894
  [0.5.0]: https://github.com/aladinor/rustytree/compare/v0.4.0...v0.5.0
869
895
  [0.4.0]: https://github.com/aladinor/rustytree/compare/v0.3.0...v0.4.0
870
896
  [0.3.0]: https://github.com/aladinor/rustytree/compare/v0.2.1...v0.3.0
@@ -919,3 +945,4 @@ below.
919
945
  [#75]: https://github.com/aladinor/rustytree/pull/75
920
946
  [#76]: https://github.com/aladinor/rustytree/pull/76
921
947
  [#77]: https://github.com/aladinor/rustytree/pull/77
948
+ [#82]: https://github.com/aladinor/rustytree/pull/82
@@ -53,9 +53,9 @@ checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
53
53
 
54
54
  [[package]]
55
55
  name = "async-compression"
56
- version = "0.4.42"
56
+ version = "0.4.48"
57
57
  source = "registry+https://github.com/rust-lang/crates.io-index"
58
- checksum = "e79b3f8a79cccc2898f31920fc69f304859b3bd567490f75ebf51ae1c792a9ac"
58
+ checksum = "fb61aea1a7def73ee7c350a184f0e70b32c182344e2e75bf70c9b621b83417fd"
59
59
  dependencies = [
60
60
  "compression-codecs",
61
61
  "compression-core",
@@ -120,9 +120,9 @@ dependencies = [
120
120
 
121
121
  [[package]]
122
122
  name = "async-trait"
123
- version = "0.1.91"
123
+ version = "0.1.92"
124
124
  source = "registry+https://github.com/rust-lang/crates.io-index"
125
- checksum = "ae36dc4177970ef04fde5178d3e2429882def40e57a451f919c098f72baa6cec"
125
+ checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667"
126
126
  dependencies = [
127
127
  "proc-macro2",
128
128
  "quote",
@@ -405,7 +405,7 @@ dependencies = [
405
405
  "http 1.4.0",
406
406
  "http-body 1.0.1",
407
407
  "http-body-util",
408
- "md-5 0.11.0",
408
+ "md-5",
409
409
  "pin-project-lite",
410
410
  "sha1 0.11.0",
411
411
  "sha2 0.11.0",
@@ -728,7 +728,7 @@ dependencies = [
728
728
  "lz4_flex",
729
729
  "pkg-config",
730
730
  "snap",
731
- "zstd",
731
+ "zstd 0.13.3",
732
732
  ]
733
733
 
734
734
  [[package]]
@@ -867,20 +867,20 @@ dependencies = [
867
867
 
868
868
  [[package]]
869
869
  name = "compression-codecs"
870
- version = "0.4.38"
870
+ version = "0.4.43"
871
871
  source = "registry+https://github.com/rust-lang/crates.io-index"
872
- checksum = "ce2548391e9c1929c21bf6aa2680af86fe4c1b33e6cea9ac1cfeec0bd11218cf"
872
+ checksum = "bef16c47ba2797aa6a909cc37d39911f3a6743811fe7408ac0b0cc0276b656e9"
873
873
  dependencies = [
874
874
  "compression-core",
875
- "zstd",
876
- "zstd-safe",
875
+ "zstd 0.14.0",
876
+ "zstd-safe 8.0.0",
877
877
  ]
878
878
 
879
879
  [[package]]
880
880
  name = "compression-core"
881
- version = "0.4.32"
881
+ version = "0.4.33"
882
882
  source = "registry+https://github.com/rust-lang/crates.io-index"
883
- checksum = "cc14f565cf027a105f7a44ccf9e5b424348421a1d8952a8fc9d499d313107789"
883
+ checksum = "6e8ccc4ea9f6acc32d102c0f6d471d11d913ad15f20c04de743374861fa1d414"
884
884
 
885
885
  [[package]]
886
886
  name = "concurrent-queue"
@@ -1399,9 +1399,9 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
1399
1399
 
1400
1400
  [[package]]
1401
1401
  name = "futures"
1402
- version = "0.3.33"
1402
+ version = "0.3.34"
1403
1403
  source = "registry+https://github.com/rust-lang/crates.io-index"
1404
- checksum = "a88cf1f829d945f548cf8fec32c61b1f202b6d93b45848602fc02af4b12ad218"
1404
+ checksum = "9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3"
1405
1405
  dependencies = [
1406
1406
  "futures-channel",
1407
1407
  "futures-core",
@@ -1414,9 +1414,9 @@ dependencies = [
1414
1414
 
1415
1415
  [[package]]
1416
1416
  name = "futures-channel"
1417
- version = "0.3.33"
1417
+ version = "0.3.34"
1418
1418
  source = "registry+https://github.com/rust-lang/crates.io-index"
1419
- checksum = "262590f4fe6afeb0bc83be1daa64e52657fe185690a958af7f3ad0e92085c5ae"
1419
+ checksum = "b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4"
1420
1420
  dependencies = [
1421
1421
  "futures-core",
1422
1422
  "futures-sink",
@@ -1424,15 +1424,15 @@ dependencies = [
1424
1424
 
1425
1425
  [[package]]
1426
1426
  name = "futures-core"
1427
- version = "0.3.33"
1427
+ version = "0.3.34"
1428
1428
  source = "registry+https://github.com/rust-lang/crates.io-index"
1429
- checksum = "2cd50c473c80f6d7c3670a752354b8e569b1a7cbfdc0419ec88e5edad85e0dc7"
1429
+ checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e"
1430
1430
 
1431
1431
  [[package]]
1432
1432
  name = "futures-executor"
1433
- version = "0.3.33"
1433
+ version = "0.3.34"
1434
1434
  source = "registry+https://github.com/rust-lang/crates.io-index"
1435
- checksum = "6754879cc9f2c66f88c6e5c35344bb0bdb0708b0352b1201815667c7eabc7458"
1435
+ checksum = "031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432"
1436
1436
  dependencies = [
1437
1437
  "futures-core",
1438
1438
  "futures-task",
@@ -1441,38 +1441,38 @@ dependencies = [
1441
1441
 
1442
1442
  [[package]]
1443
1443
  name = "futures-io"
1444
- version = "0.3.33"
1444
+ version = "0.3.34"
1445
1445
  source = "registry+https://github.com/rust-lang/crates.io-index"
1446
- checksum = "4577ecaa3c4f96589d473f679a71b596316f6641bc350038b962a5daf0085d7a"
1446
+ checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed"
1447
1447
 
1448
1448
  [[package]]
1449
1449
  name = "futures-macro"
1450
- version = "0.3.33"
1450
+ version = "0.3.34"
1451
1451
  source = "registry+https://github.com/rust-lang/crates.io-index"
1452
- checksum = "2d6d3cde68c518367be28956066ddfef33813991b77a55005a69dae04bf3b10b"
1452
+ checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44"
1453
1453
  dependencies = [
1454
1454
  "proc-macro2",
1455
1455
  "quote",
1456
- "syn 2.0.117",
1456
+ "syn 3.0.2",
1457
1457
  ]
1458
1458
 
1459
1459
  [[package]]
1460
1460
  name = "futures-sink"
1461
- version = "0.3.33"
1461
+ version = "0.3.34"
1462
1462
  source = "registry+https://github.com/rust-lang/crates.io-index"
1463
- checksum = "e34418ac499d6305c2fb5ad0ed2f6ac998c5f8ca209b4510f7f94242c647e307"
1463
+ checksum = "1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d"
1464
1464
 
1465
1465
  [[package]]
1466
1466
  name = "futures-task"
1467
- version = "0.3.33"
1467
+ version = "0.3.34"
1468
1468
  source = "registry+https://github.com/rust-lang/crates.io-index"
1469
- checksum = "b231ed28831efb4a61a08580c4bc233ec56bc009f4cd8f52da2c3cb97df0c109"
1469
+ checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd"
1470
1470
 
1471
1471
  [[package]]
1472
1472
  name = "futures-util"
1473
- version = "0.3.33"
1473
+ version = "0.3.34"
1474
1474
  source = "registry+https://github.com/rust-lang/crates.io-index"
1475
- checksum = "a77a90a256fce34da66415271e30f94ee91c57b04b8a2c042d9cf3220179deaa"
1475
+ checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc"
1476
1476
  dependencies = [
1477
1477
  "futures-channel",
1478
1478
  "futures-core",
@@ -1882,9 +1882,9 @@ dependencies = [
1882
1882
 
1883
1883
  [[package]]
1884
1884
  name = "icechunk"
1885
- version = "2.1.0"
1885
+ version = "2.2.2"
1886
1886
  source = "registry+https://github.com/rust-lang/crates.io-index"
1887
- checksum = "08a02fb61448609885f19dd8e9ffb0909792a59f1b36599ddb3c0d35f7090fef"
1887
+ checksum = "268e3d063944e80cc1b455b4893f83217c6cc7e88d6854c62381032d43e5e985"
1888
1888
  dependencies = [
1889
1889
  "async-compression",
1890
1890
  "async-recursion",
@@ -1901,10 +1901,10 @@ dependencies = [
1901
1901
  "icechunk-storage",
1902
1902
  "icechunk-types",
1903
1903
  "itertools 0.15.0",
1904
- "quick_cache",
1904
+ "quick_cache 0.7.0",
1905
1905
  "rand",
1906
1906
  "regex",
1907
- "reqwest 0.13.3",
1907
+ "reqwest",
1908
1908
  "rmp-serde",
1909
1909
  "serde",
1910
1910
  "serde_bytes",
@@ -1918,14 +1918,14 @@ dependencies = [
1918
1918
  "typetag",
1919
1919
  "url",
1920
1920
  "urlencoding",
1921
- "zstd",
1921
+ "zstd 0.14.0",
1922
1922
  ]
1923
1923
 
1924
1924
  [[package]]
1925
1925
  name = "icechunk-arrow-object-store"
1926
- version = "2.1.0"
1926
+ version = "2.2.2"
1927
1927
  source = "registry+https://github.com/rust-lang/crates.io-index"
1928
- checksum = "ceb90dfc6ec56c155ec98338c726660d5398fa5fda450bde7f63145a9e1e22ac"
1928
+ checksum = "c5f03237d2d7db9d6644a39340584bf6d04c2fd00c251eafc958afc022c82f26"
1929
1929
  dependencies = [
1930
1930
  "async-trait",
1931
1931
  "bytes",
@@ -1934,7 +1934,7 @@ dependencies = [
1934
1934
  "http 1.4.0",
1935
1935
  "icechunk-storage",
1936
1936
  "icechunk-types",
1937
- "object_store 0.13.2",
1937
+ "object_store",
1938
1938
  "rand",
1939
1939
  "serde",
1940
1940
  "tokio",
@@ -1942,13 +1942,14 @@ dependencies = [
1942
1942
  "tracing",
1943
1943
  "typetag",
1944
1944
  "url",
1945
+ "uuid",
1945
1946
  ]
1946
1947
 
1947
1948
  [[package]]
1948
1949
  name = "icechunk-format"
1949
- version = "2.1.0"
1950
+ version = "2.2.2"
1950
1951
  source = "registry+https://github.com/rust-lang/crates.io-index"
1951
- checksum = "d1e8bbd643e33147b3850ba9044981990998cb59c9f0bc5d274220c526c15536"
1952
+ checksum = "abd7fca322762ecce758811d403ddf5b0da501dad80060611c2091654f46f32b"
1952
1953
  dependencies = [
1953
1954
  "base32",
1954
1955
  "bytes",
@@ -1958,7 +1959,7 @@ dependencies = [
1958
1959
  "futures",
1959
1960
  "icechunk-types",
1960
1961
  "itertools 0.15.0",
1961
- "quick_cache",
1962
+ "quick_cache 0.7.0",
1962
1963
  "rand",
1963
1964
  "rmp-serde",
1964
1965
  "serde",
@@ -1967,14 +1968,14 @@ dependencies = [
1967
1968
  "thiserror",
1968
1969
  "tracing",
1969
1970
  "url",
1970
- "zstd",
1971
+ "zstd 0.14.0",
1971
1972
  ]
1972
1973
 
1973
1974
  [[package]]
1974
1975
  name = "icechunk-s3"
1975
- version = "2.1.0"
1976
+ version = "2.2.2"
1976
1977
  source = "registry+https://github.com/rust-lang/crates.io-index"
1977
- checksum = "e381c4d1f80a1f89e5d3175120700ed72a11a238a62a14e41b259ba38e169353"
1978
+ checksum = "187d676031f290cc9b7633d731d13d8a79c3da3f209bc2ef5b8a67a526c297c4"
1978
1979
  dependencies = [
1979
1980
  "async-trait",
1980
1981
  "aws-config",
@@ -1993,13 +1994,14 @@ dependencies = [
1993
1994
  "tracing",
1994
1995
  "typed-path",
1995
1996
  "typetag",
1997
+ "uuid",
1996
1998
  ]
1997
1999
 
1998
2000
  [[package]]
1999
2001
  name = "icechunk-storage"
2000
- version = "2.1.0"
2002
+ version = "2.2.2"
2001
2003
  source = "registry+https://github.com/rust-lang/crates.io-index"
2002
- checksum = "8f1e267f2a4d7749bf37766764b8b68a098079609aed98296efa2b3255fb577c"
2004
+ checksum = "0b22438b5a55ae6e2b773111e7a009fe511190456c6b6bf4e9dde00cd196f2de"
2003
2005
  dependencies = [
2004
2006
  "async-trait",
2005
2007
  "bytes",
@@ -2018,9 +2020,9 @@ dependencies = [
2018
2020
 
2019
2021
  [[package]]
2020
2022
  name = "icechunk-types"
2021
- version = "2.1.0"
2023
+ version = "2.2.2"
2022
2024
  source = "registry+https://github.com/rust-lang/crates.io-index"
2023
- checksum = "3fd025f9b9e34ec544f50bf2bbb0b9ea5bd2b9b90f165e473c57c4f6227cfc6c"
2025
+ checksum = "b170eca1703ff3b8076db550e06e327b89548ee203e18350e337e5fbff355ea5"
2024
2026
  dependencies = [
2025
2027
  "serde",
2026
2028
  "serde_with",
@@ -2391,16 +2393,6 @@ dependencies = [
2391
2393
  "rawpointer",
2392
2394
  ]
2393
2395
 
2394
- [[package]]
2395
- name = "md-5"
2396
- version = "0.10.6"
2397
- source = "registry+https://github.com/rust-lang/crates.io-index"
2398
- checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
2399
- dependencies = [
2400
- "cfg-if",
2401
- "digest 0.10.7",
2402
- ]
2403
-
2404
2396
  [[package]]
2405
2397
  name = "md-5"
2406
2398
  version = "0.11.0"
@@ -2630,46 +2622,6 @@ dependencies = [
2630
2622
  "rustc-hash",
2631
2623
  ]
2632
2624
 
2633
- [[package]]
2634
- name = "object_store"
2635
- version = "0.13.2"
2636
- source = "registry+https://github.com/rust-lang/crates.io-index"
2637
- checksum = "622acbc9100d3c10e2ee15804b0caa40e55c933d5aa53814cd520805b7958a49"
2638
- dependencies = [
2639
- "async-trait",
2640
- "base64",
2641
- "bytes",
2642
- "chrono",
2643
- "form_urlencoded",
2644
- "futures-channel",
2645
- "futures-core",
2646
- "futures-util",
2647
- "http 1.4.0",
2648
- "http-body-util",
2649
- "httparse",
2650
- "humantime",
2651
- "hyper 1.9.0",
2652
- "itertools 0.14.0",
2653
- "md-5 0.10.6",
2654
- "parking_lot",
2655
- "percent-encoding",
2656
- "quick-xml 0.39.3",
2657
- "rand",
2658
- "reqwest 0.12.28",
2659
- "ring",
2660
- "rustls-pki-types",
2661
- "serde",
2662
- "serde_json",
2663
- "serde_urlencoded",
2664
- "thiserror",
2665
- "tokio",
2666
- "tracing",
2667
- "url",
2668
- "walkdir",
2669
- "wasm-bindgen-futures",
2670
- "web-time",
2671
- ]
2672
-
2673
2625
  [[package]]
2674
2626
  name = "object_store"
2675
2627
  version = "0.14.1"
@@ -2688,16 +2640,17 @@ dependencies = [
2688
2640
  "futures-util",
2689
2641
  "http 1.4.0",
2690
2642
  "http-body-util",
2643
+ "httparse",
2691
2644
  "humantime",
2692
2645
  "hyper 1.9.0",
2693
2646
  "itertools 0.15.0",
2694
- "md-5 0.11.0",
2647
+ "md-5",
2695
2648
  "nix",
2696
2649
  "parking_lot",
2697
2650
  "percent-encoding",
2698
- "quick-xml 0.41.0",
2651
+ "quick-xml",
2699
2652
  "rand",
2700
- "reqwest 0.13.3",
2653
+ "reqwest",
2701
2654
  "rustls-pki-types",
2702
2655
  "serde",
2703
2656
  "serde_json",
@@ -2898,9 +2851,9 @@ dependencies = [
2898
2851
 
2899
2852
  [[package]]
2900
2853
  name = "pyo3"
2901
- version = "0.29.0"
2854
+ version = "0.29.2"
2902
2855
  source = "registry+https://github.com/rust-lang/crates.io-index"
2903
- checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c"
2856
+ checksum = "4688ddedf473e32662b9b067670129a8afb8c18e351482c70d62ba4a88171e8b"
2904
2857
  dependencies = [
2905
2858
  "chrono",
2906
2859
  "libc",
@@ -2913,18 +2866,18 @@ dependencies = [
2913
2866
 
2914
2867
  [[package]]
2915
2868
  name = "pyo3-build-config"
2916
- version = "0.29.0"
2869
+ version = "0.29.2"
2917
2870
  source = "registry+https://github.com/rust-lang/crates.io-index"
2918
- checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078"
2871
+ checksum = "f41027e41b4bd03f6e60f9f417fe24a6341a6bb744edd62b6f709f2a52ea30e9"
2919
2872
  dependencies = [
2920
2873
  "target-lexicon",
2921
2874
  ]
2922
2875
 
2923
2876
  [[package]]
2924
2877
  name = "pyo3-ffi"
2925
- version = "0.29.0"
2878
+ version = "0.29.2"
2926
2879
  source = "registry+https://github.com/rust-lang/crates.io-index"
2927
- checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b"
2880
+ checksum = "e591a95526fead067432c3b3a33fc74770b87b1e04e73671090d9c2055a2b327"
2928
2881
  dependencies = [
2929
2882
  "libc",
2930
2883
  "pyo3-build-config",
@@ -2932,9 +2885,9 @@ dependencies = [
2932
2885
 
2933
2886
  [[package]]
2934
2887
  name = "pyo3-macros"
2935
- version = "0.29.0"
2888
+ version = "0.29.2"
2936
2889
  source = "registry+https://github.com/rust-lang/crates.io-index"
2937
- checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771"
2890
+ checksum = "73225868fc1cd84eef2c3c230ddb91273bf1de46aeb8a4248da76d32a0924a1c"
2938
2891
  dependencies = [
2939
2892
  "proc-macro2",
2940
2893
  "pyo3-macros-backend",
@@ -2944,9 +2897,9 @@ dependencies = [
2944
2897
 
2945
2898
  [[package]]
2946
2899
  name = "pyo3-macros-backend"
2947
- version = "0.29.0"
2900
+ version = "0.29.2"
2948
2901
  source = "registry+https://github.com/rust-lang/crates.io-index"
2949
- checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362"
2902
+ checksum = "571575aa3749fa6216757dd47d2a3e7ef360f329a40f0666a9fbd14889024952"
2950
2903
  dependencies = [
2951
2904
  "heck",
2952
2905
  "proc-macro2",
@@ -2954,16 +2907,6 @@ dependencies = [
2954
2907
  "syn 2.0.117",
2955
2908
  ]
2956
2909
 
2957
- [[package]]
2958
- name = "quick-xml"
2959
- version = "0.39.3"
2960
- source = "registry+https://github.com/rust-lang/crates.io-index"
2961
- checksum = "721da970c312655cde9b4ffe0547f20a8494866a4af5ff51f18b7c633d0c870b"
2962
- dependencies = [
2963
- "memchr",
2964
- "serde",
2965
- ]
2966
-
2967
2910
  [[package]]
2968
2911
  name = "quick-xml"
2969
2912
  version = "0.41.0"
@@ -2986,6 +2929,18 @@ dependencies = [
2986
2929
  "parking_lot",
2987
2930
  ]
2988
2931
 
2932
+ [[package]]
2933
+ name = "quick_cache"
2934
+ version = "0.7.0"
2935
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2936
+ checksum = "403c1a912fec895cafb223201e368234842acb9220aaf08ab042ae89ba5f135c"
2937
+ dependencies = [
2938
+ "equivalent",
2939
+ "foldhash 0.2.0",
2940
+ "hashbrown 0.17.0",
2941
+ "parking_lot",
2942
+ ]
2943
+
2989
2944
  [[package]]
2990
2945
  name = "quinn"
2991
2946
  version = "0.11.9"
@@ -3198,48 +3153,6 @@ version = "0.8.10"
3198
3153
  source = "registry+https://github.com/rust-lang/crates.io-index"
3199
3154
  checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
3200
3155
 
3201
- [[package]]
3202
- name = "reqwest"
3203
- version = "0.12.28"
3204
- source = "registry+https://github.com/rust-lang/crates.io-index"
3205
- checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147"
3206
- dependencies = [
3207
- "base64",
3208
- "bytes",
3209
- "futures-core",
3210
- "futures-util",
3211
- "h2 0.4.14",
3212
- "http 1.4.0",
3213
- "http-body 1.0.1",
3214
- "http-body-util",
3215
- "hyper 1.9.0",
3216
- "hyper-rustls 0.27.9",
3217
- "hyper-util",
3218
- "js-sys",
3219
- "log",
3220
- "percent-encoding",
3221
- "pin-project-lite",
3222
- "quinn",
3223
- "rustls 0.23.40",
3224
- "rustls-native-certs",
3225
- "rustls-pki-types",
3226
- "serde",
3227
- "serde_json",
3228
- "serde_urlencoded",
3229
- "sync_wrapper",
3230
- "tokio",
3231
- "tokio-rustls 0.26.4",
3232
- "tokio-util",
3233
- "tower",
3234
- "tower-http",
3235
- "tower-service",
3236
- "url",
3237
- "wasm-bindgen",
3238
- "wasm-bindgen-futures",
3239
- "wasm-streams 0.4.2",
3240
- "web-sys",
3241
- ]
3242
-
3243
3156
  [[package]]
3244
3157
  name = "reqwest"
3245
3158
  version = "0.13.3"
@@ -3277,7 +3190,7 @@ dependencies = [
3277
3190
  "url",
3278
3191
  "wasm-bindgen",
3279
3192
  "wasm-bindgen-futures",
3280
- "wasm-streams 0.5.0",
3193
+ "wasm-streams",
3281
3194
  "web-sys",
3282
3195
  ]
3283
3196
 
@@ -3360,7 +3273,6 @@ checksum = "ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b"
3360
3273
  dependencies = [
3361
3274
  "aws-lc-rs",
3362
3275
  "once_cell",
3363
- "ring",
3364
3276
  "rustls-pki-types",
3365
3277
  "rustls-webpki 0.103.13",
3366
3278
  "subtle",
@@ -3446,7 +3358,7 @@ checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
3446
3358
 
3447
3359
  [[package]]
3448
3360
  name = "rustytree"
3449
- version = "0.5.0"
3361
+ version = "0.5.1"
3450
3362
  dependencies = [
3451
3363
  "async-trait",
3452
3364
  "chrono",
@@ -3966,18 +3878,18 @@ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
3966
3878
 
3967
3879
  [[package]]
3968
3880
  name = "thiserror"
3969
- version = "2.0.19"
3881
+ version = "2.0.20"
3970
3882
  source = "registry+https://github.com/rust-lang/crates.io-index"
3971
- checksum = "09a43598840e33d5b0331f38c5e30d13bb11c11210a4b58f0d9b18a5a5eefcd9"
3883
+ checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f"
3972
3884
  dependencies = [
3973
3885
  "thiserror-impl",
3974
3886
  ]
3975
3887
 
3976
3888
  [[package]]
3977
3889
  name = "thiserror-impl"
3978
- version = "2.0.19"
3890
+ version = "2.0.20"
3979
3891
  source = "registry+https://github.com/rust-lang/crates.io-index"
3980
- checksum = "43cbfe0cf76104d42a574802844187e84a305e531ed54455f11fbde0f10541cd"
3892
+ checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af"
3981
3893
  dependencies = [
3982
3894
  "proc-macro2",
3983
3895
  "quote",
@@ -4487,19 +4399,6 @@ dependencies = [
4487
4399
  "wasmparser",
4488
4400
  ]
4489
4401
 
4490
- [[package]]
4491
- name = "wasm-streams"
4492
- version = "0.4.2"
4493
- source = "registry+https://github.com/rust-lang/crates.io-index"
4494
- checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65"
4495
- dependencies = [
4496
- "futures-util",
4497
- "js-sys",
4498
- "wasm-bindgen",
4499
- "wasm-bindgen-futures",
4500
- "web-sys",
4501
- ]
4502
-
4503
4402
  [[package]]
4504
4403
  name = "wasm-streams"
4505
4404
  version = "0.5.0"
@@ -4951,9 +4850,9 @@ dependencies = [
4951
4850
 
4952
4851
  [[package]]
4953
4852
  name = "zarrs"
4954
- version = "0.23.13"
4853
+ version = "0.23.14"
4955
4854
  source = "registry+https://github.com/rust-lang/crates.io-index"
4956
- checksum = "8132307b8fc041fd21f68c7987103fb6e038b11f9838c16ec43b798f5480ccf5"
4855
+ checksum = "fbd6697e73e803a80f182036563038ccfaf7fca1b71fc510cce65daaa45478f8"
4957
4856
  dependencies = [
4958
4857
  "async-generic",
4959
4858
  "async-lock",
@@ -4980,7 +4879,7 @@ dependencies = [
4980
4879
  "num",
4981
4880
  "num-complex",
4982
4881
  "paste",
4983
- "quick_cache",
4882
+ "quick_cache 0.6.24",
4984
4883
  "rayon",
4985
4884
  "rayon_iter_concurrent_limit",
4986
4885
  "serde",
@@ -4998,7 +4897,7 @@ dependencies = [
4998
4897
  "zarrs_metadata_ext",
4999
4898
  "zarrs_plugin",
5000
4899
  "zarrs_storage",
5001
- "zstd",
4900
+ "zstd 0.13.3",
5002
4901
  ]
5003
4902
 
5004
4903
  [[package]]
@@ -5139,7 +5038,7 @@ checksum = "f39632e2ce9e862f81e45ae3526ae70cb2ceb4ae0e24e9580d85441e75f16a43"
5139
5038
  dependencies = [
5140
5039
  "async-trait",
5141
5040
  "futures",
5142
- "object_store 0.14.1",
5041
+ "object_store",
5143
5042
  "zarrs_storage",
5144
5043
  ]
5145
5044
 
@@ -5263,7 +5162,16 @@ version = "0.13.3"
5263
5162
  source = "registry+https://github.com/rust-lang/crates.io-index"
5264
5163
  checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a"
5265
5164
  dependencies = [
5266
- "zstd-safe",
5165
+ "zstd-safe 7.2.4",
5166
+ ]
5167
+
5168
+ [[package]]
5169
+ name = "zstd"
5170
+ version = "0.14.0"
5171
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5172
+ checksum = "bf06bd8162af0734b344780deb55b42a2429ae430870d13fcc12f238e880fe6e"
5173
+ dependencies = [
5174
+ "zstd-safe 8.0.0",
5267
5175
  ]
5268
5176
 
5269
5177
  [[package]]
@@ -5275,11 +5183,20 @@ dependencies = [
5275
5183
  "zstd-sys",
5276
5184
  ]
5277
5185
 
5186
+ [[package]]
5187
+ name = "zstd-safe"
5188
+ version = "8.0.0"
5189
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5190
+ checksum = "ae42c0555055784c70058d19ba8e275528e8a99a706684868ace5da4e716a4ab"
5191
+ dependencies = [
5192
+ "zstd-sys",
5193
+ ]
5194
+
5278
5195
  [[package]]
5279
5196
  name = "zstd-sys"
5280
- version = "2.0.16+zstd.1.5.7"
5197
+ version = "2.1.0+zstd.1.5.7"
5281
5198
  source = "registry+https://github.com/rust-lang/crates.io-index"
5282
- checksum = "91e19ebc2adc8f83e43039e79776e3fda8ca919132d68a1fed6a5faca2683748"
5199
+ checksum = "0ef0a8027ec3ee71300ab3bcbcd0393f434aa72b91ca6d635a39941deae8eea0"
5283
5200
  dependencies = [
5284
5201
  "cc",
5285
5202
  "pkg-config",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "rustytree"
3
- version = "0.5.0"
3
+ version = "0.5.1"
4
4
  edition = "2024"
5
5
  rust-version = "1.91.1"
6
6
  license = "Apache-2.0"
@@ -68,7 +68,7 @@ serde_json = "1"
68
68
  # icechunk `Session` as `AsyncReadableListableStorageTraits` so the walk
69
69
  # code stays polymorphic: the same `open_single` runs against either an
70
70
  # icechunk session or a vanilla object_store-backed store.
71
- icechunk = "=2.1.0"
71
+ icechunk = "=2.2.2"
72
72
  zarrs_icechunk = "0.5"
73
73
 
74
74
  # msgpack codec — the same one icechunk's `Session::{as,from}_bytes` use. We use
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rustytree-xarray
3
- Version: 0.5.0
3
+ Version: 0.5.1
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Science/Research
6
6
  Classifier: License :: OSI Approved :: Apache Software License
@@ -14,7 +14,7 @@ Requires-Dist: xarray>=2024.10
14
14
  Requires-Dist: pytest>=7.0 ; extra == 'dev'
15
15
  Requires-Dist: pytest-cov>=4.0 ; extra == 'dev'
16
16
  Requires-Dist: zarr>=3.0 ; extra == 'dev'
17
- Requires-Dist: icechunk>=2.1.0,<2.2 ; extra == 'dev'
17
+ Requires-Dist: icechunk>=2.2.0,<2.3 ; extra == 'dev'
18
18
  Requires-Dist: ruff>=0.15.8,<0.16 ; extra == 'dev'
19
19
  Requires-Dist: dask[distributed]>=2024.1 ; extra == 'dev'
20
20
  Provides-Extra: dev
@@ -10,7 +10,7 @@ build-backend = "maturin"
10
10
  # `-`/`_`/case so they collapse). Users `pip install rustytree-xarray`,
11
11
  # then `import rustytree`.
12
12
  name = "rustytree-xarray"
13
- version = "0.5.0"
13
+ version = "0.5.1"
14
14
  description = "Rust-backed xarray DataTree backend for fast Zarr access from object storage"
15
15
  readme = "README.md"
16
16
  requires-python = ">=3.12"
@@ -42,11 +42,11 @@ dev = [
42
42
  "pytest>=7.0",
43
43
  "pytest-cov>=4.0",
44
44
  "zarr>=3.0",
45
- # Pin to icechunk's 2.1 minor: the msgpack `Session` bytes format is coupled
46
- # to the icechunk version rustytree's Rust extension links (`=2.1.0`), so the
45
+ # Pin to icechunk's 2.2 minor: the msgpack `Session` bytes format is coupled
46
+ # to the icechunk version rustytree's Rust extension links (`=2.2.2`), so the
47
47
  # Python and Rust icechunk must share a minor or `Session::from_bytes` fails
48
- # to recognise the store (the 2.0.5-vs-2.0.6 skew that motivated this bump).
49
- "icechunk>=2.1.0,<2.2",
48
+ # to recognise the store (the 2.0.5-vs-2.0.6 skew that motivated this pin).
49
+ "icechunk>=2.2.0,<2.3",
50
50
  # Pin ruff's minor so local dev and the CI `lint` job agree on formatting
51
51
  # rules — ruff can change its stable formatter across minors, which would
52
52
  # otherwise make `ruff format --check` pass locally but fail in CI (or vice
@@ -8,4 +8,4 @@ plugin discovery) doesn't pay the cdylib load cost upfront.
8
8
  from rustytree.backend import RustytreeBackendEntrypoint
9
9
 
10
10
  __all__ = ["RustytreeBackendEntrypoint"]
11
- __version__ = "0.5.0"
11
+ __version__ = "0.5.1"
@@ -44,7 +44,7 @@
44
44
  //! This couples rustytree to `icechunk-python`'s internal serialized shape (the
45
45
  //! `PythonCredentialsFetcher` type name and its `pickled_function` / `initial`
46
46
  //! fields). That coupling sits inside the byte-format coupling the project
47
- //! already accepts by pinning `icechunk = "=2.0.5"` and requiring a matching
47
+ //! already accepts by pinning `icechunk = "=2.2.2"` and requiring a matching
48
48
  //! `icechunk-python`. If a future `icechunk-python` renames the type, the tag no
49
49
  //! longer resolves and the friendly error in `python/rustytree/backend.py`
50
50
  //! explains the version mismatch. See
@@ -16,7 +16,7 @@ from rustytree.backend import RustytreeBackendEntrypoint
16
16
 
17
17
 
18
18
  def test_package_imports_with_version() -> None:
19
- assert rustytree.__version__ == "0.5.0"
19
+ assert rustytree.__version__ == "0.5.1"
20
20
 
21
21
 
22
22
  def test_rust_extension_importable() -> None: