icydb 0.296.0

IcyDB — A schema-first typed query engine and persistence runtime for Internet Computer canisters
docs.rs failed to build icydb-0.296.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: icydb-0.294.0

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.

Public IC endpoint exports belong to the separate canic-icydb adapter, with explicit declarations and IC Wire payloads. This library can be used without mounting endpoints; enabling a feature does not export a public method.

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: