Skip to main content

Python bindings for the Aphelion AI Framework - unified frontend for AI model development

Project description

aphelion-core

Core library for the Aphelion Framework - a unified frontend for AI model development in Rust.

Overview

aphelion-core provides the foundational APIs for building AI pipelines:

  • BuildGraph - Directed acyclic graph for model architecture with deterministic SHA-256 hashing
  • BuildPipeline - Composable pipeline stages for training, inference, and deployment
  • ModelConfig - Type-safe configuration with parameter validation and versioning
  • Backend - Hardware abstraction trait for CPU, GPU, and accelerators
  • Diagnostics - Structured tracing and event logging

Installation

[dependencies]
aphelion-core = "1.2"
serde_json = "1.0"  # Required for parameter values

Optional Features

[dependencies]
aphelion-core = { version = "1.2", features = ["rust-ai-core", "tritter-accel", "tokio"] }
Feature Description
rust-ai-core Memory tracking, device detection, dtype utilities via rust-ai-core
tritter-accel BitNet b1.58 ternary ops, VSA gradient compression via tritter-accel
cuda CUDA GPU support (requires rust-ai-core)
burn Burn deep learning framework backend
cubecl CubeCL GPU compute backend
tokio Async pipeline execution

Quick Start

use aphelion_core::prelude::*;
use aphelion_core::config::ModelConfig;
use aphelion_core::backend::NullBackend;
use aphelion_core::diagnostics::InMemoryTraceSink;
use aphelion_core::graph::BuildGraph;
use aphelion_core::pipeline::{BuildContext, BuildPipeline};

// Create model configuration
let config = ModelConfig::new("transformer", "1.0.0")
    .with_param("d_model", serde_json::json!(512))
    .with_param("n_heads", serde_json::json!(8));

// Build graph
let mut graph = BuildGraph::default();
let node = graph.add_node("encoder", config);

// Execute pipeline
let backend = NullBackend::cpu();
let trace = InMemoryTraceSink::new();
let ctx = BuildContext::new(&backend, &trace);

let pipeline = BuildPipeline::standard();
let result = pipeline.execute(&ctx, graph).unwrap();

println!("Hash: {}", result.stable_hash());

Core Modules

config - Model Configuration

use aphelion_core::config::ModelConfig;

let config = ModelConfig::new("llama", "2.0.0")
    .with_param("hidden_size", serde_json::json!(4096))
    .with_param("num_layers", serde_json::json!(32));

// Type-safe retrieval
let hidden: u32 = config.param("hidden_size")?;
let layers: u32 = config.param_or("num_layers", 12)?;

graph - Build Graph

use aphelion_core::graph::BuildGraph;

let mut graph = BuildGraph::default();
let input = graph.add_node("input", config.clone());
let hidden = graph.add_node("hidden", config.clone());
graph.add_edge(input, hidden);

// Deterministic hash
let hash = graph.stable_hash();

pipeline - Pipeline Execution

use aphelion_core::pipeline::{BuildPipeline, ValidationStage, HashingStage};

let pipeline = BuildPipeline::new()
    .with_stage(Box::new(ValidationStage))
    .with_stage(Box::new(HashingStage))
    .with_pre_hook(|ctx| {
        println!("Starting on {}", ctx.backend.name());
        Ok(())
    });

let result = pipeline.execute(&ctx, graph)?;

backend - Hardware Abstraction

use aphelion_core::backend::{Backend, NullBackend, DeviceCapabilities};

// Use null backend for testing
let backend = NullBackend::cpu();

// Implement custom backend
impl Backend for MyGpuBackend {
    fn name(&self) -> &str { "my_gpu" }
    fn device(&self) -> &str { "cuda:0" }
    fn capabilities(&self) -> DeviceCapabilities { /* ... */ }
    fn is_available(&self) -> bool { true }
    fn initialize(&mut self) -> AphelionResult<()> { Ok(()) }
    fn shutdown(&mut self) -> AphelionResult<()> { Ok(()) }
}

diagnostics - Tracing

use aphelion_core::diagnostics::{InMemoryTraceSink, TraceSinkExt};

let trace = InMemoryTraceSink::new();
trace.info("model.init", "Initializing model");
trace.warn("config", "Deprecated parameter");

let json = trace.to_json();

Ecosystem Integration

aphelion-core is part of the rust-ai ecosystem:

See the framework README for full ecosystem documentation.

License

MIT License - see LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aphelion_framework-1.2.8.tar.gz (127.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

aphelion_framework-1.2.8-cp310-abi3-win_amd64.whl (392.1 kB view details)

Uploaded CPython 3.10+Windows x86-64

aphelion_framework-1.2.8-cp310-abi3-manylinux_2_34_x86_64.whl (491.4 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.34+ x86-64

aphelion_framework-1.2.8-cp310-abi3-macosx_11_0_arm64.whl (447.6 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file aphelion_framework-1.2.8.tar.gz.

File metadata

  • Download URL: aphelion_framework-1.2.8.tar.gz
  • Upload date:
  • Size: 127.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aphelion_framework-1.2.8.tar.gz
Algorithm Hash digest
SHA256 b04b0b70992da66adcefbb6977667fc198ab69f53b5723abb5cd76e1e5bd498f
MD5 f8c6ed902f3b8693c85efa4e6f882af1
BLAKE2b-256 0cea42d480623ef15c2fbe3b8640cc7d03e66701d96180313eb9a1449dff537c

See more details on using hashes here.

Provenance

The following attestation bundles were made for aphelion_framework-1.2.8.tar.gz:

Publisher: release.yml on tzervas/aphelion-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aphelion_framework-1.2.8-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for aphelion_framework-1.2.8-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 a29fa3c6a24af6ae8e64b92b4071488eea38f208aac03d3e51fc7602efd22629
MD5 e33b125def118646ac65684e550f6085
BLAKE2b-256 3f6c9bd2d7d7635b2af5396c81a2a192db8b4df255061a6cfc5aad146b8659ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for aphelion_framework-1.2.8-cp310-abi3-win_amd64.whl:

Publisher: release.yml on tzervas/aphelion-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aphelion_framework-1.2.8-cp310-abi3-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for aphelion_framework-1.2.8-cp310-abi3-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 397697b3b38be1ae2056bc1aaeed0bc24b318e97ebe7a4a94ab3697b7737db03
MD5 a6481621a66c7e0ff44e13919e36235e
BLAKE2b-256 8d55def02cca4b844c00712dbafd3c6b21dc1d998cba9b3799e98cf580e03a37

See more details on using hashes here.

Provenance

The following attestation bundles were made for aphelion_framework-1.2.8-cp310-abi3-manylinux_2_34_x86_64.whl:

Publisher: release.yml on tzervas/aphelion-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aphelion_framework-1.2.8-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aphelion_framework-1.2.8-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d63e3b845ba2aebc16d561f243f17d6b63568d27c67d6c4aff17e5d5c726fad2
MD5 ea484fbc1988e0caca3d2952f4f6e494
BLAKE2b-256 5ef6ffc939469a6fc0b38702191c029ed6a7adde56177b40716d88a200420202

See more details on using hashes here.

Provenance

The following attestation bundles were made for aphelion_framework-1.2.8-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on tzervas/aphelion-framework-rs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page