pyo3_arrow/ffi/from_python/
field.rs

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