@@ -22,10 +22,10 @@ macro_rules! _create_pyfunc_without_x {
2222 py: Python <' py>,
2323 y: PyReadonlyArray1 <$type>,
2424 n_out: usize ,
25- ) -> & ' py PyArray1 <usize > {
25+ ) -> Bound < ' py, PyArray1 <usize > > {
2626 let y = y. as_slice( ) . unwrap( ) ;
2727 let sampled_indices = $resample_mod:: $resample_fn( y, n_out) ;
28- sampled_indices. into_pyarray ( py)
28+ sampled_indices. into_pyarray_bound ( py)
2929 }
3030 // Add the function to the module
3131 $mod. add_wrapped( wrap_pyfunction!( $name) ) ?;
@@ -41,10 +41,10 @@ macro_rules! _create_pyfunc_without_x_with_ratio {
4141 y: PyReadonlyArray1 <$type>,
4242 n_out: usize ,
4343 ratio: usize ,
44- ) -> & ' py PyArray1 <usize > {
44+ ) -> Bound < ' py, PyArray1 <usize > > {
4545 let y = y. as_slice( ) . unwrap( ) ;
4646 let sampled_indices = $resample_mod:: $resample_fn( y, n_out, ratio) ;
47- sampled_indices. into_pyarray ( py)
47+ sampled_indices. into_pyarray_bound ( py)
4848 }
4949 // Add the function to the module
5050 $mod. add_wrapped( wrap_pyfunction!( $name) ) ?;
@@ -80,11 +80,11 @@ macro_rules! _create_pyfunc_with_x {
8080 x: PyReadonlyArray1 <$type_x>,
8181 y: PyReadonlyArray1 <$type_y>,
8282 n_out: usize ,
83- ) -> & ' py PyArray1 <usize > {
83+ ) -> Bound < ' py, PyArray1 <usize > > {
8484 let x = x. as_slice( ) . unwrap( ) ;
8585 let y = y. as_slice( ) . unwrap( ) ;
8686 let sampled_indices = $resample_mod:: $resample_fn( x, y, n_out) ;
87- sampled_indices. into_pyarray ( py)
87+ sampled_indices. into_pyarray_bound ( py)
8888 }
8989 // Add the function to the module
9090 $mod. add_wrapped( wrap_pyfunction!( $name) ) ?;
@@ -101,11 +101,11 @@ macro_rules! _create_pyfunc_with_x_with_ratio {
101101 y: PyReadonlyArray1 <$type_y>,
102102 n_out: usize ,
103103 ratio: usize ,
104- ) -> & ' py PyArray1 <usize > {
104+ ) -> Bound < ' py, PyArray1 <usize > > {
105105 let x = x. as_slice( ) . unwrap( ) ;
106106 let y = y. as_slice( ) . unwrap( ) ;
107107 let sampled_indices = $resample_mod:: $resample_fn( x, y, n_out, ratio) ;
108- sampled_indices. into_pyarray ( py)
108+ sampled_indices. into_pyarray_bound ( py)
109109 }
110110 // Add the function to the module
111111 $mod. add_wrapped( wrap_pyfunction!( $name) ) ?;
@@ -255,10 +255,10 @@ use downsample_rs::minmax as minmax_mod;
255255
256256// Create a sub module for the minmax algorithm
257257#[ pymodule]
258- fn minmax ( _py : Python < ' _ > , m : & PyModule ) -> PyResult < ( ) > {
258+ fn minmax ( _py : Python < ' _ > , m : & Bound < ' _ , PyModule > ) -> PyResult < ( ) > {
259259 // ----------------- SEQUENTIAL
260260
261- let sequential_mod = PyModule :: new ( _py, "sequential" ) ?;
261+ let sequential_mod = PyModule :: new_bound ( _py, "sequential" ) ?;
262262
263263 // ----- WITHOUT X
264264 {
@@ -274,7 +274,7 @@ fn minmax(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
274274
275275 // ----------------- PARALLEL
276276
277- let parallel_mod = PyModule :: new ( _py, "parallel" ) ?;
277+ let parallel_mod = PyModule :: new_bound ( _py, "parallel" ) ?;
278278
279279 // ----- WITHOUT X
280280 {
@@ -289,8 +289,8 @@ fn minmax(_py: Python<'_>, m: &PyModule) -> PyResult<()> {
289289 }
290290
291291 // Add the sub modules to the module
292- m. add_submodule ( sequential_mod) ?;
293- m. add_submodule ( parallel_mod) ?;
292+ m. add_submodule ( & sequential_mod) ?;
293+ m. add_submodule ( & parallel_mod) ?;
294294
295295 Ok ( ( ) )
296296}
@@ -301,10 +301,10 @@ use downsample_rs::m4 as m4_mod;
301301
302302// Create a sub module for the M4 algorithm
303303#[ pymodule]
304- fn m4 ( _py : Python , m : & PyModule ) -> PyResult < ( ) > {
304+ fn m4 ( _py : Python , m : & Bound < ' _ , PyModule > ) -> PyResult < ( ) > {
305305 // ----------------- SEQUENTIAL
306306
307- let sequential_mod = PyModule :: new ( _py, "sequential" ) ?;
307+ let sequential_mod = PyModule :: new_bound ( _py, "sequential" ) ?;
308308
309309 // ----- WITHOUT X
310310 {
@@ -320,7 +320,7 @@ fn m4(_py: Python, m: &PyModule) -> PyResult<()> {
320320
321321 // ----------------- PARALLEL
322322
323- let parallel_mod = PyModule :: new ( _py, "parallel" ) ?;
323+ let parallel_mod = PyModule :: new_bound ( _py, "parallel" ) ?;
324324
325325 // ----- WITHOUT X
326326 {
@@ -335,8 +335,8 @@ fn m4(_py: Python, m: &PyModule) -> PyResult<()> {
335335 }
336336
337337 // Add the sub modules to the module
338- m. add_submodule ( sequential_mod) ?;
339- m. add_submodule ( parallel_mod) ?;
338+ m. add_submodule ( & sequential_mod) ?;
339+ m. add_submodule ( & parallel_mod) ?;
340340
341341 Ok ( ( ) )
342342}
@@ -347,10 +347,10 @@ use downsample_rs::lttb as lttb_mod;
347347
348348// Create a sub module for the LTTB algorithm
349349#[ pymodule]
350- fn lttb ( _py : Python , m : & PyModule ) -> PyResult < ( ) > {
350+ fn lttb ( _py : Python , m : & Bound < ' _ , PyModule > ) -> PyResult < ( ) > {
351351 // ----------------- SEQUENTIAL
352352
353- let sequential_mod = PyModule :: new ( _py, "sequential" ) ?;
353+ let sequential_mod = PyModule :: new_bound ( _py, "sequential" ) ?;
354354
355355 // Create the Python functions for the module
356356 // ----- WITHOUT X
@@ -364,7 +364,7 @@ fn lttb(_py: Python, m: &PyModule) -> PyResult<()> {
364364 }
365365
366366 // Add the sub modules to the module
367- m. add_submodule ( sequential_mod) ?;
367+ m. add_submodule ( & sequential_mod) ?;
368368
369369 Ok ( ( ) )
370370}
@@ -375,10 +375,10 @@ use downsample_rs::minmaxlttb as minmaxlttb_mod;
375375
376376// Create a sub module for the MINMAXLTTB algorithm
377377#[ pymodule]
378- fn minmaxlttb ( _py : Python , m : & PyModule ) -> PyResult < ( ) > {
378+ fn minmaxlttb ( _py : Python , m : & Bound < ' _ , PyModule > ) -> PyResult < ( ) > {
379379 // ----------------- SEQUENTIAL
380380
381- let sequential_mod = PyModule :: new ( _py, "sequential" ) ?;
381+ let sequential_mod = PyModule :: new_bound ( _py, "sequential" ) ?;
382382
383383 // ----- WITHOUT X
384384 {
@@ -394,7 +394,7 @@ fn minmaxlttb(_py: Python, m: &PyModule) -> PyResult<()> {
394394
395395 // ----------------- PARALLEL
396396
397- let parallel_mod = PyModule :: new ( _py, "parallel" ) ?;
397+ let parallel_mod = PyModule :: new_bound ( _py, "parallel" ) ?;
398398
399399 // ----- WITHOUT X
400400 {
@@ -417,8 +417,8 @@ fn minmaxlttb(_py: Python, m: &PyModule) -> PyResult<()> {
417417 }
418418
419419 // Add the submodules to the module
420- m. add_submodule ( sequential_mod) ?;
421- m. add_submodule ( parallel_mod) ?;
420+ m. add_submodule ( & sequential_mod) ?;
421+ m. add_submodule ( & parallel_mod) ?;
422422
423423 Ok ( ( ) )
424424}
@@ -427,7 +427,7 @@ fn minmaxlttb(_py: Python, m: &PyModule) -> PyResult<()> {
427427
428428#[ pymodule] // The super module
429429#[ pyo3( name = "_tsdownsample_rs" ) ] // How the module is imported in Python: https://github.com/PyO3/maturin/issues/256#issuecomment-1038576218
430- fn tsdownsample ( _py : Python < ' _ > , m : & PyModule ) -> PyResult < ( ) > {
430+ fn tsdownsample ( _py : Python < ' _ > , m : & Bound < ' _ , PyModule > ) -> PyResult < ( ) > {
431431 m. add_wrapped ( wrap_pymodule ! ( minmax) ) ?;
432432 m. add_wrapped ( wrap_pymodule ! ( m4) ) ?;
433433 m. add_wrapped ( wrap_pymodule ! ( lttb) ) ?;
0 commit comments