Skip to content

Commit cfe2a98

Browse files
authored
Bump iceberg-rust version to 0.5.0 (Round 1) (#1342)
1 parent 9f85f80 commit cfe2a98

File tree

115 files changed

+1700
-1537
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+1700
-1537
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ concurrency:
3030
cancel-in-progress: true
3131

3232
env:
33-
rust_msrv: "1.84.0"
33+
rust_msrv: "1.85.0"
3434

3535
jobs:
3636
check:
@@ -118,11 +118,11 @@ jobs:
118118
- name: Maximize build space
119119
uses: easimon/maximize-build-space@master
120120
with:
121-
remove-dotnet: 'true'
122-
remove-android: 'true'
123-
remove-haskell: 'true'
124-
remove-codeql: 'true'
125-
remove-docker-images: 'true'
121+
remove-dotnet: "true"
122+
remove-android: "true"
123+
remove-haskell: "true"
124+
remove-codeql: "true"
125+
remove-docker-images: "true"
126126
root-reserve-mb: 10240
127127
temp-reserve-mb: 10240
128128

.github/workflows/publish.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ name: Publish
2020
on:
2121
push:
2222
tags:
23-
- '*'
23+
- "*"
2424
workflow_dispatch:
2525

2626
env:
27-
rust_msrv: "1.77.1"
27+
rust_msrv: "1.85"
2828

2929
jobs:
3030
publish:
@@ -57,4 +57,4 @@ jobs:
5757
if: ${{ startsWith(github.ref, 'refs/tags/') && !contains(github.ref, '-') }}
5858
run: cargo publish --all-features
5959
env:
60-
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
60+
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

.github/workflows/release_python.yml

Lines changed: 40 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ name: Publish Python 🐍 distribution 📦 to PyPI
2020
on:
2121
push:
2222
tags:
23-
- '*'
23+
- "*"
2424
pull_request:
2525
branches:
2626
- main
@@ -29,7 +29,7 @@ on:
2929
workflow_dispatch:
3030

3131
env:
32-
rust_msrv: "1.77.1"
32+
rust_msrv: "1.85"
3333

3434
concurrency:
3535
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }}
@@ -62,33 +62,37 @@ jobs:
6262
- { os: windows-latest }
6363
- { os: macos-latest, target: "universal2-apple-darwin" }
6464
- { os: ubuntu-latest, target: "x86_64" }
65-
- { os: ubuntu-latest, target: "aarch64", manylinux: "manylinux_2_28" }
65+
- {
66+
os: ubuntu-latest,
67+
target: "aarch64",
68+
manylinux: "manylinux_2_28",
69+
}
6670
- { os: ubuntu-latest, target: "armv7l" }
6771
steps:
68-
- uses: actions/checkout@v4
69-
- uses: actions/setup-python@v5
70-
with:
71-
python-version: 3.9
72-
- name: Setup Rust toolchain
73-
uses: ./.github/actions/setup-builder
74-
with:
75-
rust-version: ${{ env.rust_msrv }}
76-
- uses: PyO3/maturin-action@v1
77-
with:
78-
target: ${{ matrix.target }}
79-
manylinux: ${{ matrix.manylinux || 'auto' }}
80-
working-directory: "bindings/python"
81-
command: build
82-
args: --release -o dist
83-
- name: Upload wheels
84-
uses: actions/upload-artifact@v4
85-
with:
86-
name: wheels-${{ matrix.os }}-${{ matrix.target }}
87-
path: bindings/python/dist
72+
- uses: actions/checkout@v4
73+
- uses: actions/setup-python@v5
74+
with:
75+
python-version: 3.9
76+
- name: Setup Rust toolchain
77+
uses: ./.github/actions/setup-builder
78+
with:
79+
rust-version: ${{ env.rust_msrv }}
80+
- uses: PyO3/maturin-action@v1
81+
with:
82+
target: ${{ matrix.target }}
83+
manylinux: ${{ matrix.manylinux || 'auto' }}
84+
working-directory: "bindings/python"
85+
command: build
86+
args: --release -o dist
87+
- name: Upload wheels
88+
uses: actions/upload-artifact@v4
89+
with:
90+
name: wheels-${{ matrix.os }}-${{ matrix.target }}
91+
path: bindings/python/dist
8892

8993
pypi-publish:
9094
name: Publish Python 🐍 distribution 📦 to Pypi
91-
needs: [ sdist, wheels ]
95+
needs: [sdist, wheels]
9296
runs-on: ubuntu-latest
9397
# Only publish to PyPi if the tag is not a pre-release
9498
if: ${{ startsWith(github.ref, 'refs/tags/') && !contains(github.ref, '-') }}
@@ -98,18 +102,18 @@ jobs:
98102
url: https://pypi.org/p/pyiceberg-core
99103

