apiary-core 0.1.1

Core types, traits, and configuration for the Apiary distributed data processing framework
Documentation

apiary-core

Core types, traits, and configuration for the Apiary distributed data processing framework.

Overview

apiary-core provides the foundational building blocks shared across all Apiary crates:

  • ConfigurationNodeConfig with automatic hardware detection (CPU cores, memory, disk)
  • Error handling — Unified ApiaryError type and Result<T> alias
  • Registry typesHive, Box, and Frame types representing the namespace hierarchy (database → schema → table)
  • Ledger typesLedgerEntry, LedgerAction, WriteResult, and CellMetadata for ACID transactions
  • Storage traitStorageBackend trait defining the interface for all storage implementations
  • Typed identifiersHiveId, BoxId, FrameId, NodeId, TaskId, and other strongly-typed IDs

Usage

use apiary_core::{NodeConfig, StorageBackend, ApiaryError, Result};
use apiary_core::{Registry, Hive, Frame};

// Auto-detect node hardware
let config = NodeConfig::detect();
println!("Cores: {}, Memory: {} bytes", config.cores, config.memory_bytes);

The Beekeeping Metaphor

Apiary Term Database Equivalent Description
Hive Database Top-level logical grouping
Box Schema Namespace within a hive
Frame Table Queryable dataset
Cell Parquet file Physical storage unit

License

Apache License 2.0 — see LICENSE for details.

Part of the Apiary project.