Skip to content

Commit e79e5c1

Browse files
wolfieschclaudehappy-otter
committed
chore(deps): bump pyo3 from 0.22 to 0.24, fix all deprecations
- Cargo.toml: pyo3 0.22 → 0.24, pyo3-build-config 0.22 → 0.24 - Replace ToPyObject with IntoPyObject<'py> in util.rs (breaking change) - Rename PyDict::new_bound → PyDict::new across all files - Rename PyList::empty_bound → PyList::empty across all files - Rename PyList::new_bound → PyList::new across all files - Includes pyo3 0.24.1 security fix for PyString::from_object Closes #7 (supersedes Dependabot PR) Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
1 parent 2f6debd commit e79e5c1

16 files changed

Lines changed: 52 additions & 51 deletions

rust/excelbench_rust/Cargo.lock

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

rust/excelbench_rust/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ rust_xlsxwriter = ["dep:rust_xlsxwriter", "dep:indexmap", "dep:chrono"]
1616
umya = ["dep:umya-spreadsheet", "dep:chrono"]
1717

1818
[dependencies]
19-
pyo3 = { version = "0.22", features = ["extension-module", "multiple-pymethods"] }
19+
pyo3 = { version = "0.24", features = ["extension-module", "multiple-pymethods"] }
2020

2121
# Optional backend dependencies (enabled via crate features)
2222
calamine = { version = "0.25", optional = true, features = ["dates"] }
@@ -28,4 +28,4 @@ indexmap = { version = "2.2", optional = true }
2828
chrono = { version = "0.4", optional = true }
2929

3030
[build-dependencies]
31-
pyo3-build-config = "0.22"
31+
pyo3-build-config = "0.24"

