-
Quivr
High-performance containers for Arrow data with strict schemas.
Arrow Data Containers with Strict Schemas
Quivr provides Table
containers for Arrow data with strict schema enforcement. The Tables are backed by Apache Arrow’s columnar memory format and designed for applications requiring type safety and immutable data structures.
Built on the Arrow memory model, Quivr Tables provide consistent performance characteristics and efficient memory usage for data processing applications.
Features
Type Safety
- Strict schema enforcement at runtime
- Static column definitions
- Immutable data structures
Performance
- Zero-copy data operations
- Consistent performance characteristics
- Reduced memory footprint compared to pandas DataFrames
Integration
- Arrow memory model for interoperability
- Streaming I/O support
- Parquet serialization/deserialization
Examples
import quivr as qv
# Define strict schema with type enforcement
schema = qv.Schema([
qv.Field('object_id', qv.string()),
qv.Field('ra', qv.float64()),
qv.Field('dec', qv.float64()),
qv.Field('magnitude', qv.float64()),
])
# Create immutable table with data validation
table = qv.Table(schema, {
'object_id': ['2013 RR165', '2024 YR4'],
'ra': [123.456, 234.567],
'dec': [45.678, -12.345],
'magnitude': [18.2, 19.7]
})
# Fast, memory-efficient operations
filtered = table.filter(table['magnitude'] < 19.0)
Used for data processing in ADAM’s computational pipeline.