| Crates.io | feagi-serialization |
| lib.rs | feagi-serialization |
| version | 0.0.1-beta.4 |
| created_at | 2025-12-23 17:52:58.263205+00 |
| updated_at | 2026-01-25 21:44:01.968149+00 |
| description | Adds serialization and deserialization to select Feagi Data Structures. |
| homepage | https://feagi.org |
| repository | https://github.com/feagi/feagi-core |
| max_upload_size | |
| id | 2002040 |
| size | 96,198 |
Efficient serialization and deserialization for FEAGI data structures
feagi-serialization provides high-performance serialization and deserialization for FEAGI data structures. This crate implements the FEAGI Byte Container (FBC) format for efficient binary encoding of neural data.
Add this to your Cargo.toml:
[dependencies]
feagi-serialization = "0.0.1-beta.1"
feagi-structures = "0.0.1-beta.1"
use feagi_serialization::{FeagiByteContainer, FeagiByteStructureType};
// Create a container with JSON data
let json_data = br#"{"cortical_id": "ipu000", "data": [1,2,3]}"#;
let container = FeagiByteContainer::new(
FeagiByteStructureType::Json,
json_data.to_vec()
);
// Serialize to bytes
let bytes = container.to_bytes();
// Deserialize from bytes
let decoded = FeagiByteContainer::from_bytes(&bytes)?;
use feagi_serialization::implementations::cortical_mapped_xyzp_neuron_data::CorticalMappedXYZPNeuronVoxels;
use feagi_structures::genomic::cortical_area::CorticalID;
// Create neuron data mapped to cortical areas
let cortical_id = CorticalID::from_base_64("aXB1MDAw")?;
let mut data = CorticalMappedXYZPNeuronVoxels::new();
// Add voxels for a cortical area
data.insert(cortical_id, vec![(10, 20, 5, 128)]);
// Serialize efficiently
let bytes = data.serialize_to_bytes();
See documentation for the complete format specification.
The FBC format is designed for high-throughput neural data transmission:
For detailed API documentation, visit docs.rs/feagi-serialization.
For format specifications, see the docs/ directory.
This crate is part of the FEAGI project:
Licensed under the Apache License, Version 2.0. See LICENSE for details.
Contributions are welcome! Please see the main repository for contribution guidelines.