rust/excelbench_rust/src/calamine_backend.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ impl CalamineBook {
124124

125125
Data::Error(e) => {
126126
let normalized = map_error_value(&format!("{e:?}"));
127-
let d = PyDict::new_bound(py);
127+
let d = PyDict::new(py);
128128
d.set_item("type", "error")?;
129129
d.set_item("value", normalized)?;
130130
d.into()

rust/excelbench_rust/src/lib.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,16 @@ fn enabled_backends() -> Vec<&'static str> {
3030
#[pyfunction]
3131
fn build_info(py: Python<'_>) -> PyResult<PyObject> {
3232
// Stable keys so Python adapters can depend on this shape.
33-
let info = PyDict::new_bound(py);
33+
let info = PyDict::new(py);
3434
info.set_item("package", "excelbench_rust")?;
3535
info.set_item("package_version", env!("CARGO_PKG_VERSION"))?;
3636

3737
let enabled = enabled_backends();
38-
info.set_item("enabled_backends", PyList::new_bound(py, enabled))?;
38+
info.set_item("enabled_backends", PyList::new(py, enabled)?)?;
3939

4040
// Backend version reporting can be filled in later.
4141
// Keep a dict in place now so consumers can read it unconditionally.
42-
let backends = PyDict::new_bound(py);
42+
let backends = PyDict::new(py);
4343
backends.set_item(
4444
"calamine",
4545
if cfg!(feature = "calamine") {
@@ -66,7 +66,7 @@ fn build_info(py: Python<'_>) -> PyResult<PyObject> {
6666
)?;
6767
info.set_item("backends", backends)?;
6868

69-
let versions = PyDict::new_bound(py);
69+
let versions = PyDict::new(py);
7070
versions.set_item("calamine", option_env!("EXCELBENCH_DEP_CALAMINE_VERSION"))?;
7171
versions.set_item(
7272
"rust_xlsxwriter",

rust/excelbench_rust/src/umya/borders.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ impl UmyaBook {
2323
let (row0, col0) = a1_to_row_col(a1).map_err(|msg| PyErr::new::<PyValueError, _>(msg))?;
2424
let coord = (col0 + 1, row0 + 1);
2525

26-
let d = PyDict::new_bound(py);
26+
let d = PyDict::new(py);
2727

2828
let cell = match ws.get_cell(coord) {
2929
Some(c) => c,
@@ -50,31 +50,31 @@ impl UmyaBook {
5050
};
5151

5252
if let Some((s, c)) = read_edge(borders.get_top()) {
53-
let edge = PyDict::new_bound(py);
53+
let edge = PyDict::new(py);
5454
edge.set_item("style", s)?;
5555
edge.set_item("color", c)?;
5656
d.set_item("top", edge)?;
5757
}
5858
if let Some((s, c)) = read_edge(borders.get_bottom()) {
59-
let edge = PyDict::new_bound(py);
59+
let edge = PyDict::new(py);
6060
edge.set_item("style", s)?;
6161
edge.set_item("color", c)?;
6262
d.set_item("bottom", edge)?;
6363
}
6464
if let Some((s, c)) = read_edge(borders.get_left()) {
65-
let edge = PyDict::new_bound(py);
65+
let edge = PyDict::new(py);
6666
edge.set_item("style", s)?;
6767
edge.set_item("color", c)?;
6868
d.set_item("left", edge)?;
6969
}
7070
if let Some((s, c)) = read_edge(borders.get_right()) {
71-
let edge = PyDict::new_bound(py);
71+
let edge = PyDict::new(py);
7272
edge.set_item("style", s)?;
7373
edge.set_item("color", c)?;
7474
d.set_item("right", edge)?;
7575
}
7676
if let Some((s, c)) = read_edge(borders.get_diagonal()) {
77-
let edge = PyDict::new_bound(py);
77+
let edge = PyDict::new(py);
7878
edge.set_item("style", s)?;
7979
edge.set_item("color", c)?;
8080
d.set_item("diagonal_up", edge)?;

rust/excelbench_rust/src/umya/cell_values.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ impl UmyaBook {
4848
return cell_with_value(py, "error", t);
4949
}
5050

51-
let d = PyDict::new_bound(py);
51+
let d = PyDict::new(py);
5252
d.set_item("type", "formula")?;
5353
d.set_item("formula", &norm)?;
5454
d.set_item("value", &norm)?;

rust/excelbench_rust/src/umya/comments.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ impl UmyaBook {
2929
.ok_or_else(|| PyErr::new::<PyValueError, _>(format!("Unknown sheet: {sheet}")))?;
3030

3131
let comments = ws.get_comments();
32-
let result = PyList::empty_bound(py);
32+
let result = PyList::empty(py);
3333

3434
for comment in comments {
35-
let d = PyDict::new_bound(py);
35+
let d = PyDict::new(py);
3636
d.set_item("cell", comment.get_coordinate().to_string())?;
3737
d.set_item("text", extract_comment_text(comment))?;
3838
d.set_item("author", comment.get_author())?;

rust/excelbench_rust/src/umya/conditional_fmt.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,13 @@ impl UmyaBook {
7777
.get_sheet_by_name(sheet)
7878
.ok_or_else(|| PyErr::new::<PyValueError, _>(format!("Unknown sheet: {sheet}")))?;
7979

80-
let result = PyList::empty_bound(py);
80+
let result = PyList::empty(py);
8181

8282
for cf in ws.get_conditional_formatting_collection() {
8383
let range = cf.get_sequence_of_references().get_sqref();
8484

8585
for rule in cf.get_conditional_collection() {
86-
let d = PyDict::new_bound(py);
86+
let d = PyDict::new(py);
8787
d.set_item("range", &range)?;
8888
d.set_item("rule_type", cf_type_to_str(rule.get_type()))?;
8989

@@ -122,7 +122,7 @@ impl UmyaBook {
122122
}
123123

124124
// Format (bg_color, font_color)
125-
let fmt = PyDict::new_bound(py);
125+
let fmt = PyDict::new(py);
126126
if let Some(style) = rule.get_style() {
127127
if let Some(bg) = style.get_background_color() {
128128
if let Some(hex) = argb_to_hex(bg) {

rust/excelbench_rust/src/umya/data_validation.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,15 +68,15 @@ impl UmyaBook {
6868
.get_sheet_by_name(sheet)
6969
.ok_or_else(|| PyErr::new::<PyValueError, _>(format!("Unknown sheet: {sheet}")))?;
7070

71-
let result = PyList::empty_bound(py);
71+
let result = PyList::empty(py);
7272

7373
let dvs = match ws.get_data_validations() {
7474
Some(v) => v,
7575
None => return Ok(result.into()),
7676
};
7777

7878
for dv in dvs.get_data_validation_list() {
79-
let d = PyDict::new_bound(py);
79+
let d = PyDict::new(py);
8080
d.set_item("range", dv.get_sequence_of_references().get_sqref())?;
8181
d.set_item("validation_type", dv_type_to_str(dv.get_type()))?;
8282

rust/excelbench_rust/src/umya/formatting.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ impl UmyaBook {
2929
let (row0, col0) = a1_to_row_col(a1).map_err(|msg| PyErr::new::<PyValueError, _>(msg))?;
3030
let coord = (col0 + 1, row0 + 1);
3131

32-
let d = PyDict::new_bound(py);
32+
let d = PyDict::new(py);
3333

3434
let cell = match ws.get_cell(coord) {
3535
Some(c) => c,

0 commit comments

Comments
 (0)