pub struct PySchema(/* private fields */);Expand description
A Python-facing Arrow schema.
This is a wrapper around a SchemaRef.
Implementations§
Source§impl PySchema
impl PySchema
Sourcepub fn from_arrow_pycapsule(capsule: &Bound<'_, PyCapsule>) -> PyResult<Self>
pub fn from_arrow_pycapsule(capsule: &Bound<'_, PyCapsule>) -> PyResult<Self>
Construct from a raw Arrow C Schema capsule
Sourcepub fn into_inner(self) -> SchemaRef
pub fn into_inner(self) -> SchemaRef
Consume this and return its internal SchemaRef
Sourcepub fn to_arro3<'py>(&'py self, py: Python<'py>) -> PyResult<Bound<'py, PyAny>>
pub fn to_arro3<'py>(&'py self, py: Python<'py>) -> PyResult<Bound<'py, PyAny>>
Export this to a Python arro3.core.Schema.
Sourcepub fn into_arro3(self, py: Python<'_>) -> PyResult<Bound<'_, PyAny>>
pub fn into_arro3(self, py: Python<'_>) -> PyResult<Bound<'_, PyAny>>
Export this to a Python arro3.core.Schema.
Sourcepub fn to_nanoarrow<'py>(
&'py self,
py: Python<'py>,
) -> PyResult<Bound<'py, PyAny>>
pub fn to_nanoarrow<'py>( &'py self, py: Python<'py>, ) -> PyResult<Bound<'py, PyAny>>
Export this to a Python nanoarrow.Schema.
Sourcepub fn to_pyarrow(self, py: Python<'_>) -> PyResult<PyObject>
pub fn to_pyarrow(self, py: Python<'_>) -> PyResult<PyObject>
Export to a pyarrow.Schema
Requires pyarrow >=14
Trait Implementations§
Source§impl From<PySchema> for Arro3Schema
impl From<PySchema> for Arro3Schema
Source§impl<'a> FromPyObject<'a> for PySchema
impl<'a> FromPyObject<'a> for PySchema
Source§impl<'py> IntoPyObject<'py> for PySchema
impl<'py> IntoPyObject<'py> for PySchema
Source§type Output = Bound<'py, <PySchema as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <PySchema as IntoPyObject<'py>>::Target>
The smart pointer type to use. Read more
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Performs the conversion.
Source§impl PyClassBaseType for PySchema
impl PyClassBaseType for PySchema
type LayoutAsBase = PyClassObject<PySchema>
type BaseNativeType = <PySchema as PyClassImpl>::BaseNativeType
type Initializer = PyClassInitializer<PySchema>
type PyClassMutability = <PySchema as PyClassImpl>::PyClassMutability
Source§impl PyClassImpl for PySchema
impl PyClassImpl for PySchema
Source§const IS_BASETYPE: bool = true
const IS_BASETYPE: bool = true
#[pyclass(subclass)]
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
#[pyclass(extends=…)]
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
#[pyclass(mapping)]
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
#[pyclass(sequence)]
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
#[pyclass(immutable_type)]
Source§type ThreadChecker = SendablePyClass<PySchema>
type ThreadChecker = SendablePyClass<PySchema>
This handles following two situations: Read more
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::ImmutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::ImmutableChild
Immutable or mutable
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
The closest native ancestor. This is
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
Source§impl PyClassNewTextSignature<PySchema> for PyClassImplCollector<PySchema>
impl PyClassNewTextSignature<PySchema> for PyClassImplCollector<PySchema>
fn new_text_signature(self) -> Option<&'static str>
Source§impl PyMethods<PySchema> for PyClassImplCollector<PySchema>
impl PyMethods<PySchema> for PyClassImplCollector<PySchema>
fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for PySchema
impl PyTypeInfo for PySchema
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
Returns the PyTypeObject instance for this type.
Source§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
Returns the safe abstraction over the type object.
impl DerefToPyAny for PySchema
Auto Trait Implementations§
impl Freeze for PySchema
impl RefUnwindSafe for PySchema
impl Send for PySchema
impl Sync for PySchema
impl Unpin for PySchema
impl UnwindSafe for PySchema
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
impl<'py, T> FromPyObjectBound<'_, 'py> for Twhere
T: FromPyObject<'py>,
Source§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
Source§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
Converts
self into an owned Python object, dropping type information.