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.
Frontends (SDKs)
Section titled “Frontends (SDKs)”The SDK you write against. Each is an analysis API over the canonical JSON.
| SDK | Repository | Maturity |
|---|---|---|
| Python | codellm-devkit/python-sdk | Mature |
Pick an SDK
Section titled “Pick an SDK” Python SDK The reference implementation. Install cldk from PyPI and query Java, Python, and TypeScript projects through one analysis API.
Add a frontend Help wanted. A new frontend can read every existing backend. See the roadmap and starting points for a native SDK.
Same contract, every language
Section titled “Same contract, every language”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.