100104
permissions:
101-
id-token: write # IMPORTANT: mandatory for trusted publishing
105+
id-token: write # IMPORTANT: mandatory for trusted publishing
102106

103107
steps:
104-
- name: Download all the dists
105-
uses: actions/download-artifact@v4
106-
with:
107-
pattern: wheels-*
108-
merge-multiple: true
109-
path: bindings/python/dist
110-
- name: Publish to PyPI
111-
uses: pypa/gh-action-pypi-publish@release/v1
108+
- name: Download all the dists
109+
uses: actions/download-artifact@v4
110+
with:
111+
pattern: wheels-*
112+
merge-multiple: true
113+
path: bindings/python/dist
114+
- name: Publish to PyPI
115+
uses: pypa/gh-action-pypi-publish@release/v1
112116

113-
with:
114-
skip-existing: true
115-
packages-dir: bindings/python/dist
117+
with:
118+
skip-existing: true
119+
packages-dir: bindings/python/dist

.github/workflows/release_python_nightly.yml

Lines changed: 57 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ name: "Nightly PyPI Build"
1919

2020
on:
2121
schedule:
22-
- cron: "0 0 * * *" # Runs at midnight UTC every day
23-
workflow_dispatch: # Allows manual triggering
22+
- cron: "0 0 * * *" # Runs at midnight UTC every day
23+
workflow_dispatch: # Allows manual triggering
2424

2525
env:
26-
rust_msrv: "1.77.1"
26+
rust_msrv: "1.85"
2727

2828
permissions:
2929
contents: read
@@ -40,12 +40,12 @@ jobs:
4040

4141
sdist:
4242
needs: set-version
43-
if: github.repository == 'apache/iceberg-rust' # Only run for apache repo
43+
if: github.repository == 'apache/iceberg-rust' # Only run for apache repo
4444
runs-on: ubuntu-latest
4545
steps:
4646
- uses: actions/checkout@v4
47-
48-
- uses: ./.github/actions/overwrite-package-version # Overwrite package version with timestamp
47+
48+
- uses: ./.github/actions/overwrite-package-version # Overwrite package version with timestamp
4949
with:
5050
timestamp: ${{ needs.set-version.outputs.TIMESTAMP }}
5151

@@ -54,7 +54,7 @@ jobs:
5454
working-directory: "bindings/python"
5555
command: sdist
5656
args: -o dist
57-
57+
5858
- name: Upload sdist
5959
uses: actions/upload-artifact@v4
6060
with:
@@ -63,69 +63,73 @@ jobs:
6363

6464
wheels:
6565
needs: set-version
66-
if: github.repository == 'apache/iceberg-rust' # Only run for apache repo
66+
if: github.repository == 'apache/iceberg-rust' # Only run for apache repo
6767
runs-on: "${{ matrix.os }}"
6868
strategy:
6969
matrix:
7070
include:
7171
- { os: windows-latest }
7272
- { os: macos-latest, target: "universal2-apple-darwin" }
7373
- { os: ubuntu-latest, target: "x86_64" }
74-
- { os: ubuntu-latest, target: "aarch64", manylinux: "manylinux_2_28" }
74+
- {
75+
os: ubuntu-latest,
76+
target: "aarch64",
77+
manylinux: "manylinux_2_28",
78+
}
7579
- { os: ubuntu-latest, target: "armv7l" }
7680
steps:
77-
- uses: actions/checkout@v4
78-
79-
- uses: ./.github/actions/overwrite-package-version # Overwrite package version with timestamp
80-
with:
81-
timestamp: ${{ needs.set-version.outputs.TIMESTAMP }}
82-
83-
- uses: actions/setup-python@v5
84-
with:
85-
python-version: 3.9
86-
87-
- name: Setup Rust toolchain
88-
uses: ./.github/actions/setup-builder
89-
with:
90-
rust-version: ${{ env.rust_msrv }}
91-
92-
- uses: PyO3/maturin-action@v1
93-
with:
94-
target: ${{ matrix.target }}
95-
manylinux: ${{ matrix.manylinux || 'auto' }}
96-
working-directory: "bindings/python"
97-
command: build
98-
args: --release -o dist
99-
100-
- name: Upload wheels
101-
uses: actions/upload-artifact@v4
102-
with:
103-
name: wheels-${{ matrix.os }}-${{ matrix.target }}
104-
path: bindings/python/dist
81+
- uses: actions/checkout@v4
82+
83+
- uses: ./.github/actions/overwrite-package-version # Overwrite package version with timestamp
84+
with:
85+
timestamp: ${{ needs.set-version.outputs.TIMESTAMP }}
86+
87+
- uses: actions/setup-python@v5
88+
with:
89+
python-version: 3.9
90+
91+
- name: Setup Rust toolchain
92+
uses: ./.github/actions/setup-builder
93+
with:
94+
rust-version: ${{ env.rust_msrv }}
95+
96+
- uses: PyO3/maturin-action@v1
97+
with:
98+
target: ${{ matrix.target }}
99+
manylinux: ${{ matrix.manylinux || 'auto' }}
100+
working-directory: "bindings/python"
101+
command: build
102+
args: --release -o dist
103+
104+
- name: Upload wheels
105+
uses: actions/upload-artifact@v4
106+
with:
107+
name: wheels-${{ matrix.os }}-${{ matrix.target }}
108+
path: bindings/python/dist
105109

