icechunk 1.1.17__tar.gz → 1.1.18__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.
- {icechunk-1.1.17 → icechunk-1.1.18}/PKG-INFO +1 -1
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/Cargo.toml +1 -1
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/config.rs +88 -5
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/session.rs +3 -2
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/Cargo.toml +2 -2
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_config.py +33 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/LICENSE +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/examples/low_level_dataset.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/examples/multithreaded_get_chunk_refs.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/examples/multithreaded_store.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/flatbuffers/all.fbs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/flatbuffers/manifest.fbs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/flatbuffers/object_ids.fbs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/flatbuffers/snapshot.fbs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/flatbuffers/transaction_log.fbs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/proptest-regressions/dataset.txt +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/proptest-regressions/format/manifest.txt +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/proptest-regressions/manifest.txt +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/proptest-regressions/session.txt +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/proptest-regressions/storage/mod.txt +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/proptest-regressions/storage/s3.txt +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/proptest-regressions/storage/virtual_ref.txt +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/asset_manager.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/bin/icechunk/main.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/change_set.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/cli/config.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/cli/interface.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/cli/mod.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/conflicts/basic_solver.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/conflicts/detector.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/conflicts/mod.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/error.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/format/attributes.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/format/flatbuffers/all_generated.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/format/manifest.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/format/mod.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/format/serializers/mod.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/format/snapshot.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/format/transaction_log.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/inspect.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/lib.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/ops/gc.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/ops/manifests.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/ops/mod.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/ops/stats.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/refs.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/repository.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/storage/logging.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/storage/mod.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/storage/object_store.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/storage/s3.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/store.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/strategies.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/stream_utils.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/src/virtual_chunks.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/tests/common/mod.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/tests/test_concurrency.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/tests/test_distributed_writes.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/tests/test_gc.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/tests/test_large_manifests.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/tests/test_stats.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/tests/test_storage.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk/tests/test_virtual_refs.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-macros/Cargo.toml +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-macros/src/lib.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/.gitignore +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/Cargo.lock +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/LICENSE +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/__init__.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/coiled_runner.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/conftest.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/create_era5.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/datasets.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/envs/icechunk-alpha-12.txt +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/envs/icechunk-alpha-release.txt +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/helpers.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/lib.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/most_recent.sh +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/pytest.ini +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/runner.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/tasks.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/test_benchmark_reads.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/test_benchmark_writes.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/examples/bank_accounts.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/examples/dask_write.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/examples/high_concurrency.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/examples/mpwrite.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/examples/run_in_ci.sh +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/integration_tests/test_r2.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/__init__.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/_icechunk_python.pyi +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/credentials.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/dask.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/distributed.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/py.typed +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/repository.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/session.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/storage.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/store.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/testing/strategies.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/vendor/__init__.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/vendor/xarray.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/python/icechunk/xarray.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/scripts/check_xarray_docs_sync.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/scripts/known-xarray-doc-diffs.json +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/src/config.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/src/conflicts.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/src/errors.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/src/lib.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/src/pickle.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/src/repository.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/src/session.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/src/stats.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/src/store.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/src/streams.rs +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/__init__.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/conftest.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/28H289BT7JSZKZ6W5F70 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/29CS30CK3D3CFVFBEZ80 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/39KTEACWZDMQ42C0TK5G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/3CQH7MY9P8QFNE5TWMZ0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/3JWEBSQZ1AQT9RK46JHG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/4DCZD8GC46090M65S46G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/4KXQX71CPA8ASE25X02G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/5M551EG8VHX6GK2RVYEG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/8Y59PE3EQ1NHY32W80PG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/9JSXG2S6R7JW530266FG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/9Q4DF3ZK93B35EW1Q0W0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/A14DFW1AMR9GJY82B480 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/C43XA0532YJN8FFJQSV0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/DB0FK4TGE2CYP5N5H5MG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/DN7QKGTXF72JRSP1R59G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/E06NN106F0RD1DKC57B0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/E88W8NWPPQ0DDP6MAQE0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/EDKREXA5PA5KMVMYT1T0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/EMXV4G2NH651YQHCN5SG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/F2FF589RGM5TQPJ4XS30 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/FX2THCNDEF1TPJVVW6CG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/GD7FA0K8HRGV0XK609W0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/HNW4TH4RRN5ECR7PH4Z0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/JH2K5GX77HJWDR3BRHN0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/KYA9AWYNRNH4KDN3YS1G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/MHYQZGW0T34H7566ND30 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/MJC2EWJ8DTBA7P46REFG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/N4EXVBQKBGCMTXX6PEJ0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/P6C9986C6R2P9EP30XCG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/P9JDEJ02DTDBGJDASRB0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/PAMW4ZQ7FVP7E1AZR2W0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/PZ5F8FQKKA144F08ANG0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/QDZDYMBSPJ4M0T34BEPG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/QEDGZDXTPJEX179WCT6G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/RQM2HG8XAD9KP8S2TRKG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/T394Y31WDT1VCVFY3A80 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/TXZ35HQMB7RHFJKRNXZG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/V66JMMKW77DCFEGRVSK0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/VGFD4TNTAETR77B9RK8G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/VJM5MNFQ7KQ7ERCWFNT0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/W4G0HS519TZDQBDAD01G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/XZAFNSMV272D9X70HC50 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/YFGVD91WZJM9FKAB4PQG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/YGWDY7HYDBVBPKSJYK40 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/YQ0KA7YQ737KNCT5F0BG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/YRS4NW2FJM8P66MCF8E0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/YWQDK4GG3H7JF189CN6G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/chunks/Z50RSERZRJZNTFRPDW80 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/config.yaml +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/15KJFGXKPM1KRGFZ52D0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/19KPV7V2275XRM01YAWG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/2PQ1EA39NB2VK7QK688G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/3QYVB4AX7J2XF0QAEX1G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/62CS3ENEZP4MJHPAW12G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/7V2NE5Q4H7SN9QF0ZHJ0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/7WT30WPG1HF0P2QXGV6G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/88Z1G93EH4VF9X28BBHG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/AAJX4KKQQH72RK949AA0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/B81H9ZEGPV7E15CWXA10 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/CZMYYDSX2SX36J47WN9G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/D5CVGKP2G5DP6C277YAG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/D6QG80A0HJW564ZXRBRG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/DDPY0EEPKZXW1ACW41HG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/DNTQPT8BPWQJ1N2K3KN0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/EN0XHAX4APG96CNX1PF0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/F22E2GTDKW73XFV884JG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/FM7YJ4BBE12X6CE0T4AG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/HB9W7VCB4QA786S2XJBG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/J3ZNDGTGA4AY29S8SJVG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/KCR2FSZ5WFVV39SRQWB0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/MZG15YADGEG849HP3DPG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/NGW2FB9H515MEMPRJCNG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/NYEQXA5QV0780CE19HFG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/PZCTNRCT17DDAH1Q8B00 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/Q8WDWGQ0T78AEXKHRV40 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/QDR73V4TZ4M6CW1PNPSG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/QYDWRAXGKCFNV0645F80 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/RF0DB8QD7R68HNHPAXVG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/RNXAWAZHFV0CDV8JJVBG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/RVXQ0DMYANQPV6X32690 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/TTSZ8VYDX0Y7PB6A13H0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/WS2BZ61Q1V564ZG6GSJG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/XXCGBC5VMRPB89PFMFGG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/manifests/ZEQVP57D4FWAZJ0BJV6G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/refs/branch.main/ref.json +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/snapshots/BYJMXJ1CHYE86YSHESR0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/snapshots/EH9VY081CEHEFY5Y11E0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/snapshots/QYX6FZ0NZAKSV5XMDSGG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/snapshots/W1ZXYGWWEXKXS2J6TQGG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/snapshots/X8NA4KMB3XYEDM2FAJEG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/transactions/BYJMXJ1CHYE86YSHESR0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/transactions/QYX6FZ0NZAKSV5XMDSGG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/transactions/W1ZXYGWWEXKXS2J6TQGG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/split-repo/transactions/X8NA4KMB3XYEDM2FAJEG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/chunks/09HEW2P03CSMHFAZY7DG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/chunks/52H0E4NSPN8SVRK9EVGG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/chunks/DWQ75SDC624XF9H326RG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/chunks/RW938N1KP2R4BHMW62QG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/config.yaml +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/manifests/CMYVHDWMSTG9R25780YG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/manifests/G3W2W8V6ZG09J6C21WE0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/manifests/Q04J7QW5RQ8D17TPA10G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/manifests/SHTEAP8C784YMZSJKBM0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/refs/branch.main/ref.json +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/refs/branch.my-branch/ref.json +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/refs/tag.deleted/ref.json +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/refs/tag.deleted/ref.json.deleted +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/refs/tag.it also works!/ref.json +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/refs/tag.it works!/ref.json +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/snapshots/4QF8JA0YPDN51MHSSYVG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/snapshots/7XAF0Q905SH4938DN9CG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/snapshots/GC4YVH5SKBPEZCENYQE0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/snapshots/NXH3M0HJ7EEJ0699DPP0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/snapshots/P874YS3J196959RDHX7G +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/snapshots/XDZ162T1TYBEJMK99NPG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/transactions/4QF8JA0YPDN51MHSSYVG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/transactions/7XAF0Q905SH4938DN9CG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/transactions/GC4YVH5SKBPEZCENYQE0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/transactions/NXH3M0HJ7EEJ0699DPP0 +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/data/test-repo/transactions/XDZ162T1TYBEJMK99NPG +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/run_xarray_backends_tests.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_can_read_old.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_commit_properties.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_concurrency.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_conflicts.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_credentials.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_dask.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_debuginfo.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_distributed_append.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_distributed_writers.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_error.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_gc.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_inspect.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_logs.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_manifest_splitting.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_pickle.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_regressions.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_session.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_stateful_repo_ops.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_stats.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_store.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_timetravel.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_virtual_ref.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_xarray.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_zarr/__init__.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_zarr/test_array.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_zarr/test_group.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_zarr/test_properties.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_zarr/test_stateful.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_zarr/test_store/__init__.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_zarr/test_store/test_core.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/tests/test_zarr/test_store/test_icechunk_store.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/pyproject.toml +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/__init__.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/_icechunk_python.pyi +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/credentials.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/dask.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/distributed.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/py.typed +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/repository.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/session.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/storage.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/store.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/testing/strategies.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/vendor/__init__.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/vendor/xarray.py +0 -0
- {icechunk-1.1.17 → icechunk-1.1.18}/python/icechunk/xarray.py +0 -0
|
@@ -450,6 +450,8 @@ impl RepositoryConfig {
|
|
|
450
450
|
(Some(s), None) => Some(s.clone()),
|
|
451
451
|
(Some(mine), Some(theirs)) => Some(mine.merge(theirs)),
|
|
452
452
|
},
|
|
453
|
+
// For virtual_chunk_containers, replace rather than extend.
|
|
454
|
+
// This is consistent with other fields: if specified, it replaces.
|
|
453
455
|
virtual_chunk_containers: match (
|
|
454
456
|
&self.virtual_chunk_containers,
|
|
455
457
|
other.virtual_chunk_containers,
|
|
@@ -457,11 +459,7 @@ impl RepositoryConfig {
|
|
|
457
459
|
(None, None) => None,
|
|
458
460
|
(None, Some(c)) => Some(c),
|
|
459
461
|
(Some(c), None) => Some(c.clone()),
|
|
460
|
-
(Some(
|
|
461
|
-
let mut merged = mine.clone();
|
|
462
|
-
merged.extend(theirs);
|
|
463
|
-
Some(merged)
|
|
464
|
-
}
|
|
462
|
+
(Some(_), Some(theirs)) => Some(theirs),
|
|
465
463
|
},
|
|
466
464
|
manifest: match (&self.manifest, other.manifest) {
|
|
467
465
|
(None, None) => None,
|
|
@@ -678,4 +676,89 @@ mod tests {
|
|
|
678
676
|
assert_eq!(config, roundtrip);
|
|
679
677
|
}
|
|
680
678
|
}
|
|
679
|
+
|
|
680
|
+
#[icechunk_macros::test]
|
|
681
|
+
fn test_merge_replaces_virtual_chunk_containers() {
|
|
682
|
+
// Create a config with a VCC
|
|
683
|
+
let mut config1 = RepositoryConfig::default();
|
|
684
|
+
config1.set_virtual_chunk_container(
|
|
685
|
+
VirtualChunkContainer::new(
|
|
686
|
+
"s3://bucket1/".to_string(),
|
|
687
|
+
ObjectStoreConfig::S3(S3Options {
|
|
688
|
+
region: Some("us-east-1".to_string()),
|
|
689
|
+
endpoint_url: None,
|
|
690
|
+
anonymous: false,
|
|
691
|
+
allow_http: false,
|
|
692
|
+
force_path_style: false,
|
|
693
|
+
network_stream_timeout_seconds: None,
|
|
694
|
+
requester_pays: false,
|
|
695
|
+
}),
|
|
696
|
+
)
|
|
697
|
+
.unwrap(),
|
|
698
|
+
);
|
|
699
|
+
|
|
700
|
+
// Create a config with no VCCs (cleared)
|
|
701
|
+
let mut config2 = RepositoryConfig::default();
|
|
702
|
+
config2.clear_virtual_chunk_containers();
|
|
703
|
+
|
|
704
|
+
// Merge: config2 (empty VCCs) should replace config1's VCCs
|
|
705
|
+
let merged = config1.merge(config2);
|
|
706
|
+
|
|
707
|
+
// VCCs should be empty after merge
|
|
708
|
+
assert_eq!(
|
|
709
|
+
merged.virtual_chunk_containers,
|
|
710
|
+
Some(std::collections::HashMap::new()),
|
|
711
|
+
"Merging with cleared VCCs should result in empty VCCs"
|
|
712
|
+
);
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
#[icechunk_macros::test]
|
|
716
|
+
fn test_merge_replaces_virtual_chunk_containers_with_new_ones() {
|
|
717
|
+
// Create a config with VCC1
|
|
718
|
+
let mut config1 = RepositoryConfig::default();
|
|
719
|
+
config1.set_virtual_chunk_container(
|
|
720
|
+
VirtualChunkContainer::new(
|
|
721
|
+
"s3://bucket1/".to_string(),
|
|
722
|
+
ObjectStoreConfig::S3(S3Options {
|
|
723
|
+
region: Some("us-east-1".to_string()),
|
|
724
|
+
endpoint_url: None,
|
|
725
|
+
anonymous: false,
|
|
726
|
+
allow_http: false,
|
|
727
|
+
force_path_style: false,
|
|
728
|
+
network_stream_timeout_seconds: None,
|
|
729
|
+
requester_pays: false,
|
|
730
|
+
}),
|
|
731
|
+
)
|
|
732
|
+
.unwrap(),
|
|
733
|
+
);
|
|
734
|
+
|
|
735
|
+
// Create a config with VCC2
|
|
736
|
+
let mut config2 = RepositoryConfig::default();
|
|
737
|
+
config2.set_virtual_chunk_container(
|
|
738
|
+
VirtualChunkContainer::new(
|
|
739
|
+
"s3://bucket2/".to_string(),
|
|
740
|
+
ObjectStoreConfig::S3(S3Options {
|
|
741
|
+
region: Some("us-west-2".to_string()),
|
|
742
|
+
endpoint_url: None,
|
|
743
|
+
anonymous: false,
|
|
744
|
+
allow_http: false,
|
|
745
|
+
force_path_style: false,
|
|
746
|
+
network_stream_timeout_seconds: None,
|
|
747
|
+
requester_pays: false,
|
|
748
|
+
}),
|
|
749
|
+
)
|
|
750
|
+
.unwrap(),
|
|
751
|
+
);
|
|
752
|
+
|
|
753
|
+
// Merge: config2's VCCs should replace config1's VCCs
|
|
754
|
+
let merged = config1.merge(config2);
|
|
755
|
+
|
|
756
|
+
let vccs = merged.virtual_chunk_containers.unwrap();
|
|
757
|
+
assert_eq!(vccs.len(), 1, "Should have exactly one VCC after merge");
|
|
758
|
+
assert!(
|
|
759
|
+
vccs.contains_key("s3://bucket2/"),
|
|
760
|
+
"Should contain bucket2, not bucket1"
|
|
761
|
+
);
|
|
762
|
+
assert!(!vccs.contains_key("s3://bucket1/"), "Should not contain bucket1");
|
|
763
|
+
}
|
|
681
764
|
}
|
|
@@ -945,7 +945,8 @@ impl Session {
|
|
|
945
945
|
if self.read_only() {
|
|
946
946
|
return Err(SessionErrorKind::ReadOnlySession.into());
|
|
947
947
|
}
|
|
948
|
-
let Session { splits: other_splits, change_set, .. } =
|
|
948
|
+
let Session { splits: other_splits, change_set, config: other_config, .. } =
|
|
949
|
+
other;
|
|
949
950
|
|
|
950
951
|
if self.splits.iter().any(|(node, our_splits)| {
|
|
951
952
|
other_splits
|
|
@@ -953,7 +954,7 @@ impl Session {
|
|
|
953
954
|
.is_some_and(|their_splits| !our_splits.compatible_with(their_splits))
|
|
954
955
|
}) {
|
|
955
956
|
let ours = self.config().manifest().splitting().clone();
|
|
956
|
-
let theirs =
|
|
957
|
+
let theirs = other_config.manifest().splitting().clone();
|
|
957
958
|
return Err(
|
|
958
959
|
SessionErrorKind::IncompatibleSplittingConfig { ours, theirs }.into()
|
|
959
960
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "icechunk-python"
|
|
3
|
-
version = "1.1.
|
|
3
|
+
version = "1.1.18"
|
|
4
4
|
description = "Transactional storage engine for Zarr designed for use on cloud object storage"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
repository = "https://github.com/earth-mover/icechunk"
|
|
@@ -21,7 +21,7 @@ crate-type = ["cdylib"]
|
|
|
21
21
|
bytes = "1.11.0"
|
|
22
22
|
chrono = { version = "0.4.42" }
|
|
23
23
|
futures = "0.3.31"
|
|
24
|
-
icechunk = { path = "../icechunk", version = "0.3.
|
|
24
|
+
icechunk = { path = "../icechunk", version = "0.3.21", features = ["logs"] }
|
|
25
25
|
itertools = "0.14.0"
|
|
26
26
|
pyo3 = { version = "0.27.2", features = [
|
|
27
27
|
"chrono",
|
|
@@ -142,6 +142,39 @@ def test_virtual_chunk_containers() -> None:
|
|
|
142
142
|
assert config.virtual_chunk_containers["s3://testbucket/"] == container
|
|
143
143
|
|
|
144
144
|
|
|
145
|
+
def test_clear_virtual_chunk_containers_persists_through_reopen() -> None:
|
|
146
|
+
"""Test that clearing VCCs is respected by reopen().
|
|
147
|
+
|
|
148
|
+
Regression test for: https://github.com/earth-mover/icechunk/issues/XXX
|
|
149
|
+
"""
|
|
150
|
+
storage = icechunk.in_memory_storage()
|
|
151
|
+
|
|
152
|
+
# Create repo and add a VCC
|
|
153
|
+
repo = icechunk.Repository.create(storage=storage)
|
|
154
|
+
config = repo.config
|
|
155
|
+
store_config = icechunk.s3_store(region="us-east-1")
|
|
156
|
+
container = icechunk.VirtualChunkContainer("s3://testbucket/", store_config)
|
|
157
|
+
config.set_virtual_chunk_container(container)
|
|
158
|
+
repo = repo.reopen(config=config)
|
|
159
|
+
repo.save_config()
|
|
160
|
+
|
|
161
|
+
vccs = repo.config.virtual_chunk_containers or {}
|
|
162
|
+
assert "s3://testbucket/" in vccs
|
|
163
|
+
|
|
164
|
+
# Clear VCCs and reopen
|
|
165
|
+
config = repo.config
|
|
166
|
+
config.clear_virtual_chunk_containers()
|
|
167
|
+
assert config.virtual_chunk_containers == {}
|
|
168
|
+
|
|
169
|
+
repo = repo.reopen(config=config)
|
|
170
|
+
|
|
171
|
+
# VCCs should be cleared after reopen
|
|
172
|
+
reopened_vccs = repo.config.virtual_chunk_containers or {}
|
|
173
|
+
assert (
|
|
174
|
+
reopened_vccs == {}
|
|
175
|
+
), f"Expected no VCCs after reopen, got: {list(reopened_vccs.keys())}"
|
|
176
|
+
|
|
177
|
+
|
|
145
178
|
def test_can_change_deep_config_values() -> None:
|
|
146
179
|
storage = icechunk.in_memory_storage()
|
|
147
180
|
repo = icechunk.Repository.create(
|
|
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
|
{icechunk-1.1.17 → icechunk-1.1.18}/icechunk-python/benchmarks/envs/icechunk-alpha-release.txt
RENAMED
|
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
|