Skip to content

Python API Reference

Source on GitHub

Every CLDK program follows the same shape: call the per-language factory, e.g. CLDK.java(project_path=...), to get an analysis object over your project, then call typed methods that return data models.

flowchart LR
    C["CLDK"] --> JF["CLDK.java(project_path)"]
    C --> PF["CLDK.python(project_path)"]
    JF --> J[JavaAnalysis]
    PF --> P[PythonAnalysis]
    J & P --> M[Typed models]

The analysis API and its methods are the same across languages; only the factory you call changes. For an introduction to the library, see What is CLDK?, or the Quickstart.

  • Core (CLDK), the factory: the per-language CLDK.java(), CLDK.python(), CLDK.typescript(), and CLDK.c() entry points.
  • Python analysis: symbol table and call graph via Jedi + optional CodeQL.
  • Java analysis, the most complete analyzer: symbol table, call graph, subclasses/interfaces, CRUD.
  • TypeScript analysis (beta): symbol table, call graph, interfaces/enums/decorators; entrypoint detection is still in progress.

Go, Rust, and C are on the way.

For runnable patterns rather than symbol lists, see Common tasks and the cocoa.