-
Notifications
You must be signed in to change notification settings - Fork 23
Commit 3afb9bf
authored
Bump dependency versions and Rust edition (#98)
- Dependency Updates
- pyo3: 0.19.0 -> 0.25.1
- pyo3-build-config: 0.19.0 -> 0.25.1
- tokio: 1.29.1 -> 1.47.0
- tracing-subscriber: 0.3.18 -> 0.3.19
- Rust Edition 2021 -> 2024
- PyO3 upgrade related code changes:
- Migrated from GIL Refs to
[Bound](https://pyo3.rs/main/doc/pyo3/struct.bound) API
- Replaced all GIL reference types with `Bound` smart pointers:
- `&PyAny` -> `Bound<'_, PyAny>`
- `&PyList` -> `Bound<'_, PyList>`
- `&PyTuple` -> `Bound<'_, PyTuple>`
- `&PyModule` -> `&Bound<'_, PyModule>`
- Updated Type Definitions
- Modified `ListOrTuple` enum to use `Bound` types and added
`#[derive(Clone)]`
- Updated `ListOrTupleIterator` to return `Bound<'py, PyAny>` items
- API Method Updates
- Constructor methods: `PyTuple::new_bound` -> `PyTuple::new`,
`PyList::new_bound` -> `PyList::new`
- Type access: `py.get_type_bound` -> `py.get_type`
- Added error handling for fallible constructors with `?` operator
- Trait Implementation Changes
- `FromPyObject`: Migrated from `extract` to `extract_bound` method
- Conversion methods: Replaced `into_py()` and `to_object()` with
`into_pyobject().unwrap().into()`
- Thread Safety
- Added `unsafe impl Sync` for both `Connection` and `Cursor` structs
(required for PyO3 0.23+)
- Function Signatures
- Added explicit `#[pyo3(signature = ...)]` attributes for functions
with trailing `Option<T>` parameters:
- `execute` and `executemany`: `#[pyo3(signature = (sql,
parameters=None))]`
- `fetchmany`: `#[pyo3(signature = (size=None))]`
- `__exit__`: `#[pyo3(signature = (exc_type=None, _exc_val=None,
_exc_tb=None))]`
- Module Initialization
- Updated pymodule function signature to accept `&Bound<'_, PyModule>`
instead of `&PyModule`File tree
Expand file treeCollapse file tree
3 files changed
+153
-106
lines changedFilter options
- src
Expand file treeCollapse file tree
3 files changed
+153
-106
lines changed
0 commit comments