Skip to content

Commit e4c89bd

Browse files
committed
Upgrade to pyo3 0.21 and remove depr. elements
1 parent ea7b23a commit e4c89bd

File tree

3 files changed

+38
-38
lines changed

3 files changed

+38
-38
lines changed

Cargo.lock

+12-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ lto = true
2929
codegen-units = 1
3030

3131
[dependencies]
32-
pyo3 = { version = "0.20", features = ["abi3-py310", "extension-module"] }
33-
numpy = "0.20"
32+
pyo3 = { version = "0.21", features = ["abi3-py310", "extension-module"] }
33+
numpy = "0.21"
3434
ndarray = { version = "0.15", features = ["rayon", "approx-0_5"] }
35-
rayon = "1.8"
35+
rayon = "1.10"
3636

3737
[dev-dependencies]
3838
criterion = { version = "0.5", features = ["html_reports"] }

src/lib.rs

+23-23
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#![warn(missing_docs)]
1414

1515
use numpy::{IntoPyArray, PyArray1, PyArray2, PyReadonlyArray1, PyReadonlyArray2};
16-
use pyo3::prelude::{pymodule, PyModule, PyResult, Python};
16+
use pyo3::prelude::{pymodule, Bound, PyModule, PyResult, Python};
1717

1818
use field::{summator, summator_fourier, summator_incompr};
1919
use krige::{calculator_field_krige, calculator_field_krige_and_variance};
@@ -27,7 +27,7 @@ mod short_vec;
2727
pub mod variogram;
2828

2929
#[pymodule]
30-
fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
30+
fn gstools_core(_py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
3131
m.add("__version__", env!("CARGO_PKG_VERSION"))?;
3232

3333
#[pyfn(m)]
@@ -39,12 +39,12 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
3939
z2: PyReadonlyArray1<f64>,
4040
pos: PyReadonlyArray2<f64>,
4141
num_threads: Option<usize>,
42-
) -> &'py PyArray1<f64> {
42+
) -> Bound<'py, PyArray1<f64>> {
4343
let cov_samples = cov_samples.as_array();
4444
let z1 = z1.as_array();
4545
let z2 = z2.as_array();
4646
let pos = pos.as_array();
47-
summator(cov_samples, z1, z2, pos, num_threads).into_pyarray(py)
47+
summator(cov_samples, z1, z2, pos, num_threads).into_pyarray_bound(py)
4848
}
4949

5050
#[pyfn(m)]
@@ -56,12 +56,12 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
5656
z2: PyReadonlyArray1<f64>,
5757
pos: PyReadonlyArray2<f64>,
5858
num_threads: Option<usize>,
59-
) -> &'py PyArray2<f64> {
59+
) -> Bound<'py, PyArray2<f64>> {
6060
let cov_samples = cov_samples.as_array();
6161
let z1 = z1.as_array();
6262
let z2 = z2.as_array();
6363
let pos = pos.as_array();
64-
summator_incompr(cov_samples, z1, z2, pos, num_threads).into_pyarray(py)
64+
summator_incompr(cov_samples, z1, z2, pos, num_threads).into_pyarray_bound(py)
6565
}
6666

6767
#[pyfn(m)]
@@ -74,13 +74,13 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
7474
z2: PyReadonlyArray1<f64>,
7575
pos: PyReadonlyArray2<f64>,
7676
num_threads: Option<usize>,
77-
) -> &'py PyArray1<f64> {
77+
) -> Bound<'py, PyArray1<f64>> {
7878
let spectrum_factor = spectrum_factor.as_array();
7979
let modes = modes.as_array();
8080
let z1 = z1.as_array();
8181
let z2 = z2.as_array();
8282
let pos = pos.as_array();
83-
summator_fourier(spectrum_factor, modes, z1, z2, pos, num_threads).into_pyarray(py)
83+
summator_fourier(spectrum_factor, modes, z1, z2, pos, num_threads).into_pyarray_bound(py)
8484
}
8585

