icydb 0.275.0

IcyDB — A schema-first typed query engine and persistence runtime for Internet Computer canisters
Documentation

IcyDB

Public runtime facade for IcyDB.

This crate exposes accepted-schema database sessions, structural writes, optional SQL and typed reads, shared runtime types, and the host build facade used by generated canister actor glue.

Ordinary database-owning canisters depend on icydb alone. Author declarations through icydb::model::prelude::* and use this facade's runtime, scalar types and build surfaces. The runtime-only #[icydb::request_execution] and #[icydb::test] entry attributes are exposed directly.

Lightweight model or shared-contract crates may instead depend on icydb-model alone: declarations use icydb_model::prelude::*, and schema-owned scalar types are available through re-exports such as icydb_model::schema::Ulid. Scalar/proposal-only tooling may use icydb-schema alone when model macros are unnecessary. These are supported narrower dependency choices; disabling the facade's default features still includes the database runtime.

Database writes use only the accepted schema snapshot for admission. They do not invoke icydb-model application validators or normalizers. Applications that want those Rust behaviors must call normalize, validate, or normalize_and_validate explicitly before constructing a write.

For full setup, examples, and release notes: