ADIL EDGE SDK · QUICK START
Install status, requirements and a first generation.
Neither the Eco V1.1 A3b model nor the SDK is publicly released: there is no download, package or installer, and nothing on this page announces one. The samples below show the shape of the candidate interfaces for planning and review.
Installation status
No SDK package is published. The Python wheel, the npm package and the native libraries exist only in restricted developer-preview candidate builds, and the package names shown are provisional. Do not look for them on public registries. Installation commands will be published here only with an authorised release.
If you are in the developer programme, follow the instructions that came with your candidate package and verify its checksums before use.
Languages and platform requirements
| Language | Interface | Requirements |
|---|---|---|
| C and C++ | The C interface (version 2), linked directly into your program. | Header, engine library and the model file. The library must be the version 2 build. |
| Python | Standard-library-only package; the adapter loads the engine library directly. An HTTP client for the local API also exists. | Python 3.9 or later (tested on 3.9.6 and 3.15 on macOS arm64). |
| TypeScript / Node.js | Typed client; the engine runs in a separate host process that the client starts and talks to. No npm dependencies. | Node.js 18 or later targeted; tested on Node.js 25.9.0 only. Not for browsers. |
Platform: macOS on Apple silicon (M1 or later) is the only platform the candidate supports. Linux, Windows, Android and browsers are not supported. All three languages use the same engine and the same model, so behaviour should match across them; there is one documented divergence in edge-case ordering of numeric object keys.
Quick start: local generation
Each sample loads the pinned model, verifies it by SHA-256 and generates a short answer on the CPU, with no network access and no tools.
Python
from adil_edge_sdk.native import NativeEdge
model, sha = "/path/to/eco-v11-A3b-Q4_K_M.gguf", "<published sha256>"
with NativeEdge(model, sha) as edge: # the engine verifies the SHA-256 before loading the file
print(edge.generate("What is the capital of France? Answer in one word.", max_tokens=16).text)TypeScript / Node.js
import { NativeHost } from "@thynkr/adil-edge-sdk"; // provisional package name; not published
const host = await NativeHost.open({ model: "/path/to/eco-v11-A3b-Q4_K_M.gguf", sha256: "<published sha256>" });
try {
console.log((await host.generate("What is the capital of France? Answer in one word.", { settings: { maxTokens: 16 } })).text);
} finally {
await host.close();
}C / C++
/* Standard headers (including the one for printf), then: */
#include "adil_engine.h"
int main(int argc, char **argv) {
char err[256];
adil_engine_config ec; adil_engine_config_defaults(&ec);
ec.model_path = argv[1]; ec.model_sha256 = argv[2]; ec.profile = ADIL_PROFILE_ECO_LITE; /* 4K context */
/* Version 2 interface: declare the caller contract. This program never uses adil_session_cancel() to stop one request. */
adil_caller_contract cc; adil_caller_contract_defaults(&cc); cc.caller = "my-app/1.0";
adil_engine *eng = NULL;
adil_status st = adil_engine_open2(&ec, &cc, &eng, err, sizeof err);
if (st != ADIL_OK) { fprintf(stderr, "open: %s (%s)\n", adil_status_name(st), err); return 1; }
adil_session_config sc; adil_session_config_defaults(&sc);
adil_session *ses = NULL;
if (adil_session_new(eng, &sc, &ses) != ADIL_OK) { adil_engine_close(eng); return 1; }
char *resp = NULL;
st = adil_generate(ses, "{\"messages\":[{\"role\":\"user\",\"content\":\"What is the capital of France? Answer in one word.\"}],\"max_tokens\":32}", NULL, NULL, &resp);
printf("generate: %s\n%s\n", adil_status_name(st), resp ? resp : "");
adil_string_free(resp);
adil_session_free(ses); /* dispose in reverse order; the engine refuses to close while a session is alive */
return adil_engine_close(eng) == ADIL_OK ? 0 : 1;
}SDK, engine and interface compatibility
Candidate native components are intended to be used as one set: the engine library, the host process and the SDK from the same build. The SDKs check this when they open the engine and refuse an older or mismatched component; there is no fallback to an older library.
The C interface version (currently 2) is not the same thing as the SDK package version and from the model version. Version 1 builds are not supported, and the version 1 open function remains only as a stub that always returns an error, so a program built for version 1 fails cleanly. C and C++ programs must open the engine with the version 2 function and a declared caller contract.
| Component | Candidate state |
|---|---|
| SDK (Python, TypeScript) | Development candidate; version numbers will change before any release. |
| Engine | C interface version 2.0 (macOS library) |
| Model | Adil Eco V1.1 A3b, frozen; the engine refuses any other file by default. |
Tools, permissions and errorsIntegration examplesSDK troubleshooting