1016 releases (174 breaking)
Uses new Rust 2024
| new 0.180.6 | Jun 8, 2026 |
|---|---|
| 0.179.6 | Jun 6, 2026 |
| 0.66.6 | Mar 31, 2026 |
| 0.2.0 | Dec 25, 2025 |
| 0.0.6 | Nov 28, 2025 |
#9 in #query-api
21 downloads per month
14MB
332K
SLoC
IcyDB
Public meta-crate for IcyDB.
This crate re-exports the IcyDB ecosystem, including runtime query APIs, schema/macros, and shared types.
Use this crate when building canister data models and queries.
For full setup, examples, and release notes:
- Workspace README:
README.md - Changelog:
CHANGELOG.md
lib.rs:
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. -
Error/ErrorKind/ErrorOriginShared 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, model,
and __macro) instead of a broad internal-export module.
Compact diagnostic identity for CLI and canister callers.
Dependencies
~3.5–8MB
~154K SLoC