Expand description
§icydb
icydb is the public facade crate for the IcyDB runtime.
It is the recommended dependency for downstream canister projects.
This crate exposes:
- the stable runtime surface used inside canister actor code,
- schema and design-time helpers for macros and validation,
- and a small set of macros and entry points that wire generated code.
Low-level execution, storage, and engine internals live in
icydb-core and are re-exposed selectively through stable facade modules.
§Crate layout
-
baseDesign-time helpers, sanitizers, and validators used by schemas and macros. -
buildInternal code generation helpers used by macros and tests (not intended for direct use). -
traits/types/value/visitorStable runtime and schema-facing building blocks used by generated code. -
model/metrics(internal) Runtime model and metrics internals. Exposed for advanced tooling only; not part of the supported semver surface. -
errorShared error types for generated code and runtime boundaries. -
macrosDerive macros for entities, canisters, and schema helpers. -
schemaSchema AST, builders, and validation utilities. -
dbThe public database façade: session handles, query builders, and typed responses.
§Preludes
-
preludeOpinionated runtime prelude for canister actor code. Intended to be glob-imported inlib.rsto keep endpoints concise. -
design::preludePrelude for schema and design-time code (macros, validators, and base helpers).
§Internal boundaries
Generated code targets explicit facade surfaces (traits, patch,
and __macro) instead of a broad internal-export module.
Re-exports§
pub use error::Error;pub use icydb_build as build;pub use icydb_schema as schema;pub use icydb_schema_derive as macros;