Skip to content

Releases

v1.4.0: Targeted Fix Environment & Known Breakages

Choose a tag to compare

@github-actions github-actions released this 04 Nov 18:01
v1.4.0
26fab16

✨ What's New

PyPilot for VS Code 1.4.0 runs engine 1.4.0, where Fix environment fixes what is actually wrong instead of rebuilding the environment for every problem.

📖 New guide: What doctor --fix fixes

🎯 Fix environment, targeted

  • Each problem gets its own fix: a uv sync for a missing or drifted package, uv lock for a stale lock, a reinstall of only the half-installed package, a repair of a damaged venv on the Python it had, or a one-line edit of a requirement.
  • A healthy project is left alone. The Python moves only when a dependency forces it, the notification says which one, and the choice is saved to .python-version.
  • Every file PyPilot edits is named, and an edit that leaves the project unresolvable is rolled back.

📚 Problems it now explains

  • Unsatisfiable pins, typos ("did you mean") and versions that do not exist, with a fix checked before anything changes.
  • Known breakages that metadata does not show: numpy 2 with old compiled packages, uncapped dependencies that later removed an API (werkzeug and flask, markupsafe and jinja2, setuptools 82 and pkg_resources), shadowing packages such as jwt and PyJWT, and yanked pins.
  • Removed stdlib modules and removed APIs used in your code (distutils, np.float, collections.Mapping, SQLAlchemy 2 engine.execute), by file and line with the replacement.
  • pixi, conda environment.yml and Poetry projects are fixed with their own tools.

🔐 Engine

  • Pins engine v1.4.0, verified by SHA-256 as before.

📦 Installation

Download pypilot-vscode-1.4.0.vsix below, then in VS Code: Extensions → ⋯ → Install from VSIX…

Requires VS Code 1.85 or newer. The extension downloads and verifies engine v1.4.0 on first use, or uses a pypilot 1.4.0+ already on your PATH.

Full Changelog: v1.3.0...v1.4.0

v1.3.0: pixi in the Editor, Verified Engine & Multi-Root Workspaces

Choose a tag to compare

@github-actions github-actions released this 29 Oct 16:44
v1.3.0
7d2ee7d

✨ What's New

PyPilot for VS Code 1.3.0 brings pixi into the editor, installs only an engine it can verify, and works across multi-root workspaces.

📖 Documentation: https://pypilot-dev.github.io/pypilot/vscode/

🧪 pixi

  • "PyPilot: Initialize pixi project" shows the pixi.toml PyPilot would write beside your code and writes it only after you confirm (optionally running pixi install). Your pyproject.toml and requirements.txt stay untouched.
  • "PyPilot: Install pixi" runs pixi's official installer.
  • pypilot.pixiEnvironment chooses the environment in multi-environment pixi projects; interpreter and kernel selection follow it.
  • pixi is now a value of pypilot.packageManager.
  • When pip or uv cannot install something conda-forge can (native libraries, missing headers, CUDA tooling), the engine's notification offers to set the project up with pixi.

🔐 A verified engine

  • The extension installs the engine version it was released with (v1.3.0) and checks the download's SHA-256 before unpacking it; a mismatch installs nothing.
  • pypilot.engineUpdates: pinned (default) or latest; newer releases are verified against their SHA256SUMS.
  • pypilot.helperPath points at a locally built engine; proxies are respected.
  • The report panel only runs scripts carrying a per-render nonce.

🧭 Editor

  • Multi-root workspaces: one language server per folder with a Python project.
  • pypilot.diagnosticsScope: workspace checks every Python file and notebook, not only open ones.
  • Settings reach the engine: your pypilot.* settings now apply in the language server too (before, only pypilot.toml did).
  • The report panel opens from the palette and can Copy as Markdown or Save as HTML.
  • The status bar tooltip shows the Python version, the environment and the package manager.
  • Commands only appear where they apply (Fix CUDA with torch or tensorflow, Migrate Conda with an environment.yml, and so on), and a Get started walkthrough introduces the extension.

