You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TL;DR — a patch release with one fix: analysis-environment provisioning is now parso-version-aware. On hosts whose default python3 is Python 3.14, analysis no longer comes back silently empty. No breaking changes, no schema changes.
jedi parses the analysis environment's Python version with parso, which ships one hardcoded grammar file per minor version. When canpy provisioned the target project's virtualenv with an interpreter newer than the newest grammar the installed parso carries (e.g. Python 3.14 with parso ≤ 0.8.4), every file failed with "Python version 3.14 is currently not supported" — and the run still completed "successfully" with an empty symbol table and exit 0.
Three layers of fix:
Version-aware interpreter selection — provisioning derives parso's supported ceiling at runtime from its shipped grammar files (so the logic keeps working when 3.15 lands) and swaps a too-new default for the newest supported interpreter found on the host (versioned PATH names, then pyenv installs). It falls back to the default, loudly, only when nothing supported exists. An explicit SYSTEM_PYTHON override is still honored, with a warning when parso can't parse its version.
No more silent-empty runs — a run in which every discovered file fails now logs a prominent error naming the likely cause instead of exiting quietly with 0 modules.
parso>=0.8.5 is now a direct dependency — the first release shipping the Python 3.14 grammar, so fresh installs handle 3.14 environments regardless of how their resolver picked parso.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
codeanalyzer-python (canpy) v1.0.3
TL;DR — a patch release with one fix: analysis-environment provisioning is now parso-version-aware. On hosts whose default
python3is Python 3.14, analysis no longer comes back silently empty. No breaking changes, no schema changes.What was fixed (#107, PR #108)
jedi parses the analysis environment's Python version with parso, which ships one hardcoded grammar file per minor version. When
canpyprovisioned the target project's virtualenv with an interpreter newer than the newest grammar the installed parso carries (e.g. Python 3.14 with parso ≤ 0.8.4), every file failed with "Python version 3.14 is currently not supported" — and the run still completed "successfully" with an empty symbol table and exit 0.Three layers of fix:
SYSTEM_PYTHONoverride is still honored, with a warning when parso can't parse its version.parso>=0.8.5is now a direct dependency — the first release shipping the Python 3.14 grammar, so fresh installs handle 3.14 environments regardless of how their resolver picked parso.Upgrade
Links: GitHub release · CHANGELOG
Beta Was this translation helpful? Give feedback.
All reactions