diff --git a/.axes/axes.toml b/.axes/axes.toml index ab38573..987b328 100644 --- a/.axes/axes.toml +++ b/.axes/axes.toml @@ -1,10 +1,16 @@ name = "parcode" -version = "2.0.1" +version = "0.5.3" description = "Blazing fast parallel caching for Rust. Serializes complex data to a chunked file format to get CPU maximum power on data loads, but as a simple binary loader." [scripts.test] -desc = "Run a simple test echo command." -run = """echo "✅ Test for '' successful!"""" +run = [ + "# === Running all standard quality tests... ===", + "@> cargo fmt -- --check", + "@> cargo clippy --all-features --all-targets -- -D warnings", + "@> cargo test --all-features --all-targets", + "# <#green>=== Completed! now you can make a PR. ===<#reset>", +] +desc = "Run a standard quality test required from make a PR." [options.at_start] desc = "Commands to run when entering a session (e.g., `source .venv/bin/activate`)" diff --git a/Cargo.lock b/Cargo.lock index 5f2e22e..8e6a72a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -355,7 +355,7 @@ dependencies = [ [[package]] name = "parcode" -version = "0.5.2" +version = "0.5.3" dependencies = [ "bincode", "criterion", diff --git a/Cargo.toml b/Cargo.toml index 6965903..211af89 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "parcode" -version = "0.5.2" +version = "0.5.3" edition = "2024" authors = ["RetypeOS"] description = "A high-performance, lazy load and parallelized caching library for complex Rust data structures." diff --git a/examples/inspect_debug.rs b/examples/inspect_debug.rs index e82fd1d..3463586 100644 --- a/examples/inspect_debug.rs +++ b/examples/inspect_debug.rs @@ -1,7 +1,7 @@ #![allow(missing_docs)] fn main() -> parcode::Result<()> { - use parcode::{Parcode, ParcodeObject, inspector::ParcodeInspector}; + use parcode::{Parcode, ParcodeObject}; use serde::{Deserialize, Serialize}; use std::collections::HashMap; @@ -33,7 +33,7 @@ fn main() -> parcode::Result<()> { Parcode::save("stress_jagged.par", &jagged_obj)?; - let report = ParcodeInspector::inspect("stress_jagged.par")?; + let report = Parcode::inspect("stress_jagged.par")?; println!("{}", report); // Verify Data @@ -98,7 +98,7 @@ fn main() -> parcode::Result<()> { Parcode::save("stress_nested.par", &root)?; - let report_nested = ParcodeInspector::inspect("stress_nested.par")?; + let report_nested = Parcode::inspect("stress_nested.par")?; println!("{}", report_nested); // Verify Data diff --git a/src/api.rs b/src/api.rs index c3f42c6..d565ef5 100644 --- a/src/api.rs +++ b/src/api.rs @@ -65,6 +65,7 @@ use crate::error::Result; use crate::executor::execute_graph; use crate::format::GlobalHeader; use crate::graph::TaskGraph; +use crate::inspector::{DebugReport, ParcodeInspector}; use crate::io::SeqWriter; use crate::reader::{ParcodeFile, ParcodeNative}; use crate::visitor::ParcodeVisitor; @@ -117,6 +118,13 @@ impl Parcode { { ParcodeOptions::default().save_sync(path, root_object) } + + /// Generates a structural inspection report of a file without full initialization. + /// + /// This is a convenience wrapper equivalent to `ParcodeInspector::inspect`. + pub fn inspect>(path: P) -> Result { + ParcodeInspector::inspect(path) + } } /// Builder for configuring serialization options (compression, etc.).