Expand description
Pyro-native type system and schema representation.
This crate provides a lightweight schema representation optimized for
PyroValue. Unlike Arrow’s DataType (which has ~40 variants for timestamps,
decimals, run-end-encoded, etc.), PyroType mirrors exactly the variants that
PyroValue can represent, making match arms exhaustive and tiny.
Core types:
PyroType— the main type enum, mirroringPyroValuediscriminants 1:1PyroField— a named, nullable column descriptor (equivalent to ArrowField)PyroSchema— an ordered collection ofPyroFields (equivalent to ArrowSchema)coerce_pyro_types— type coercion to find common supertypes
Conversion to/from arrow::datatypes::DataType lives in the arrow module
(behind the arrow feature flag).
Structs§
- Capability
Func - Documentation for a capability function
- Class
Spec - Interface
Spec - The root specification object.
- Module
Func - Documentation for the main function of a module
- Pyro
Field - A named, nullable column descriptor — the Pyro equivalent of
arrow::datatypes::Field. - Pyro
Schema - An ordered collection of
PyroFields — the Pyro equivalent ofarrow::datatypes::Schema.
Enums§
- Module
Kind - The kind of module execution model
- Primitive
Data Type - The primitive element type inside a
PrimitiveValueList. - Pyro
Type - A data type enum that mirrors the variants of [
PyroValue] exactly.
Functions§
- coerce_
pyro_ types - Coerce two
PyroTypes to a common supertype. ReturnsNoneif incompatible.