feat/python: upgrade to codeanalyzer-python 0.3.0, remove CodeQL (1.4.0)#186
Merged
Conversation
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).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgrades
codeanalyzer-python0.2.0 → 0.3.0and removes CodeQL from CLDK entirely. Closes #185. Releases as 1.4.0.Motivation and Context
codeanalyzer-python0.3.0 dropped CodeQL in favor of PyCG for call-graph construction and removed theusing_codeqloption fromAnalysisOptions. CLDK's in-process Python backend still passed it, so every real Python analysis raised:Since CodeQL no longer exists upstream, CLDK's
use_codeqlknob has no backing implementation and is removed rather than kept as a no-op. See #185 for the full diagnosis.What changed
codeanalyzer-python0.2.0 → 0.3.0(+uv.lock).use_codeqlfrom the public surface:PyCodeAnalyzerConfig.use_codeql, the deprecatedCLDK(language).analysis(use_codeql=...)parameter, thePyCodeanalyzer(use_codeql=...)argument, and the facade forwarding. Stopped passingusing_codeqltoAnalysisOptions.CodeQLDatabaseBuildException/CodeQLQueryExecutionExceptionand their re-exports._jdk.pyloader comments; the Python backend is now described as Jedi + PyCG.use_codeqlforwarding test; fixed the Neo4j parity fixture to not passusing_codeql.How Has This Been Tested?
PyCodeanalyzerover a sample project — noTypeError; 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).codeqlreferences in source (the only hits are in a local, gitignored.codeanalyzercache that is never committed).Breaking Changes
Yes. Removes the public
use_codeqloption 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
Checklist
Additional context
Commits:
feat(python)!: upgrade to codeanalyzer-python 0.3.0 and remove CodeQL, thenchore(release): 1.4.0. Tagging/publishing is left to the release workflow off the merged version bump.