zarrs 0.1.1__tar.gz → 0.1.2__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 (50) hide show
  1. {zarrs-0.1.1 → zarrs-0.1.2}/Cargo.lock +99 -75
  2. {zarrs-0.1.1 → zarrs-0.1.2}/Cargo.toml +2 -1
  3. {zarrs-0.1.1 → zarrs-0.1.2}/PKG-INFO +9 -6
  4. {zarrs-0.1.1 → zarrs-0.1.2}/README.md +7 -4
  5. {zarrs-0.1.1 → zarrs-0.1.2}/docs/index.md +0 -1
  6. {zarrs-0.1.1 → zarrs-0.1.2}/pyproject.toml +1 -1
  7. {zarrs-0.1.1 → zarrs-0.1.2}/python/zarrs/_internal.pyi +0 -4
  8. zarrs-0.1.2/python/zarrs/pipeline.py +241 -0
  9. {zarrs-0.1.1 → zarrs-0.1.2}/python/zarrs/utils.py +21 -13
  10. {zarrs-0.1.1 → zarrs-0.1.2}/src/chunk_item.rs +36 -7
  11. {zarrs-0.1.1 → zarrs-0.1.2}/src/lib.rs +8 -49
  12. zarrs-0.1.2/src/metadata_v2.rs +54 -0
  13. {zarrs-0.1.1 → zarrs-0.1.2}/tests/conftest.py +39 -69
  14. {zarrs-0.1.1 → zarrs-0.1.2}/tests/test_pipeline.py +66 -50
  15. zarrs-0.1.2/tests/test_v2.py +346 -0
  16. zarrs-0.1.1/docs/api.md +0 -13
  17. zarrs-0.1.1/python/zarrs/pipeline.py +0 -165
  18. {zarrs-0.1.1 → zarrs-0.1.2}/.github/workflows/cd.yml +0 -0
  19. {zarrs-0.1.1 → zarrs-0.1.2}/.github/workflows/ci.yml +0 -0
  20. {zarrs-0.1.1 → zarrs-0.1.2}/.github/workflows/version-cmp.py +0 -0
  21. {zarrs-0.1.1 → zarrs-0.1.2}/.gitignore +0 -0
  22. {zarrs-0.1.1 → zarrs-0.1.2}/.pre-commit-config.yaml +0 -0
  23. {zarrs-0.1.1 → zarrs-0.1.2}/.readthedocs.yml +0 -0
  24. {zarrs-0.1.1 → zarrs-0.1.2}/LICENSE +0 -0
  25. {zarrs-0.1.1 → zarrs-0.1.2}/docs/Makefile +0 -0
  26. {zarrs-0.1.1 → zarrs-0.1.2}/docs/conf.py +0 -0
  27. {zarrs-0.1.1 → zarrs-0.1.2}/docs/contributing.md +0 -0
  28. {zarrs-0.1.1 → zarrs-0.1.2}/docs/make.bat +0 -0
  29. {zarrs-0.1.1 → zarrs-0.1.2}/hatch.toml +0 -0
  30. {zarrs-0.1.1 → zarrs-0.1.2}/python/zarrs/__init__.py +0 -0
  31. {zarrs-0.1.1 → zarrs-0.1.2}/python/zarrs/py.typed +0 -0
  32. {zarrs-0.1.1 → zarrs-0.1.2}/src/bin/stub_gen.rs +0 -0
  33. {zarrs-0.1.1 → zarrs-0.1.2}/src/concurrency.rs +0 -0
  34. {zarrs-0.1.1 → zarrs-0.1.2}/src/runtime.rs +0 -0
  35. {zarrs-0.1.1 → zarrs-0.1.2}/src/store/filesystem.rs +0 -0
  36. {zarrs-0.1.1 → zarrs-0.1.2}/src/store/http.rs +0 -0
  37. {zarrs-0.1.1 → zarrs-0.1.2}/src/store/manager.rs +0 -0
  38. {zarrs-0.1.1 → zarrs-0.1.2}/src/store.rs +0 -0
  39. {zarrs-0.1.1 → zarrs-0.1.2}/src/tests.rs +0 -0
  40. {zarrs-0.1.1 → zarrs-0.1.2}/src/utils.rs +0 -0
  41. {zarrs-0.1.1 → zarrs-0.1.2}/tests/test_blosc.py +0 -0
  42. {zarrs-0.1.1 → zarrs-0.1.2}/tests/test_codecs.py +0 -0
  43. {zarrs-0.1.1 → zarrs-0.1.2}/tests/test_endian.py +0 -0
  44. {zarrs-0.1.1 → zarrs-0.1.2}/tests/test_gzip.py +0 -0
  45. {zarrs-0.1.1 → zarrs-0.1.2}/tests/test_sharding.py +0 -0
  46. {zarrs-0.1.1 → zarrs-0.1.2}/tests/test_transpose.py +0 -0
  47. {zarrs-0.1.1 → zarrs-0.1.2}/tests/test_version.py +0 -0
  48. {zarrs-0.1.1 → zarrs-0.1.2}/tests/test_vlen.py +0 -0
  49. {zarrs-0.1.1 → zarrs-0.1.2}/tests/test_zarrs_http.py +0 -0
  50. {zarrs-0.1.1 → zarrs-0.1.2}/tests/test_zstd.py +0 -0
