Skip to content

Commit 32f0ac6

Browse files
parasebadcherian
andauthored
Release version 1.0.0rc0 (#1049)
* Release version 1.0rc0 * Update Changelog.python.md Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com> --------- Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>
1 parent 2c9f50f commit 32f0ac6

File tree

9 files changed

+38
-16
lines changed

9 files changed

+38
-16
lines changed

.github/workflows/python-check.yaml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ jobs:
4949
working-directory: icechunk-python
5050
# target: ${{ matrix.platform.target }}
5151
args: --release --out dist --find-interpreter
52-
sccache: 'true'
5352
# manylinux: ${{ matrix.platform.manylinux }} # https://github.com/PyO3/maturin-action/issues/245
5453

5554
- name: Cargo lint + format icechunk-python
@@ -65,7 +64,7 @@ jobs:
6564
set -e
6665
python3 -m venv .venv
6766
source .venv/bin/activate
68-
pip install icechunk['test'] --find-links dist --force-reinstall
67+
pip install icechunk['test'] --find-links dist --force-reinstall --pre
6968
mypy python
7069
7170
- name: pre-commit lint
@@ -160,7 +159,6 @@ jobs:
160159
with:
161160
working-directory: icechunk/icechunk-python
162161
args: --release --out dist --find-interpreter
163-
sccache: 'true'
164162

165163
- name: pytest
166164
shell: bash
@@ -171,7 +169,7 @@ jobs:
171169
set -e
172170
python3 -m venv .venv
173171
source .venv/bin/activate
174-
pip install icechunk['test'] --find-links dist --force-reinstall
172+
pip install icechunk['test'] --find-links dist --force-reinstall --pre
175173
pip install pytest-mypy-plugins
176174
# pass xarray's pyproject.toml so that pytest can find the `flaky` fixture
177175
pytest -c=../../xarray/pyproject.toml -W ignore --override-ini="strict_markers=false" tests/run_xarray_backends_tests.py

.github/workflows/python-ci.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ jobs:
6262
working-directory: icechunk-python
6363
target: ${{ matrix.platform.target }}
6464
args: --release --out dist --find-interpreter
65-
sccache: 'true'
6665
manylinux: ${{ matrix.platform.manylinux }} # https://github.com/PyO3/maturin-action/issues/245
6766
- name: Upload wheels
6867
uses: actions/upload-artifact@v4
@@ -94,7 +93,6 @@ jobs:
9493
working-directory: icechunk-python
9594
target: ${{ matrix.platform.target }}
9695
args: --release --out dist --find-interpreter
97-
sccache: 'true'
9896
manylinux: musllinux_1_2
9997
- name: Upload wheels
10098
uses: actions/upload-artifact@v4
@@ -123,7 +121,6 @@ jobs:
123121
working-directory: icechunk-python
124122
target: ${{ matrix.platform.target }}
125123
args: --release --out dist --find-interpreter
126-
sccache: 'true'
127124
- name: Upload wheels
128125
uses: actions/upload-artifact@v4
129126
with:
@@ -150,7 +147,6 @@ jobs:
150147
working-directory: icechunk-python
151148
target: ${{ matrix.platform.target }}
152149
args: --release --out dist --find-interpreter
153-
sccache: 'true'
154150
- name: Upload wheels
155151
uses: actions/upload-artifact@v4
156152
with:

.github/workflows/python-upstream.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ jobs:
6161
working-directory: icechunk-python
6262
# target: ${{ matrix.platform.target }}
6363
args: --release --out dist --find-interpreter
64-
sccache: 'true'
6564
# manylinux: ${{ matrix.platform.manylinux }} # https://github.com/PyO3/maturin-action/issues/245
6665

6766
- name: setup
@@ -179,7 +178,6 @@ jobs:
179178
with:
180179
working-directory: icechunk/icechunk-python
181180
args: --release --out dist --find-interpreter
182-
sccache: 'true'
183181

184182
- name: setup
185183
shell: bash

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Changelog.python.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,29 @@
11
# Changelog
22

3+
## Python Icechunk Library 1.0.0rc0
4+
5+
This is a release candidate for Icechunk 1.0
6+
7+
This version has some minor API changes but it is on-disk format compatible with any versions in the 0.2.x series. Repositories written with previous 0.2.x versions are fully compatible, with repositories
8+
written with this release candidate.
9+
10+
Changes to code may be needed for users that are using distributed coordinated sessions or virtual datasets.
11+
Please refer to our [migration guide](https://icechunk.io/en/latest/icechunk-python/migration/).
12+
13+
### Features
14+
15+
- New [`Repository.transaction`](https://icechunk.io/en/latest/icechunk-python/reference/#icechunk.Repository.transaction)
16+
context manager creates and commits write sessions upon exit.
17+
- Easier manifest preload and split configuration, combining conditions with `|` and `&` magic methods.
18+
- More secure and explicit control over virtual chunk resolution. This improvement motivated the changes
19+
in API for [`Repository.open`](https://icechunk.io/en/latest/icechunk-python/reference/#icechunk.Repository.open) and
20+
[`Repository.create`](https://icechunk.io/en/latest/icechunk-python/reference/#icechunk.Repository.create) for virtual datasets.
21+
22+
### Fixes
23+
24+
- Data loss under certain conditions when distributed sessions are started with a "dirty" session.
25+
This issue motivated the change on API introducing `Session.fork`.
26+
327
## Python Icechunk Library 0.2.18
428

529
### Features

icechunk-python/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "icechunk-python"
3-
version = "0.2.18"
3+
version = "1.0.0-rc.0"
44
description = "Transactional storage engine for Zarr designed for use on cloud object storage"
55
readme = "../README.md"
66
repository = "https://github.com/earth-mover/icechunk"
@@ -21,7 +21,7 @@ crate-type = ["cdylib"]
2121
bytes = "1.10.1"
2222
chrono = { version = "0.4.41" }
2323
futures = "0.3.31"
24-
icechunk = { path = "../icechunk", version = "0.2.17", features = ["logs"] }
24+
icechunk = { path = "../icechunk", version = "0.3.0", features = ["logs"] }
2525
itertools = "0.14.0"
2626
pyo3 = { version = "0.24.2", features = [
2727
"chrono",

icechunk-python/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ log_cli_level = "INFO"
125125
xfail_strict = true
126126
addopts = ["-ra", "--strict-config", "--strict-markers"]
127127
markers = [
128-
"gpu", # need this to run the zarr tests
128+
"gpu", # need this to run the zarr tests
129129
]
130130
filterwarnings = [
131131
"error",

icechunk-python/src/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,11 @@ fn spec_version() -> u8 {
103103
SpecVersionBin::current() as u8
104104
}
105105

106+
fn pep440_version() -> String {
107+
let cargo_version = env!("CARGO_PKG_VERSION");
108+
cargo_version.replace("-rc.", "rc").replace("-alpha.", "a").replace("-beta.", "b")
109+
}
110+
106111
/// The icechunk Python module implemented in Rust.
107112
#[pymodule]
108113
fn _icechunk_python(py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
@@ -148,6 +153,7 @@ fn _icechunk_python(py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
148153
m.add_function(wrap_pyfunction!(set_logs_filter, m)?)?;
149154
m.add_function(wrap_pyfunction!(spec_version, m)?)?;
150155
m.add_function(wrap_pyfunction!(cli_entrypoint, m)?)?;
156+
m.add("__version__", pep440_version())?;
151157

152158
// Exceptions
153159
m.add("IcechunkError", py.get_type::<IcechunkError>())?;

icechunk/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "icechunk"
3-
version = "0.2.17"
3+
version = "0.3.0"
44
description = "Transactional storage engine for Zarr designed for use on cloud object storage"
55
readme = "../README.md"
66
repository = "https://github.com/earth-mover/icechunk"

0 commit comments

Comments
 (0)