pyo3_arrow/ffi/from_python/schema.rs
1use crate::ffi::from_python::utils::call_arrow_c_schema;
2use crate::schema::PySchema;
3use pyo3::prelude::*;
4use pyo3::PyAny;
5
6impl<'a> FromPyObject<'_, 'a> for PySchema {
7 type Error = PyErr;
8
9 fn extract(obj: Borrowed<'_, 'a, PyAny>) -> Result<Self, Self::Error> {
10 let schema_ptr = call_arrow_c_schema(&obj)?;
11 Self::from_arrow_pycapsule(&schema_ptr)
12 }
13}