#time-series-database #sql #streaming #time-series

aegis-common

Common types and utilities for Aegis database

11 releases

0.2.6 Mar 29, 2026
0.2.5 Mar 26, 2026
0.2.2 Feb 28, 2026
0.1.7 Jan 24, 2026

#35 in #time-series-database

Download history 10/week @ 2026-01-14 7/week @ 2026-01-21 2/week @ 2026-01-28 9/week @ 2026-03-04 15/week @ 2026-03-11 18/week @ 2026-03-18 35/week @ 2026-03-25 13/week @ 2026-04-01 46/week @ 2026-04-08

112 downloads per month
Used in 17 crates (15 directly)

LicenseRef-BSL-1.1

33KB
614 lines

AegisDB Logo

aegis-common

License Rust Version AegisDB

Common types, utilities, and shared functionality for the Aegis Database Platform.

Overview

aegis-common provides the foundational types and utilities used across all Aegis crates. It ensures consistency and reduces code duplication throughout the platform.

Features

  • Configuration Management - TOML-based configuration loading and validation
  • Error Handling - Unified error types with thiserror
  • Common Types - Shared data structures (IDs, timestamps, results)
  • Utilities - Hashing (xxHash), checksums (CRC32), UUID generation

Modules

Module Description
config Configuration structures and loading
error Common error types and Result aliases
types Shared type definitions (NodeId, BlockId, etc.)
utils Utility functions (hashing, encoding, time)

Usage

Add to your Cargo.toml:

[dependencies]
aegis-common = { path = "../aegis-common" }

Example

use aegis_common::{AegisError, AegisResult, NodeId};
use aegis_common::config::AegisConfig;
use aegis_common::utils::{generate_id, hash_bytes};

// Generate a unique ID
let id = generate_id();

// Hash some data
let hash = hash_bytes(b"hello world");

// Load configuration
let config = AegisConfig::from_file("aegis.toml")?;

Dependencies

  • serde / serde_json - Serialization
  • thiserror - Error handling
  • chrono - Date/time utilities
  • uuid - Unique identifier generation
  • xxhash-rust - Fast hashing
  • crc32fast - Checksum computation

Tests

cargo test -p aegis-common

License

Apache-2.0

Dependencies

~2.2–3.5MB
~67K SLoC