1#![cfg_attr(not(feature = "std"), no_std)]
27#![cfg_attr(docsrs, feature(doc_cfg))]
28#[cfg(not(feature = "std"))]
29extern crate alloc;
30
31pub mod error;
32pub mod header;
33pub mod metadata;
34pub mod parser;
35pub mod reader;
36pub mod reader_core;
37pub mod source;
38pub mod tensor_info;
39pub mod types;
40
41#[cfg(feature = "std")]
42pub mod loader;
43#[cfg(feature = "std")]
44pub mod quantize_on_load;
45#[cfg(feature = "std")]
46pub mod resume;
47#[cfg(feature = "std")]
48pub mod safetensors;
49#[cfg(feature = "std")]
50pub mod schema;
51#[cfg(feature = "std")]
52pub mod sharded;
53#[cfg(feature = "std")]
54pub mod streaming;
55#[cfg(feature = "std")]
56pub mod writer;
57
58pub mod http_source;
59
60#[cfg(all(feature = "std", feature = "integrity"))]
61pub mod integrity;
62
63#[cfg(all(feature = "std", any(test, feature = "test-utils")))]
64#[cfg_attr(docsrs, doc(cfg(feature = "test-utils")))]
65pub mod test_utils;
66
67pub use error::{GgufError, GgufResult};
68pub use header::GgufHeader;
69pub use metadata::{MetadataStore, MetadataValue};
70pub use parser::GgufFile;
71pub use reader::BinaryReader;
72pub use reader_core::{align_up, parse_gguf, ParsedGguf};
73pub use source::{SliceSource, Source};
74pub use tensor_info::{TensorInfo, TensorStore};
75pub use types::{GgufTensorType, GgufValueType};
76
77#[cfg(feature = "std")]
78pub use source::{FileSource, ReadSource};
79
80#[cfg(feature = "std")]
81pub use loader::GgufModel;
82#[cfg(feature = "std")]
83pub use safetensors::SafetensorsConverter;
84
85#[cfg(feature = "http")]
86pub use http_source::HttpRangeSource;
87#[cfg(feature = "std")]
88pub use quantize_on_load::{QuantPlan, QuantTarget};
89#[cfg(feature = "std")]
90pub use resume::{
91 checkpoint_path_for, compute_fingerprint, compute_fingerprint_with_probe, load_checkpoint,
92 save_checkpoint, validate_checkpoint, PrefixFingerprint, ResumeCheckpoint, ResumeHandle,
93};
94#[cfg(feature = "std")]
95pub use schema::{validate_schema, SchemaValidator, SchemaViolation};
96#[cfg(feature = "std")]
97pub use sharded::ShardedGgufModel;
98#[cfg(feature = "std")]
99pub use streaming::{StreamingGgufParser, TensorInfoIter};
100#[cfg(feature = "std")]
101pub use writer::GgufWriter;
102
103#[cfg(all(feature = "std", feature = "integrity"))]
104pub use integrity::{
105 compute_model_manifest, format_manifest, hash_tensor, hash_to_hex, verify_model, verify_tensor,
106 IntegrityFailure, ModelHashManifest, TensorHash, TensorHashEntry, TensorHashValidator,
107};