8686
#[pyfn(m)]
@@ -91,14 +91,14 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
9191
krig_vecs: PyReadonlyArray2<f64>,
9292
cond: PyReadonlyArray1<f64>,
9393
num_threads: Option<usize>,
94-
) -> (&'py PyArray1<f64>, &'py PyArray1<f64>) {
94+
) -> (Bound<'py, PyArray1<f64>>, Bound<'py, PyArray1<f64>>) {
9595
let krige_mat = krige_mat.as_array();
9696
let krig_vecs = krig_vecs.as_array();
9797
let cond = cond.as_array();
9898
let (field, error) =
9999
calculator_field_krige_and_variance(krige_mat, krig_vecs, cond, num_threads);
100-
let field = field.into_pyarray(py);
101-
let error = error.into_pyarray(py);
100+
let field = field.into_pyarray_bound(py);
101+
let error = error.into_pyarray_bound(py);
102102
(field, error)
103103
}
104104

@@ -110,11 +110,11 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
110110
krig_vecs: PyReadonlyArray2<f64>,
111111
cond: PyReadonlyArray1<f64>,
112112
num_threads: Option<usize>,
113-
) -> &'py PyArray1<f64> {
113+
) -> Bound<'py, PyArray1<f64>> {
114114
let krige_mat = krige_mat.as_array();
115115
let krig_vecs = krig_vecs.as_array();
116116
let cond = cond.as_array();
117-
calculator_field_krige(krige_mat, krig_vecs, cond, num_threads).into_pyarray(py)
117+
calculator_field_krige(krige_mat, krig_vecs, cond, num_threads).into_pyarray_bound(py)
118118
}
119119

120120
#[pyfn(m)]
@@ -124,10 +124,10 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
124124
f: PyReadonlyArray2<f64>,
125125
estimator_type: Option<char>,
126126
num_threads: Option<usize>,
127-
) -> &'py PyArray1<f64> {
127+
) -> Bound<'py, PyArray1<f64>> {
128128
let f = f.as_array();
129129
let estimator_type = estimator_type.unwrap_or('m');
130-
variogram_structured(f, estimator_type, num_threads).into_pyarray(py)
130+
variogram_structured(f, estimator_type, num_threads).into_pyarray_bound(py)
131131
}
132132

133133
#[pyfn(m)]
@@ -138,11 +138,11 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
138138
mask: PyReadonlyArray2<bool>,
139139
estimator_type: Option<char>,
140140
num_threads: Option<usize>,
141-
) -> &'py PyArray1<f64> {
141+
) -> Bound<'py, PyArray1<f64>> {
142142
let f = f.as_array();
143143
let mask = mask.as_array();
144144
let estimator_type = estimator_type.unwrap_or('m');
145-
variogram_ma_structured(f, mask, estimator_type, num_threads).into_pyarray(py)
145+
variogram_ma_structured(f, mask, estimator_type, num_threads).into_pyarray_bound(py)
146146
}
147147

148148
#[pyfn(m)]
@@ -159,7 +159,7 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
159159
separate_dirs: Option<bool>,
160160
estimator_type: Option<char>,
161161
num_threads: Option<usize>,
162-
) -> (&'py PyArray2<f64>, &'py PyArray2<u64>) {
162+
) -> (Bound<'py, PyArray2<f64>>, Bound<'py, PyArray2<u64>>) {
163163
let f = f.as_array();
164164
let bin_edges = bin_edges.as_array();
165165
let pos = pos.as_array();
@@ -179,8 +179,8 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
179179
estimator_type,
180180
num_threads,
181181
);
182-
let variogram = variogram.into_pyarray(py);
183-
let counts = counts.into_pyarray(py);
182+
let variogram = variogram.into_pyarray_bound(py);
183+
let counts = counts.into_pyarray_bound(py);
184184

185185
(variogram, counts)
186186
}
@@ -195,7 +195,7 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
195195
estimator_type: Option<char>,
196196
distance_type: Option<char>,
197197
num_threads: Option<usize>,
198-
) -> (&'py PyArray1<f64>, &'py PyArray1<u64>) {
198+
) -> (Bound<'py, PyArray1<f64>>, Bound<'py, PyArray1<u64>>) {
199199
let f = f.as_array();
200200
let bin_edges = bin_edges.as_array();
201201
let pos = pos.as_array();
@@ -209,8 +209,8 @@ fn gstools_core(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
209209
distance_type,
210210
num_threads,
211211
);
212-
let variogram = variogram.into_pyarray(py);
213-
let counts = counts.into_pyarray(py);
212+
let variogram = variogram.into_pyarray_bound(py);
213+
let counts = counts.into_pyarray_bound(py);
214214

215215
(variogram, counts)
216216
}

0 commit comments

Comments
 (0)