Skip to content

SDKs

A CLDK SDK (a frontend) is an ergonomic analysis API over the canonical JSON that the codeanalyzer backends produce. Because the backends do all the language analysis, every SDK inherits every backend for free: the same call graphs, symbol tables, and reachability, exposed through the idioms of your language.

This is the frontend layer. For the analyzers behind it, see the backends overview.

Mature production-ready  ·  Alpha experimental  ·  Help wanted contributors wanted  ·  Stub not started

The SDK you write against. Each is an ergonomic analysis API over the canonical JSON.

SDKRepositoryMaturity
Pythoncodellm-devkit/python-sdkMature
TypeScriptcodellm-devkit/typescript-sdkAlpha
JavaNot startedHelp wanted Stub
RustNot startedHelp wanted Stub
GoNot startedHelp wanted Stub

Each SDK speaks the same analysis vocabulary because they all read the one schema the backends serialize:

  • CLDK(language=...).analysis(project_path=...) to construct the facade.
  • The core methods (get_symbol_table, get_call_graph, get_callers, get_callees, and friends) return the same typed models.
  • Adding a backend lights the new language up across every SDK at once.

The Python SDK is stable and the place to start. The TypeScript SDK is experimental and evolving. The Java, Rust, and Go frontends are unbuilt: see Add a Rust frontend for the shape a native SDK takes.