🛠 Maintenance

  • Unit tests and an end-to-end test in a real VS Code run in CI; bun audit and a CycloneDX SBOM (pypilot-vscode-1.3.0.cdx.json, attached).

📦 Installation

Download pypilot-vscode-1.3.0.vsix below, then in VS Code: Extensions → ⋯ → Install from VSIX…

Requires VS Code 1.85 or newer. The extension downloads and verifies engine v1.3.0 on first use, or uses a pypilot 1.3.0+ already on your PATH.

Full Changelog: v1.2.1...v1.3.0

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 12:51
v1.2.1
538f3fa

Full Changelog: v1.2.0...v1.2.1

v1.2.0: pixi Environments & Download Hardening

Choose a tag to compare

@github-actions github-actions released this 13 Oct 17:58
v1.2.0
8db0526

What's Changed

🧪 pixi environments

  • In pixi projects, PyPilot selects the pixi environment (.pixi/envs/default) as the interpreter and recommended notebook kernel, and re-selects it after pixi install. A stray .venv in a pixi project is never selected
  • Requires helper v1.2.0, which manages pixi projects through pixi (see the engine release)

🛡 Hardening (thanks @BazilSuhail, #1)

  • More reliable helper downloads: HTTP errors are reported clearly, redirects are capped, timeouts added, partial downloads cleaned up
  • Workspace tasks run the resolved helper, so they work when pypilot is not on PATH
  • The doctor report panel escapes its content and only links http(s) URLs

🏠 New home

Full Changelog: v1.1.1...v1.2.0

v1.1.1: Badges & Support Links

Choose a tag to compare

@github-actions github-actions released this 11 Oct 08:23
68e9a6a

🏷️ What's Changed

  • 📛 README badges: Marketplace version, installs and rating, Open VSX, license, and GitHub stars
  • 💬 New short "Enjoying PyPilot?" note asking for a star or rating
  • 🤝 New Support section

⚙️ Engine

  • No functional changes. Same engine/helper as v1.1.0.

Full Changelog: v1.1.0...v1.1.1

v1.1.0: GPU & Environment Health (Engine v1.1.0)

Choose a tag to compare

@github-actions github-actions released this 10 Oct 13:47
4c7aa8e

What's Changed

This release pairs the extension with PyPilot engine v1.1.0. All the new checks reach VS Code through the language server, so diagnostics, quick fixes and the doctor report pick them up automatically.

🎮 GPU & CUDA

  • Warnings when the installed torch build doesn't fit your GPU, including RTX 50-series (Blackwell), or is CPU-only on an NVIDIA machine, each with the exact reinstall command
  • uv projects keep the CUDA torch build across uv sync and uv run
  • Up-to-date CUDA tables, so new drivers get the newest matching build (e.g. cu132)
  • TensorFlow on native Windows is now correctly reported as CPU-only, with WSL2 suggested

🧩 CUDA extension packages

  • import flash_attn / xformers / bitsandbytes explain install problems (source-only builds, missing wheels, xformers ↔ torch mismatches) instead of offering an install that would fail

🩺 Environment health

  • Broken .venv (its Python was moved or removed): one clear error with a Rebuild fix
  • NumPy 1 vs 2 binary mismatches named before they crash
  • Source builds explained with the fix for your OS and a Python version that has ready-made wheels

📓 Notebooks

  • PyPilot installs ipykernel>=6.31.0,<7 in notebook projects, avoiding the ipykernel 7 notebook hangs in VS Code

Requires PyPilot helper v1.1.0: run PyPilot: Check for Helper Updates, or let the extension update it.

Full Changelog: v1.0.4...v1.1.0

v1.0.4: Notebooks & Project .venv

Choose a tag to compare

@github-actions github-actions released this 07 Oct 06:18
d5b6e77

What's Changed

📓 Jupyter notebook support

  • Ctrl+. quick fixes and import diagnostics now work inside .ipynb cells. Notebook cells were never sent to the language server before
  • The extension now activates as soon as a notebook is opened

🐍 Uses your project's .venv automatically

  • When .venv is created or changed, PyPilot makes it the workspace's active interpreter, so it's also the recommended notebook kernel, instead of a global Python without your packages
  • On startup it only steps in when no interpreter inside the workspace is selected, so a deliberate choice is never overridden
  • New setting pypilot.autoSelectVenv (default on) and command PyPilot: Use Project .venv
  • Works with the Python Environments extension or the classic Python extension; does nothing if neither is installed

📦 Install several packages at once

  • With helper v1.0.5, selecting several imports gives one "Install N packages" quick fix, plus "Install all missing packages in this file / notebook"

Full Changelog: v1.0.3...v1.0.4

v1.0.3: Accurate Command Results

Choose a tag to compare

@github-actions github-actions released this 27 Sep 12:49
dd82c09

What's Changed

🐛 Accurate command results

  • Set Up Environment, Fix Python Version, Fix CUDA, Install Package and Install uv no longer announce success when the helper failed a step; the status bar shows the error instead
  • Works with helper v1.0.4, which reports each command's outcome. Older helpers behave as before.

🔍 Check Package now checks the package

  • With helper v1.0.4, PyPilot: Check adds a section to the report with the package's supported Python versions and whether this project's interpreter can run it

Full Changelog: v1.0.2...v1.0.3

v1.0.2: Auto-Update Helper Binary

Choose a tag to compare

@github-actions github-actions released this 15 Sep 17:02

What's New

Auto-Update Helper Binary

The extension now automatically checks for newer versions of the PyPilot helper binary on every activation:

  • Compares the local helper version against the latest GitHub release
  • Prompts with Update now, Release notes, or Later options
  • 24-hour snooze after dismissing, so it won't nag on every VS Code launch
  • Updates managed binaries in-place; leaves your PATH install untouched
  • After updating, offers to reload the window so the LSP picks up the new binary

Smarter Binary Resolution

  • If both a PATH binary and a managed (downloaded) binary exist, the extension now picks the newer one instead of always preferring PATH
  • Ensures an auto-updated managed binary gets used even when an older binary sits on PATH

New Command

  • PyPilot: Check for Helper Updates manually triggers the update check from the command palette (bypasses the snooze timer)

Full Changelog: v1.0.1...v1.0.2

v1.0.1: Toolchain Control & Editor Fixes

Choose a tag to compare

@github-actions github-actions released this 11 Sep 16:16

What's New in v1.0.1

🚀 Package Manager Configuration

  • New Setting pypilot.packageManager:
    • auto (Default): Uses system uv if available on PATH, prompts to install if missing, or falls back to standard pip.
    • uv: Full uv project mode (pyproject.toml + uv.lock).
    • uv-pip: Accelerated pip-compatible mode (requirements.txt only via uv venv and uv pip).
    • pip: Standard Python venv mode (python -m venv + pip), never touches uv.
  • New Command: PyPilot: Install uv Globally (pypilot.installUv) available in the Command Palette.

🛠️ Bug Fixes & Editor Stability

  • Fixed LSP Initialization Crash: Resolved duplicate command collision (command 'pypilot.installUv' already exists) during language client startup.
  • Reliable Helper Detection: Added fallback check in ~/.cargo/bin when system PATH is not inherited by GUI VS Code sessions.
  • Synchronous Process Execution: Replaced dynamic CJS imports with synchronous child process handling for version probing.
  • Progress Notifications: Added progress toasts and status bar indicators during environment setup and toolchain installation.

📦 Installation

Download pypilot-vscode-1.0.1.vsix below and install with:

code --install-extension pypilot-vscode-1.0.1.vsix