Skip to content

Add Pyrefly auto-install and workspace Python interpreter selection - #365

Open
hendrikmennen wants to merge 1 commit into
mainfrom
feat/python-pyrefly-interpreter-selection
Open

Add Pyrefly auto-install and workspace Python interpreter selection#365
hendrikmennen wants to merge 1 commit into
mainfrom
feat/python-pyrefly-interpreter-selection

Conversation

@hendrikmennen

Copy link
Copy Markdown
Contributor

Summary

  • Replace manual pylsp support with pinned native Pyrefly packages for Windows, Linux, and macOS on x64/ARM64, using the existing auto-download preference and package manager.
  • Add a workspace interpreter picker with environment detection, browsing, machine-local persistence, and a global default. Report invalid explicit selections instead of silently falling back.
  • Apply interpreter changes to workspace-scoped language services, support Python stub files, and fix Python comments and formatter-independent indentation.
  • Harden shared LSP activation, restart cancellation, and package-update reactivation; document setup and limitations.

Scope

No pylsp compatibility, Python runtime/environment installation, or Ruff formatting. Pyrefly project configuration can take precedence over the IDE interpreter fallback.

Validation

  • 72 Python unit tests passed.
  • 14 targeted shared LSP lifecycle regression tests passed.
  • Desktop build succeeded.
  • Linux x64 Pyrefly smoke coverage exercised completion, hover, navigation, references, rename, and live interpreter switching with spaces/Unicode paths.
  • Executable archive paths confirmed for all six package targets; non-Linux-x64 runtime execution was not performed.

Replace pylsp with native Pyrefly packages, add persistent interpreter selection, and handle language server activation and package-update lifecycle safely.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant