Repository navigation
v1.3.0: pixi Advisory & Migration, Explain, JSON Output, Release Integrity
✨ What's New
PyPilot 1.3.0 recommends pixi when pip and uv hit a wall they cannot climb, moves a project to pixi on request, explains every verdict in detail, and makes every command scriptable. Releases are now verifiable end to end.
📖 New documentation site: https://pypilot-dev.github.io/pypilot/
🧪 pixi: from supported to recommended
- "pixi can help here": in a pip or uv project, PyPilot recognises problems conda-forge solves and pip cannot: a package with no wheel for your platform that needs native libraries (GDAL, PROJ, GEOS…), a build that failed on a missing header such as
gdal.h, CUDA sources withoutnvcc, a repo mixing Python with R, Rust or C++. It suggests pixi; it never converts on its own. pypilot migrate-to-pixi: previews a separatepixi.toml(conda-forge where available, PyPI otherwise, the Python your dependencies need), writes it with--write, installs with--install. It never touchespyproject.toml,requirements.txtorenvironment.yml. Alsomigrate-conda --to pixi,install-pixiandpackage_manager = "pixi"; in Zed and VS Code, "Initialize pixi project" asks before writing anything.- pixi doctor: every environment with its Python and drift between them, a chosen environment (
pixi_environment,--pixi-env), a read-only stale-pixi.lockcheck, and PyPI dependencies with no wheel for a platform the manifest declares.
🔍 Explanations
pypilot explain [package]: the resolution table behind a verdict,requires_pythonagainst the wheels per platform and which one limits the range; for a project, what blocks each Python ("3.13 is blocked by mediapipe 0.10.14, wheels end at cp312").pypilot checknames the project dependency a package conflicts with and suggests a conda-forge build when it fails.
🤖 Scriptable and previewable
--jsonon every command ({ "pypilot", "command", "ok", … }),--markdownondoctorandcheck.--dry-runonsetup,install,fix python,fix cudaand the newdoctor --fix: the exact commands and files, generated by the code path that runs for real.pypilot logs(a local, rotating, redacted log),pypilot completionsfor bash, zsh, fish and PowerShell,update-data --check,pypilot version.
🧭 Editors
- Workspace diagnostics:
diagnostics_scope = "workspace"checks every Python file and notebook, not only open ones. - Editor settings now reach the engine; before, VS Code's
pypilot.*settings had no effect on the server. Precedence: global file < editor < project file. - Other editors: a documented protocol with Neovim, Helix and Emacs setups (
helper/src/lsp/PROTOCOL.md).
🐛 Fixes
- Wheel resolution: a patch-level
requires-pythonsuch as>=3.8.1no longer drops the whole 3.8 line; 64-bit Windows no longer counts 32-bitwin32wheels; free-threadedcp3XXtwheels no longer count for the regular build; manylinux and musllinux wheels are kept apart. Now tested on Windows, macOS and Linux (glibc and musl, x64 and arm64). - Offline: PyPilot no longer calls every package it could not look up a typo. The editor stays quiet for those imports, and doctor lists them as "not checked".
- After a migration, doctor no longer warns that conda-forge packages will compile from source.
🔐 Release integrity
- Every release ships
SHA256SUMS, build-provenance attestations (gh attestation verify) and a CycloneDX SBOM; builds use--locked, andcargo-denyruns in CI. Dependencies were updated for advisories in rustls, tokio and zip.
📦 Installation
Via Zed (recommended): Install the PyPilot extension from the Zed extension registry
Via VS Code: PyPilot for VS Code
Via pip:
pip install --upgrade pypilot-cliVerify a download:
sha256sum -c SHA256SUMS --ignore-missing
gh attestation verify pypilot-linux-x64.tar.gz -R pypilot-dev/pypilotFull Changelog: v1.2.2...v1.3.0