@@ -74,9 +74,9 @@ use crate::schema::{schema_to_pyobject, Field};
7474use crate :: utils:: rt;
7575use deltalake:: operations:: update_field_metadata:: UpdateFieldMetadataBuilder ;
7676use pyo3:: exceptions:: { PyRuntimeError , PyValueError } ;
77- use pyo3:: prelude:: * ;
7877use pyo3:: pybacked:: PyBackedStr ;
7978use pyo3:: types:: { PyCapsule , PyDict , PyFrozenSet } ;
79+ use pyo3:: { prelude:: * , IntoPyObjectExt } ;
8080use serde_json:: { Map , Value } ;
8181use uuid:: Uuid ;
8282
@@ -1210,9 +1210,9 @@ impl RawDeltaTable {
12101210
12111211 let active_partitions = active_partitions
12121212 . into_iter ( )
1213- . map ( |part| PyFrozenSet :: new_bound ( py, part. iter ( ) ) )
1213+ . map ( |part| PyFrozenSet :: new ( py, part. iter ( ) ) )
12141214 . collect :: < Result < Vec < Bound < ' py , _ > > , PyErr > > ( ) ?;
1215- PyFrozenSet :: new_bound ( py, & active_partitions)
1215+ PyFrozenSet :: new ( py, & active_partitions)
12161216 }
12171217
12181218 #[ allow( clippy:: too_many_arguments) ]
@@ -1615,7 +1615,7 @@ impl RawDeltaTable {
16151615 let table = self . with_table ( |t| Ok ( Arc :: new ( t. clone ( ) ) ) ) ?;
16161616 let provider = FFI_TableProvider :: new ( table, false , handle) ;
16171617
1618- PyCapsule :: new_bound ( py, provider, Some ( name. clone ( ) ) )
1618+ PyCapsule :: new ( py, provider, Some ( name. clone ( ) ) )
16191619 }
16201620}
16211621
@@ -1797,38 +1797,38 @@ fn scalar_to_py<'py>(value: &Scalar, py_date: &Bound<'py, PyAny>) -> PyResult<Bo
17971797 let py = py_date. py ( ) ;
17981798 let val = match value {
17991799 Null ( _) => py. None ( ) ,
1800- Boolean ( val) => val. to_object ( py) ,
1801- Binary ( val) => val. to_object ( py) ,
1802- String ( val) => val. to_object ( py) ,
1803- Byte ( val) => val. to_object ( py) ,
1804- Short ( val) => val. to_object ( py) ,
1805- Integer ( val) => val. to_object ( py) ,
1806- Long ( val) => val. to_object ( py) ,
1807- Float ( val) => val. to_object ( py) ,
1808- Double ( val) => val. to_object ( py) ,
1800+ Boolean ( val) => val. into_py_any ( py) ? ,
1801+ Binary ( val) => val. into_py_any ( py) ? ,
1802+ String ( val) => val. into_py_any ( py) ? ,
1803+ Byte ( val) => val. into_py_any ( py) ? ,
1804+ Short ( val) => val. into_py_any ( py) ? ,
1805+ Integer ( val) => val. into_py_any ( py) ? ,
1806+ Long ( val) => val. into_py_any ( py) ? ,
1807+ Float ( val) => val. into_py_any ( py) ? ,
1808+ Double ( val) => val. into_py_any ( py) ? ,
18091809 Timestamp ( _) => {
18101810 // We need to manually append 'Z' add to end so that pyarrow can cast the
18111811 // scalar value to pa.timestamp("us","UTC")
18121812 let value = value. serialize ( ) ;
1813- format ! ( "{}Z" , value) . to_object ( py)
1813+ format ! ( "{}Z" , value) . into_py_any ( py) ?
18141814 }
18151815 TimestampNtz ( _) => {
18161816 let value = value. serialize ( ) ;
1817- value. to_object ( py)
1817+ value. into_py_any ( py) ?
18181818 }
18191819 // NOTE: PyArrow 13.0.0 lost the ability to cast from string to date32, so
18201820 // we have to implement that manually.
18211821 Date ( _) => {
18221822 let date = py_date. call_method1 ( "fromisoformat" , ( value. serialize ( ) , ) ) ?;
1823- date. to_object ( py)
1823+ date. into_py_any ( py) ?
18241824 }
1825- Decimal ( _, _, _) => value. serialize ( ) . to_object ( py) ,
1825+ Decimal ( _, _, _) => value. serialize ( ) . into_py_any ( py) ? ,
18261826 Struct ( data) => {
1827- let py_struct = PyDict :: new_bound ( py) ;
1827+ let py_struct = PyDict :: new ( py) ;
18281828 for ( field, value) in data. fields ( ) . iter ( ) . zip ( data. values ( ) . iter ( ) ) {
18291829 py_struct. set_item ( field. name ( ) , scalar_to_py ( value, py_date) ?) ?;
18301830 }
1831- py_struct. to_object ( py)
1831+ py_struct. into_py_any ( py) ?
18321832 }
18331833 Array ( _val) => todo ! ( "how should this be converted!" ) ,
18341834 } ;
@@ -1851,7 +1851,7 @@ fn scalar_to_py<'py>(value: &Scalar, py_date: &Bound<'py, PyAny>) -> PyResult<Bo
18511851fn filestats_to_expression_next < ' py > (
18521852 py : Python < ' py > ,
18531853 schema : & PyArrowType < ArrowSchema > ,
1854- stats_columns : & Vec < String > ,
1854+ stats_columns : & [ String ] ,
18551855 file_info : LogicalFile < ' _ > ,
18561856) -> PyResult < Option < Bound < ' py , PyAny > > > {
18571857 let ds = PyModule :: import ( py, "pyarrow.dataset" ) ?;
@@ -2462,33 +2462,21 @@ fn _internal(m: &Bound<'_, PyModule>) -> PyResult<()> {
24622462 deltalake:: unity_catalog:: register_handlers ( None ) ;
24632463
24642464 let py = m. py ( ) ;
2465- m. add ( "DeltaError" , py. get_type_bound :: < DeltaError > ( ) ) ?;
2466- m. add (
2467- "CommitFailedError" ,
2468- py. get_type_bound :: < CommitFailedError > ( ) ,
2469- ) ?;
2470- m. add (
2471- "DeltaProtocolError" ,
2472- py. get_type_bound :: < DeltaProtocolError > ( ) ,
2473- ) ?;
2474- m. add (
2475- "TableNotFoundError" ,
2476- py. get_type_bound :: < TableNotFoundError > ( ) ,
2477- ) ?;
2478- m. add (
2479- "SchemaMismatchError" ,
2480- py. get_type_bound :: < SchemaMismatchError > ( ) ,
2481- ) ?;
2465+ m. add ( "DeltaError" , py. get_type :: < DeltaError > ( ) ) ?;
2466+ m. add ( "CommitFailedError" , py. get_type :: < CommitFailedError > ( ) ) ?;
2467+ m. add ( "DeltaProtocolError" , py. get_type :: < DeltaProtocolError > ( ) ) ?;
2468+ m. add ( "TableNotFoundError" , py. get_type :: < TableNotFoundError > ( ) ) ?;
2469+ m. add ( "SchemaMismatchError" , py. get_type :: < SchemaMismatchError > ( ) ) ?;
24822470
24832471 env_logger:: Builder :: from_env ( env_logger:: Env :: default ( ) . default_filter_or ( "warn" ) ) . init ( ) ;
24842472 m. add ( "__version__" , env ! ( "CARGO_PKG_VERSION" ) ) ?;
2485- m. add_function ( pyo3:: wrap_pyfunction_bound !( rust_core_version, m) ?) ?;
2486- m. add_function ( pyo3:: wrap_pyfunction_bound !( create_deltalake, m) ?) ?;
2487- m. add_function ( pyo3:: wrap_pyfunction_bound !( write_new_deltalake, m) ?) ?;
2488- m. add_function ( pyo3:: wrap_pyfunction_bound !( write_to_deltalake, m) ?) ?;
2489- m. add_function ( pyo3:: wrap_pyfunction_bound !( convert_to_deltalake, m) ?) ?;
2490- m. add_function ( pyo3:: wrap_pyfunction_bound !( batch_distinct, m) ?) ?;
2491- m. add_function ( pyo3:: wrap_pyfunction_bound !(
2473+ m. add_function ( pyo3:: wrap_pyfunction !( rust_core_version, m) ?) ?;
2474+ m. add_function ( pyo3:: wrap_pyfunction !( create_deltalake, m) ?) ?;
2475+ m. add_function ( pyo3:: wrap_pyfunction !( write_new_deltalake, m) ?) ?;
2476+ m. add_function ( pyo3:: wrap_pyfunction !( write_to_deltalake, m) ?) ?;
2477+ m. add_function ( pyo3:: wrap_pyfunction !( convert_to_deltalake, m) ?) ?;
2478+ m. add_function ( pyo3:: wrap_pyfunction !( batch_distinct, m) ?) ?;
2479+ m. add_function ( pyo3:: wrap_pyfunction !(
24922480 get_num_idx_cols_and_stats_columns,
24932481 m
24942482 ) ?) ?;
0 commit comments