Skip to content

feat/python: upgrade to codeanalyzer-python 0.3.0, remove CodeQL (1.4.0)#186

Merged
rahlk merged 2 commits into
mainfrom
feat/upgrade-to-codeanalyzer-python-0.3.0
Jun 27, 2026
Merged

feat/python: upgrade to codeanalyzer-python 0.3.0, remove CodeQL (1.4.0)#186
rahlk merged 2 commits into
mainfrom
feat/upgrade-to-codeanalyzer-python-0.3.0

Conversation

@rahlk

@rahlk rahlk commented Jun 27, 2026

Copy link
Copy Markdown
Collaborator

Upgrades codeanalyzer-python 0.2.0 → 0.3.0 and removes CodeQL from CLDK entirely. Closes #185. Releases as 1.4.0.

Motivation and Context

codeanalyzer-python 0.3.0 dropped CodeQL in favor of PyCG for call-graph construction and removed the using_codeql option from AnalysisOptions. CLDK's in-process Python backend still passed it, so every real Python analysis raised:

TypeError: AnalysisOptions.__init__() got an unexpected keyword argument 'using_codeql'

Since CodeQL no longer exists upstream, CLDK's use_codeql knob has no backing implementation and is removed rather than kept as a no-op. See #185 for the full diagnosis.

What changed

  • Pin codeanalyzer-python 0.2.0 → 0.3.0 (+ uv.lock).
  • Removed use_codeql from the public surface: PyCodeAnalyzerConfig.use_codeql, the deprecated CLDK(language).analysis(use_codeql=...) parameter, the PyCodeanalyzer(use_codeql=...) argument, and the facade forwarding. Stopped passing using_codeql to AnalysisOptions.
  • Removed CodeQL exception classes CodeQLDatabaseBuildException / CodeQLQueryExecutionException and their re-exports.
  • Scrubbed CodeQL from docstrings, the README (engine list, backend table, cache note, architecture diagram), and the Java _jdk.py loader comments; the Python backend is now described as Jedi + PyCG.
  • Tests: dropped the obsolete use_codeql forwarding test; fixed the Neo4j parity fixture to not pass using_codeql.

How Has This Been Tested?

  • Ran the real 0.3.0 analyzer end-to-end through PyCodeanalyzer over a sample project — no TypeError; the bulk accessors (get_callables_overview, get_decorated_callables, ...) work against real 0.3.0 output.
  • tests/analysis/python + tests/models/python: 24 passed, 6 skipped (Neo4j-gated).
  • Verified zero remaining codeql references in source (the only hits are in a local, gitignored .codeanalyzer cache that is never committed).

Breaking Changes

Yes. Removes the public use_codeql option and the two CodeQL exception classes. Call-graph results may differ (PyCG vs CodeQL-augmented Jedi). Released as 1.4.0 with a CHANGELOG Removed (BREAKING) entry.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the Codellm-Devkit Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

Commits: feat(python)!: upgrade to codeanalyzer-python 0.3.0 and remove CodeQL, then chore(release): 1.4.0. Tagging/publishing is left to the release workflow off the merged version bump.

rahlk added 2 commits June 27, 2026 16:16
codeanalyzer-python 0.3.0 drops CodeQL in favor of PyCG for call-graph
construction and removed the `using_codeql` option from AnalysisOptions, which
broke CLDK's in-process Python backend (TypeError on every analysis).

Upgrade the pin 0.2.0 -> 0.3.0 and remove CodeQL from CLDK entirely:

- Drop the `use_codeql` knob from the public surface: PyCodeAnalyzerConfig,
  the deprecated CLDK(language).analysis(...) shim, the PyCodeanalyzer
  constructor, and the facade forwarding. Stop passing using_codeql to
  AnalysisOptions.
- Remove the CodeQLDatabaseBuildException / CodeQLQueryExecutionException
  exception classes and their re-exports.
- Scrub CodeQL from docstrings, the README, and the _jdk.py loader comments;
  describe the Python backend as Jedi + PyCG.
- Drop the now-obsolete use_codeql forwarding test; fix the Neo4j parity
  fixture to not pass using_codeql.

BREAKING CHANGE: removes the public `use_codeql` option and the CodeQL
exception classes. Call-graph results may differ (PyCG vs CodeQL-augmented Jedi).

Closes #185
codeanalyzer-python 0.3.0 upgrade and CodeQL removal (#185).
@rahlk rahlk added breaking Breaking Changes release ✨ New Release labels Jun 27, 2026
@rahlk rahlk changed the title feat(python)!: upgrade to codeanalyzer-python 0.3.0, remove CodeQL (1.4.0) feat/python: upgrade to codeanalyzer-python 0.3.0, remove CodeQL (1.4.0) Jun 27, 2026
@rahlk rahlk merged commit d8a0014 into main Jun 27, 2026
@rahlk rahlk deleted the feat/upgrade-to-codeanalyzer-python-0.3.0 branch June 27, 2026 20:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking Changes release ✨ New Release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade to codeanalyzer-python 0.3.0: CodeQL dropped (PyCG), use_codeql/using_codeql removed

1 participant