@@ -55,9 +55,9 @@ checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04"
55
55
 
56
56
  [[package]]
57
57
  name = "async-trait"
58
- version = "0.1.85"
58
+ version = "0.1.86"
59
59
  source = "registry+https://github.com/rust-lang/crates.io-index"
60
- checksum = "3f934833b4b7233644e5848f235df3f57ed8c80f1528a26c3dfa13d2147fa056"
60
+ checksum = "644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d"
61
61
  dependencies = [
62
62
  "proc-macro2",
63
63
  "quote",
@@ -132,9 +132,9 @@ dependencies = [
132
132
 
133
133
  [[package]]
134
134
  name = "bumpalo"
135
- version = "3.16.0"
135
+ version = "3.17.0"
136
136
  source = "registry+https://github.com/rust-lang/crates.io-index"
137
- checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
137
+ checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf"
138
138
 
139
139
  [[package]]
140
140
  name = "bytemuck"
@@ -164,15 +164,15 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
164
164
 
165
165
  [[package]]
166
166
  name = "bytes"
167
- version = "1.9.0"
167
+ version = "1.10.0"
168
168
  source = "registry+https://github.com/rust-lang/crates.io-index"
169
- checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b"
169
+ checksum = "f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9"
170
170
 
171
171
  [[package]]
172
172
  name = "cc"
173
- version = "1.2.10"
173
+ version = "1.2.14"
174
174
  source = "registry+https://github.com/rust-lang/crates.io-index"
175
- checksum = "13208fcbb66eaeffe09b99fffbe1af420f00a7b35aa99ad683dfc1aa76145229"
175
+ checksum = "0c3d1b2e905a3a7b00a6141adb0e4c0bb941d11caf55349d863942a1cc44e3c9"
176
176
  dependencies = [
177
177
  "jobserver",
178
178
  "libc",
@@ -265,9 +265,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
265
265
 
266
266
  [[package]]
267
267
  name = "crunchy"
268
- version = "0.2.2"
268
+ version = "0.2.3"
269
269
  source = "registry+https://github.com/rust-lang/crates.io-index"
270
- checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
270
+ checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929"
271
271
 
272
272
  [[package]]
273
273
  name = "crypto-common"
@@ -506,10 +506,22 @@ dependencies = [
506
506
  "cfg-if",
507
507
  "js-sys",
508
508
  "libc",
509
- "wasi",
509
+ "wasi 0.11.0+wasi-snapshot-preview1",
510
510
  "wasm-bindgen",
511
511
  ]
512
512
 
513
+ [[package]]
514
+ name = "getrandom"
515
+ version = "0.3.1"
516
+ source = "registry+https://github.com/rust-lang/crates.io-index"
517
+ checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8"
518
+ dependencies = [
519
+ "cfg-if",
520
+ "libc",
521
+ "wasi 0.13.3+wasi-0.2.2",
522
+ "windows-targets",
523
+ ]
524
+
513
525
  [[package]]
514
526
  name = "gimli"
515
527
  version = "0.31.1"
@@ -592,15 +604,15 @@ dependencies = [
592
604
 
593
605
  [[package]]
594
606
  name = "httparse"
595
- version = "1.9.5"
607
+ version = "1.10.0"
596
608
  source = "registry+https://github.com/rust-lang/crates.io-index"
597
- checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946"
609
+ checksum = "f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a"
598
610
 
599
611
  [[package]]
600
612
  name = "hyper"
601
- version = "1.5.2"
613
+ version = "1.6.0"
602
614
  source = "registry+https://github.com/rust-lang/crates.io-index"
603
- checksum = "256fb8d4bd6413123cc9d91832d78325c48ff41677595be797d90f42969beae0"
615
+ checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80"
604
616
  dependencies = [
605
617
  "bytes",
606
618
  "futures-channel",
@@ -832,9 +844,9 @@ checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
832
844
 
833
845
  [[package]]
834
846
  name = "inventory"
835
- version = "0.3.17"
847
+ version = "0.3.19"
836
848
  source = "registry+https://github.com/rust-lang/crates.io-index"
837
- checksum = "3b31349d02fe60f80bbbab1a9402364cad7460626d6030494b08ac4a2075bf81"
849
+ checksum = "54b12ebb6799019b044deaf431eadfe23245b259bba5a2c0796acec3943a3cdb"
838
850
  dependencies = [
839
851
  "rustversion",
840
852
  ]
@@ -1033,9 +1045,9 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
1033
1045
 
1034
1046
  [[package]]
1035
1047
  name = "miniz_oxide"
1036
- version = "0.8.3"
1048
+ version = "0.8.4"
1037
1049
  source = "registry+https://github.com/rust-lang/crates.io-index"
1038
- checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924"
1050
+ checksum = "b3b1c9bd4fe1f0f8b387f6eb9eb3b4a1aa26185e5750efb9140301703f62cd1b"
1039
1051
  dependencies = [
1040
1052
  "adler2",
1041
1053
  ]
@@ -1047,7 +1059,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1047
1059
  checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd"
1048
1060
  dependencies = [
1049
1061
  "libc",
1050
- "wasi",
1062
+ "wasi 0.11.0+wasi-snapshot-preview1",
1051
1063
  "windows-sys 0.52.0",
1052
1064
  ]
1053
1065
 
@@ -1216,15 +1228,15 @@ dependencies = [
1216
1228
 
1217
1229
  [[package]]
1218
1230
  name = "once_cell"
1219
- version = "1.20.2"
1231
+ version = "1.20.3"
1220
1232
  source = "registry+https://github.com/rust-lang/crates.io-index"
1221
- checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
1233
+ checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e"
1222
1234
 
1223
1235
  [[package]]
1224
1236
  name = "opendal"
1225
- version = "0.51.1"
1237
+ version = "0.51.2"
1226
1238
  source = "registry+https://github.com/rust-lang/crates.io-index"
1227
- checksum = "8c9dcfa7a3615e3c60eb662ed6b46b6f244cf2658098f593c0c0915430b3a268"
1239
+ checksum = "5b1063ea459fa9e94584115743b06330f437902dd1d9f692b863ef1875a20548"
1228
1240
  dependencies = [
1229
1241
  "anyhow",
1230
1242
  "async-trait",
@@ -1233,7 +1245,7 @@ dependencies = [
1233
1245
  "bytes",
1234
1246
  "chrono",
1235
1247
  "futures",
1236
- "getrandom",
1248
+ "getrandom 0.2.15",
1237
1249
  "http",
1238
1250
  "log",
1239
1251
  "md-5",
@@ -1249,9 +1261,9 @@ dependencies = [
1249
1261
 
1250
1262
  [[package]]
1251
1263
  name = "openssl"
1252
- version = "0.10.68"
1264
+ version = "0.10.70"
1253
1265
  source = "registry+https://github.com/rust-lang/crates.io-index"
1254
- checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5"
1266
+ checksum = "61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6"
1255
1267
  dependencies = [
1256
1268
  "bitflags",
1257
1269
  "cfg-if",
@@ -1275,18 +1287,18 @@ dependencies = [
1275
1287
 
1276
1288
  [[package]]
1277
1289
  name = "openssl-src"
1278
- version = "300.4.1+3.4.0"
1290
+ version = "300.4.2+3.4.1"
1279
1291
  source = "registry+https://github.com/rust-lang/crates.io-index"
1280
- checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c"
1292
+ checksum = "168ce4e058f975fe43e89d9ccf78ca668601887ae736090aacc23ae353c298e2"
1281
1293
  dependencies = [
1282
1294
  "cc",
1283
1295
  ]
1284
1296
 
1285
1297
  [[package]]
1286
1298
  name = "openssl-sys"
1287
- version = "0.9.104"
1299
+ version = "0.9.105"
1288
1300
  source = "registry+https://github.com/rust-lang/crates.io-index"
1289
- checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741"
1301
+ checksum = "8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc"
1290
1302
  dependencies = [
1291
1303
  "cc",
1292
1304
  "libc",
@@ -1526,7 +1538,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1526
1538
  checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d"
1527
1539
  dependencies = [
1528
1540
  "bytes",
1529
- "getrandom",
1541
+ "getrandom 0.2.15",
1530
1542
  "rand",
1531
1543
  "ring",
1532
1544
  "rustc-hash",
@@ -1541,9 +1553,9 @@ dependencies = [
1541
1553
 
1542
1554
  [[package]]
1543
1555
  name = "quinn-udp"
1544
- version = "0.5.9"
1556
+ version = "0.5.10"
1545
1557
  source = "registry+https://github.com/rust-lang/crates.io-index"
1546
- checksum = "1c40286217b4ba3a71d644d752e6a0b71f13f1b6a2c5311acfcbe0c2418ed904"
1558
+ checksum = "e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944"
1547
1559
  dependencies = [
1548
1560
  "cfg_aliases",
1549
1561
  "libc",
@@ -1589,7 +1601,7 @@ version = "0.6.4"
1589
1601
  source = "registry+https://github.com/rust-lang/crates.io-index"
1590
1602
  checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
1591
1603
  dependencies = [
1592
- "getrandom",
1604
+ "getrandom 0.2.15",
1593
1605
  ]
1594
1606
 
1595
1607
  [[package]]
@@ -1727,15 +1739,14 @@ dependencies = [
1727
1739
 
1728
1740
  [[package]]
1729
1741
  name = "ring"
1730
- version = "0.17.8"
1742
+ version = "0.17.9"
1731
1743
  source = "registry+https://github.com/rust-lang/crates.io-index"
1732
- checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
1744
+ checksum = "e75ec5e92c4d8aede845126adc388046234541629e76029599ed35a003c7ed24"
1733
1745
  dependencies = [
1734
1746
  "cc",
1735
1747
  "cfg-if",
1736
- "getrandom",
1748
+ "getrandom 0.2.15",
1737
1749
  "libc",
1738
- "spin",
1739
1750
  "untrusted",
1740
1751
  "windows-sys 0.52.0",
1741
1752
  ]
@@ -1748,9 +1759,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
1748
1759
 
1749
1760
  [[package]]
1750
1761
  name = "rustc-hash"
1751
- version = "2.1.0"
1762
+ version = "2.1.1"
1752
1763
  source = "registry+https://github.com/rust-lang/crates.io-index"
1753
- checksum = "c7fb8039b3032c191086b10f11f319a6e99e1e82889c5cc6046f515c9db1d497"
1764
+ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
1754
1765
 
1755
1766
  [[package]]
1756
1767
  name = "rustc_version"
@@ -1763,9 +1774,9 @@ dependencies = [
1763
1774
 
1764
1775
  [[package]]
1765
1776
  name = "rustls"
1766
- version = "0.23.21"
1777
+ version = "0.23.23"
1767
1778
  source = "registry+https://github.com/rust-lang/crates.io-index"
1768
- checksum = "8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8"
1779
+ checksum = "47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395"
1769
1780
  dependencies = [
1770
1781
  "once_cell",
1771
1782
  "ring",
@@ -1786,9 +1797,9 @@ dependencies = [
1786
1797
 
1787
1798
  [[package]]
1788
1799
  name = "rustls-pki-types"
1789
- version = "1.10.1"
1800
+ version = "1.11.0"
1790
1801
  source = "registry+https://github.com/rust-lang/crates.io-index"
1791
- checksum = "d2bf47e6ff922db3825eb750c4e2ff784c6ff8fb9e13046ef6a1d1c5401b0b37"
1802
+ checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c"
1792
1803
  dependencies = [
1793
1804
  "web-time",
1794
1805
  ]
@@ -1812,9 +1823,9 @@ checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4"
1812
1823
 
1813
1824
  [[package]]
1814
1825
  name = "ryu"
1815
- version = "1.0.18"
1826
+ version = "1.0.19"
1816
1827
  source = "registry+https://github.com/rust-lang/crates.io-index"
1817
- checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
1828
+ checksum = "6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd"
1818
1829
 
1819
1830
  [[package]]
1820
1831
  name = "same-file"
@@ -1865,9 +1876,9 @@ dependencies = [
1865
1876
 
1866
1877
  [[package]]
1867
1878
  name = "serde_json"
1868
- version = "1.0.137"
1879
+ version = "1.0.138"
1869
1880
  source = "registry+https://github.com/rust-lang/crates.io-index"
1870
- checksum = "930cfb6e6abf99298aaad7d29abbef7a9999a9a8806a40088f55f0dcec03146b"
1881
+ checksum = "d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949"
1871
1882
  dependencies = [
1872
1883
  "indexmap",
1873
1884
  "itoa",
@@ -1958,12 +1969,6 @@ dependencies = [
1958
1969
  "windows-sys 0.52.0",
1959
1970
  ]
1960
1971
 
1961
- [[package]]
1962
- name = "spin"
1963
- version = "0.9.8"
1964
- source = "registry+https://github.com/rust-lang/crates.io-index"
1965
- checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
1966
-
1967
1972
  [[package]]
1968
1973
  name = "stable_deref_trait"
1969
1974
  version = "1.2.0"
@@ -1978,9 +1983,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
1978
1983
 
1979
1984
  [[package]]
1980
1985
  name = "syn"
1981
- version = "2.0.96"
1986
+ version = "2.0.98"
1982
1987
  source = "registry+https://github.com/rust-lang/crates.io-index"
1983
- checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
1988
+ checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1"
1984
1989
  dependencies = [
1985
1990
  "proc-macro2",
1986
1991
  "quote",
@@ -2134,9 +2139,9 @@ dependencies = [
2134
2139
 
2135
2140
  [[package]]
2136
2141
  name = "toml"
2137
- version = "0.8.19"
2142
+ version = "0.8.20"
2138
2143
  source = "registry+https://github.com/rust-lang/crates.io-index"
2139
- checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
2144
+ checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148"
2140
2145
  dependencies = [
2141
2146
  "serde",
2142
2147
  "serde_spanned",
@@ -2155,9 +2160,9 @@ dependencies = [
2155
2160
 
2156
2161
  [[package]]
2157
2162
  name = "toml_edit"
2158
- version = "0.22.22"
2163
+ version = "0.22.24"
2159
2164
  source = "registry+https://github.com/rust-lang/crates.io-index"
2160
- checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"
2165
+ checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474"
2161
2166
  dependencies = [
2162
2167
  "indexmap",
2163
2168
  "serde",
@@ -2256,9 +2261,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
2256
2261
 
2257
2262
  [[package]]
2258
2263
  name = "unicode-ident"
2259
- version = "1.0.14"
2264
+ version = "1.0.16"
2260
2265
  source = "registry+https://github.com/rust-lang/crates.io-index"
2261
- checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
2266
+ checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034"
2262
2267
 
2263
2268
  [[package]]
2264
2269
  name = "unicode-xid"
@@ -2309,11 +2314,11 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
2309
2314
 
2310
2315
  [[package]]
2311
2316
  name = "uuid"
2312
- version = "1.12.0"
2317
+ version = "1.13.1"
2313
2318
  source = "registry+https://github.com/rust-lang/crates.io-index"
2314
- checksum = "744018581f9a3454a9e15beb8a33b017183f1e7c0cd170232a2d1453b23a51c4"
2319
+ checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0"
2315
2320
  dependencies = [
2316
- "getrandom",
2321
+ "getrandom 0.3.1",
2317
2322
  "serde",
2318
2323
  ]
2319
2324
 
@@ -2360,6 +2365,15 @@ version = "0.11.0+wasi-snapshot-preview1"
2360
2365
  source = "registry+https://github.com/rust-lang/crates.io-index"
2361
2366
  checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
2362
2367
 
2368
+ [[package]]
2369
+ name = "wasi"
2370
+ version = "0.13.3+wasi-0.2.2"
2371
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2372
+ checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2"
2373
+ dependencies = [
2374
+ "wit-bindgen-rt",
2375
+ ]
2376
+
2363
2377
  [[package]]
2364
2378
  name = "wasm-bindgen"
2365
2379
  version = "0.2.100"
@@ -2466,9 +2480,9 @@ dependencies = [
2466
2480
 
2467
2481
  [[package]]
2468
2482
  name = "webpki-roots"
2469
- version = "0.26.7"
2483
+ version = "0.26.8"
2470
2484
  source = "registry+https://github.com/rust-lang/crates.io-index"
2471
- checksum = "5d642ff16b7e79272ae451b7322067cdc17cadf68c23264be9d94a32319efe7e"
2485
+ checksum = "2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9"
2472
2486
  dependencies = [
2473
2487
  "rustls-pki-types",
2474
2488
  ]
@@ -2672,13 +2686,22 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
2672
2686
 
2673
2687
  [[package]]
2674
2688
  name = "winnow"
2675
- version = "0.6.24"
2689
+ version = "0.7.2"
2676
2690
  source = "registry+https://github.com/rust-lang/crates.io-index"
2677
- checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a"
2691
+ checksum = "59690dea168f2198d1a3b0cac23b8063efcd11012f10ae4698f284808c8ef603"
2678
2692
  dependencies = [
2679
2693
  "memchr",
2680
2694
  ]
2681
2695
 
2696
+ [[package]]
2697
+ name = "wit-bindgen-rt"
2698
+ version = "0.33.0"
2699
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2700
+ checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c"
2701
+ dependencies = [
2702
+ "bitflags",
2703
+ ]
2704
+
2682
2705
  [[package]]
2683
2706
  name = "write16"
2684
2707
  version = "1.0.0"
@@ -2717,9 +2740,9 @@ dependencies = [
2717
2740
 
2718
2741
  [[package]]
2719
2742
  name = "zarrs"
2720
- version = "0.19.1"
2743
+ version = "0.19.2"
2721
2744
  source = "registry+https://github.com/rust-lang/crates.io-index"
2722
- checksum = "31e2f93fd265f6aae3293381e6f7d3a8f1c16e057bf3561681eef1c7bd8e7773"
2745
+ checksum = "b93e0ba1b5bd7ffeb95bb9a050312319483de95febf5d0c558f373eb3435f5c5"
2723
2746
  dependencies = [
2724
2747
  "async-trait",
2725
2748
  "blosc-src",
@@ -2752,7 +2775,7 @@ dependencies = [
2752
2775
 
2753
2776
  [[package]]
2754
2777
  name = "zarrs-python"
2755
- version = "0.1.1"
2778
+ version = "0.1.2"
2756
2779
  dependencies = [
2757
2780
  "numpy",
2758
2781
  "opendal",
@@ -2765,6 +2788,7 @@ dependencies = [
2765
2788
  "tokio",
2766
2789
  "unsafe_cell_slice",
2767
2790
  "zarrs",
2791
+ "zarrs_metadata",
2768
2792
  "zarrs_opendal",
2769
2793
  ]
2770
2794
 
@@ -2788,9 +2812,9 @@ dependencies = [
2788
2812
 
2789
2813
  [[package]]
2790
2814
  name = "zarrs_metadata"
2791
- version = "0.3.0"
2815
+ version = "0.3.4"
2792
2816
  source = "registry+https://github.com/rust-lang/crates.io-index"
2793
- checksum = "502559b979fcf9ae7a24815a86f8aa80ee76cf5b5bb197686e965a104c60b6cc"
2817
+ checksum = "51264af776822ab82acf9e3988334eecbea18d4484eb671eed3bbebdd4ea5046"
2794
2818
  dependencies = [
2795
2819
  "derive_more",
2796
2820
  "half",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "zarrs-python"
3
- version = "0.1.1"
3
+ version = "0.1.2"
4
4
  edition = "2021"
5
5
  publish = false
6
6
 
@@ -22,6 +22,7 @@ pyo3-stub-gen = "0.6.2"
22
22
  opendal = { version = "0.51.0", features = ["services-http"] }
23
23
  tokio = { version = "1.41.1", features = ["rt-multi-thread"] }
24
24
  zarrs_opendal = "0.5.0"
25
+ zarrs_metadata = "0.3.3" # require recent zarr-python compatibility fixes (remove with zarrs 0.20)
25
26
 
26
27
  [profile.release]
27
28
  lto = true
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: zarrs
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -16,7 +16,7 @@ Requires-Dist: typing-extensions
16
16
  Requires-Dist: donfig
17
17
  Requires-Dist: pytest
18
18
  Requires-Dist: universal-pathlib >=0.2.0
19
- Requires-Dist: zarr >=3.0.0
19
+ Requires-Dist: zarr
20
20
  Requires-Dist: coverage ; extra == 'test'
21
21
  Requires-Dist: pytest ; extra == 'test'
22
22
  Requires-Dist: pytest-cov ; extra == 'test'
@@ -68,7 +68,7 @@ You can then use your `zarr` as normal (with some caveats)!
68
68
 
69
69
  ## API
70
70
 
71
- We export a `ZarrsCodecPipeline` class so that `zarr-python` can use the class but it is not meant to be instantiated and we do not guarantee the stability of its API beyond what is required so that `zarr-python` can use it. Therefore, it is not documented here. We also export two errors, `DiscontiguousArrayError` and `CollapsedDimensionError` that can be thrown in the process of converting to indexers that `zarrs` can understand (see below for more details).
71
+ We export a `ZarrsCodecPipeline` class so that `zarr-python` can use the class but it is not meant to be instantiated and we do not guarantee the stability of its API beyond what is required so that `zarr-python` can use it. Therefore, it is not documented here.
72
72
 
73
73
  At the moment, we only support a subset of the `zarr-python` stores:
74
74
 
@@ -133,7 +133,7 @@ Chunk concurrency is typically favored because:
133
133
 
134
134
  ## Supported Indexing Methods
135
135
 
136
- We **do not** officially support the following indexing methods. Some of these methods may error out, others may not:
136
+ The following methods will trigger use with the old zarr-python pipeline:
137
137
 
138
138
  1. Any `oindex` or `vindex` integer `np.ndarray` indexing with dimensionality >=3 i.e.,
139
139
 
@@ -163,7 +163,10 @@ We **do not** officially support the following indexing methods. Some of these
163
163
  arr[0:10, ..., 0:5]
164
164
  ```
165
165
 
166
- Otherwise, we believe that we support your indexing case: slices, ints, and all integer `np.ndarray` indices in 2D for reading, contiguous integer `np.ndarray` indices along one axis for writing etc. Please file an issue if you believe we have more holes in our coverage than we are aware of or you wish to contribute! For example, we have an [issue in zarrs for integer-array indexing](https://github.com/LDeakin/zarrs/issues/52) that would unblock a lot of these issues!
167
166
 
168
- That being said, using non-contiguous integer `np.ndarray` indexing for reads may not be as fast as expected given the performance of other supported methods. Until `zarrs` supports integer indexing, only fetching chunks is done in `rust` while indexing then occurs in `python`.
167
+ Furthermore, using anything except contiguous (i.e., slices or consecutive integer) `np.ndarray` for numeric data will fall back to the default `zarr-python` implementation.
168
+
169
+ Please file an issue if you believe we have more holes in our coverage than we are aware of or you wish to contribute! For example, we have an [issue in zarrs for integer-array indexing](https://github.com/LDeakin/zarrs/issues/52) that would unblock a lot the use of the rust pipeline for that use-case (very useful for mini-batch training perhaps!).
170
+
171
+ Further, any codecs not supported by `zarrs` will also automatically fall back to the python implementation.
169
172
 
@@ -21,7 +21,7 @@ You can then use your `zarr` as normal (with some caveats)!
21
21
 
22
22
  ## API
23
23
 
24
- We export a `ZarrsCodecPipeline` class so that `zarr-python` can use the class but it is not meant to be instantiated and we do not guarantee the stability of its API beyond what is required so that `zarr-python` can use it. Therefore, it is not documented here. We also export two errors, `DiscontiguousArrayError` and `CollapsedDimensionError` that can be thrown in the process of converting to indexers that `zarrs` can understand (see below for more details).
24
+ We export a `ZarrsCodecPipeline` class so that `zarr-python` can use the class but it is not meant to be instantiated and we do not guarantee the stability of its API beyond what is required so that `zarr-python` can use it. Therefore, it is not documented here.
25
25
 
26
26
  At the moment, we only support a subset of the `zarr-python` stores:
27
27
 
@@ -86,7 +86,7 @@ Chunk concurrency is typically favored because:
86
86
 
87
87
  ## Supported Indexing Methods
88
88
 
89
- We **do not** officially support the following indexing methods. Some of these methods may error out, others may not:
89
+ The following methods will trigger use with the old zarr-python pipeline:
90
90
 
91
91
  1. Any `oindex` or `vindex` integer `np.ndarray` indexing with dimensionality >=3 i.e.,
92
92
 
@@ -116,6 +116,9 @@ We **do not** officially support the following indexing methods. Some of these
116
116
  arr[0:10, ..., 0:5]
117
117
  ```
118
118
 
119
- Otherwise, we believe that we support your indexing case: slices, ints, and all integer `np.ndarray` indices in 2D for reading, contiguous integer `np.ndarray` indices along one axis for writing etc. Please file an issue if you believe we have more holes in our coverage than we are aware of or you wish to contribute! For example, we have an [issue in zarrs for integer-array indexing](https://github.com/LDeakin/zarrs/issues/52) that would unblock a lot of these issues!
120
119
 
121
- That being said, using non-contiguous integer `np.ndarray` indexing for reads may not be as fast as expected given the performance of other supported methods. Until `zarrs` supports integer indexing, only fetching chunks is done in `rust` while indexing then occurs in `python`.
120
+ Furthermore, using anything except contiguous (i.e., slices or consecutive integer) `np.ndarray` for numeric data will fall back to the default `zarr-python` implementation.
121
+
122
+ Please file an issue if you believe we have more holes in our coverage than we are aware of or you wish to contribute! For example, we have an [issue in zarrs for integer-array indexing](https://github.com/LDeakin/zarrs/issues/52) that would unblock a lot the use of the rust pipeline for that use-case (very useful for mini-batch training perhaps!).
123
+
124
+ Further, any codecs not supported by `zarrs` will also automatically fall back to the python implementation.
@@ -5,6 +5,5 @@
5
5
  :hidden: true
6
6
  :maxdepth: 1
7
7
 
8
- api
9
8
  contributing
10
9
  ```
@@ -30,7 +30,7 @@ dependencies = [
30
30
  'donfig',
31
31
  'pytest',
32
32
  'universal_pathlib>=0.2.0',
33
- 'zarr>=3.0.0',
33
+ "zarr",
34
34
  ]
35
35
 
36
36
  [project.optional-dependencies]
@@ -4,7 +4,6 @@
4
4
  import typing
5
5
  from enum import Enum, auto
6
6
 
7
- import numpy
8
7
  import numpy.typing
9
8
 
10
9
  class Basic:
@@ -27,9 +26,6 @@ class CodecPipelineImpl:
27
26
  chunk_descriptions: typing.Sequence[WithSubset],
28
27
  value: numpy.typing.NDArray[typing.Any],
29
28
  ) -> None: ...
30
- def retrieve_chunks(
31
- self, chunk_descriptions: typing.Sequence[Basic]
32
- ) -> list[numpy.typing.NDArray[numpy.uint8]]: ...
33
29
  def store_chunks_with_indices(
34
30
  self,
35
31
  chunk_descriptions: typing.Sequence[WithSubset],