Skip to content

SDKs

A CLDK SDK (a frontend) is an analysis API over the canonical JSON that the codeanalyzer backends produce. The backends do the language analysis. Each SDK therefore gives you the same call graphs, symbol tables, and reachability data in its own host language. One SDK exists today, in Python.

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

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

SDKRepositoryMaturity
Pythoncodellm-devkit/python-sdkMature

Each SDK uses the same analysis vocabulary, because they all read one schema that the backends write:

  • A per-language factory, for example CLDK.java(project_path=...), builds the analysis object.
  • The core methods (get_symbol_table, get_call_graph, get_callers, get_callees, and related calls) return the same typed models.
  • A new backend makes its language available to every SDK that reads the shared schema.

The Python SDK is stable. Start there. The Java, Rust, and Go frontends do not exist yet. To see the form that a native SDK takes, read Add a Rust frontend.