Skip to content

v1.2.1: Keep the Chosen Python & Check Pinned Versions

Choose a tag to compare

@github-actions github-actions released this 14 Oct 13:10
· 247 commits to main since this release
v1.2.1
6a63880

✨ What's New

PyPilot 1.2.1 makes sure the Python version PyPilot picks for a project is the one the project actually ends up running, and lets pypilot check answer questions about a specific version of a package.

🐍 Your environment stays on the Python PyPilot chose

uv rebuilds a project's .venv on whatever .python-version, or a global uv python pin, asks for. PyPilot built .venv on the version your dependencies need, but the next uv add or uv sync could quietly move it to another one while the report still said otherwise. For example, Fix Python reported "Environment now runs Python 3.12" while .venv was still on 3.14, so a dependency such as numpy==1.26.4 was installed on a Python it does not support.

  • New projects get requires-python and .python-version set to the chosen Python
  • Setup on an existing uv project and Fix Python run uv python pin <version> before syncing, so the rebuild sticks
  • If pinning fails, the step is shown in the report and the run continues

📁 Cleaner project setup

Projects without a pyproject.toml are now initialised with uv init --bare. Only pyproject.toml (and .python-version) is written. PyPilot no longer adds a git repository, README, sample code or build system to your folder. Older uv releases without --bare keep working.

🔎 check takes a version

pypilot check and the editor's Check package report accept anything you would write in requirements.txt, and judge the release it selects instead of the newest one:

$ pypilot check mediapipe==0.10.14
  requirement       : mediapipe==0.10.14
  supported Python  : 3.9–3.12

Before, check mediapipe==0.10.14 sent the whole string to PyPI as a package name and failed.

🐛 Clearer errors

  • A misspelled package reads "x is not on PyPI; check the spelling" instead of "PyPI has no usable metadata… PyPI returned 404 Not Found…"
  • A version that does not exist reads "x has no release 1.2 on PyPI"

📦 Installation

Via Zed (recommended): Install the PyPilot extension from the Zed extension registry

Via VS Code: PyPilot for VS Code offers this update automatically

From source:

cargo install --git https://github.com/pypilot-dev/pypilot --tag v1.2.1 pypilot-helper --locked

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