pub mod catalog;
pub mod safetensors;
pub mod spec;
pub use catalog::{CatalogDocument, EMBEDDED_MODELS_JSON, ModelCatalog};
pub use safetensors::{SafetensorEntryHeader, SafetensorsMap};
pub use spec::{ArraySpec, ModelFormat, ModelManifest, TensorIoSpec, TensorPortSpec};
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_embedded_catalog_entries_are_credited() {
let catalog = ModelCatalog::load_default().unwrap();
for m in catalog.models() {
assert!(m.provenance.paper.as_ref().is_some_and(|p| !p.doi.is_empty()), "{}: paper DOI required", m.id);
#[cfg(feature = "hub")]
assert!(dspk_hub::Catalog::load_default().unwrap().get(&m.id).is_some(), "{}: no dspk-hub catalog entry", m.id);
}
}
}