-
Notifications
You must be signed in to change notification settings - Fork 0
pixi.lock editable flag toggles between dragonfly (pixi 0.63.2) and analysis.sns.gov #1
Description
Problem
pixi.lock oscillates between having editable: true and not having it for the local quicknxs-v1 dependency, depending on which system regenerates the lock file. This produces spurious commits and noisy git diff output every time the lock file is regenerated on a system with an older pixi version.
Root Cause
pixi 0.63.2 (on dragonfly) no longer writes the editable field to pixi.lock for local path dependencies. It infers editability from pyproject.toml at install time. Older pixi versions (on analysis.sns.gov) still write it explicitly.
The toggle is functionally harmless — the package is installed as editable on both systems regardless (confirmed via __editable__.quicknxs_v1-1.1.6.pth and direct_url.json). However, the lock file difference causes noise in git diff and creates unnecessary commits.
See commit e7f008a message for the original observation.
Fix
1. Add requires-pixi to pyproject.toml
[tool.pixi.workspace]
platforms = ["linux-64"]
channels = ["conda-forge"]
requires-pixi = ">=0.63.2"This causes older pixi to refuse and prompt for an upgrade rather than silently regenerating the lock file in the old format.
2. Upgrade pixi on analysis.sns.gov
pixi self-update
pixi --version # should show >= 0.63.23. Verify and commit
After upgrading on all development systems, run make test on both; git diff pixi.lock should be empty after both systems regenerate it. Commit the stabilised pyproject.toml and pixi.lock.
Verification
make test
git diff pixi.lock # should be empty after both systems run
# Confirm editable install still works:
pixi run python -c "import quicknxs; print(quicknxs.__file__)"
# Expected: .../quicknxsv1/quicknxs/__init__.py (source tree, not .pixi/envs/)Plan document
plan/fix-pixi-editable-lock-toggle.md in the repo contains the full analysis and step-by-step instructions.