106110
testpypi-publish:
107-
needs: [ sdist, wheels ]
111+
needs: [sdist, wheels]
108112
runs-on: ubuntu-latest
109113

110114
environment:
111115
name: testpypi
112116
url: https://test.pypi.org/p/pyiceberg-core
113117

114118
permissions:
115-
id-token: write # IMPORTANT: mandatory for trusted publishing
119+
id-token: write # IMPORTANT: mandatory for trusted publishing
116120

117121
steps:
118-
- name: Download all the dists
119-
uses: actions/download-artifact@v4
120-
with:
121-
pattern: wheels-*
122-
merge-multiple: true
123-
path: bindings/python/dist
124-
- name: List downloaded artifacts
125-
run: ls -R bindings/python/dist
126-
- name: Publish to TestPyPI
127-
uses: pypa/gh-action-pypi-publish@release/v1
128-
with:
129-
repository-url: https://test.pypi.org/legacy/
130-
skip-existing: true
131-
packages-dir: bindings/python/dist
122+
- name: Download all the dists
123+
uses: actions/download-artifact@v4
124+
with:
125+
pattern: wheels-*
126+
merge-multiple: true
127+
path: bindings/python/dist
128+
- name: List downloaded artifacts
129+
run: ls -R bindings/python/dist
130+
- name: Publish to TestPyPI
131+
uses: pypa/gh-action-pypi-publish@release/v1
132+
with:
133+
repository-url: https://test.pypi.org/legacy/
134+
skip-existing: true
135+
packages-dir: bindings/python/dist

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ members = [
2929
resolver = "2"
3030

3131
[workspace.package]
32-
edition = "2021"
32+
edition = "2024"
3333
homepage = "https://rust.iceberg.apache.org/"
3434
version = "0.4.0"
3535

3636
license = "Apache-2.0"
3737
repository = "https://github.com/apache/iceberg-rust"
3838
# Check the MSRV policy in README.md before changing this
39-
rust-version = "1.84"
39+
rust-version = "1.85"
4040

4141
[workspace.dependencies]
4242
anyhow = "1.0.72"

bindings/python/Cargo.lock

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

bindings/python/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
# under the License.
1717

1818
[package]
19-
edition = "2021"
19+
edition = "2024"
2020
homepage = "https://rust.iceberg.apache.org"
2121
name = "pyiceberg_core_rust"
22-
rust-version = "1.84"
23-
version = "0.4.0"
22+
rust-version = "1.85"
23+
version = "0.5.0"
2424
# This crate is used to build python bindings, we don't want to publish it
2525
publish = false
2626

bindings/python/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ classifiers = [
3333
name = "pyiceberg-core"
3434
readme = "project-description.md"
3535
requires-python = "~=3.9"
36-
version = "0.4.0"
36+
version = "0.5.0"
3737

3838
[tool.maturin]
3939
features = ["pyo3/extension-module"]

bindings/python/src/datafusion_table_provider.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ use std::ffi::CString;
2020
use std::sync::Arc;
2121

2222
use datafusion_ffi::table_provider::FFI_TableProvider;
23+
use iceberg::TableIdent;
2324
use iceberg::io::FileIO;
2425
use iceberg::table::StaticTable;
25-
use iceberg::TableIdent;
2626
use iceberg_datafusion::table::IcebergTableProvider;
2727
use pyo3::exceptions::PyRuntimeError;
2828
use pyo3::prelude::*;

bindings/python/src/error.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use pyo3::exceptions::PyValueError;
1918
use pyo3::PyErr;
19+
use pyo3::exceptions::PyValueError;
2020

2121
/// Convert an iceberg error to a python error
2222
pub fn to_py_err(err: iceberg::Error) -> PyErr {

bindings/python/src/transform.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
use arrow::array::{make_array, Array, ArrayData};
18+
use arrow::array::{Array, ArrayData, make_array};
1919
use arrow::pyarrow::{FromPyArrow, ToPyArrow};
2020
use iceberg::spec::Transform;
2121
use iceberg::transform::create_transform_function;

0 commit comments

Comments
 (0)