API surfaces
API and bindings
Choose the C API or language binding that matches your integration.The API reference explains how to call the engine. If you are learning what a registry, manifest, ruleset, runtime EDB, solve, or query means, start with the concepts first.
Reading the API reference
The same four visual cues identify API entries throughout this documentation. The label remains visible in every card or table; color is an aid, not the only way to distinguish them.
Choose an integration surface
| You are building | Start here | Contract |
|---|---|---|
| A new native C application | C Stable API | Installed opaque facade in <maelys/datalog.h>. |
| A historical 0.9.1 integration using engine structures | Deprecated C Low-level API | Archived source-coupled types, no longer installed in the 0.10.0 SDK. |
| A Python application | Python binding | The sole 0.10.0 binding imports as maelys_datalog; V1 is deprecated. |
| A browser or JavaScript application | TypeScript / JavaScript API | Typed wrapper over the published WebAssembly engine. |
The interfaces share the same engine concepts, but they do not promise identical function names, capabilities, or stability. Their references therefore remain separate rather than presenting whole pages as synchronized language tabs.
C reference by responsibility
The C Stable API and deprecated C Low-level API each organize their reference around registries, manifests, rulesets, EDB, solving, and querying. Read the stable reference for new integrations; use the deprecated low-level reference when reading 0.9.1 code that depends on transparent engine structures.
For language-independent meaning, see the concepts index. For changes across engine and API releases, see the changelog.