Skip to content

Python API Reference

Source on GitHub

Every CLDK program follows the same shape: construct a CLDK object for a language, ask it for an analysis object over your project, then call typed methods that return data models.

flowchart LR
    C["CLDK(language)"] --> A["analysis(project_path)"]
    A --> J[JavaAnalysis]
    A --> P[PythonAnalysis]
    J & P --> M[Typed models]

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

  • Core (CLDK), the factory: CLDK(language) and the analysis() entry point.
  • Python analysis: symbol table and call graph via Jedi + optional CodeQL.
  • Java analysis, the most complete analyzer: symbol table, call graph, subclasses/interfaces, CRUD.

More languages (Go, TypeScript, Rust, and C) are on the way.

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