Doby’s ESA Pyxel Logs🌙

Using Pixi for Pyxel development

Pixi: a modern, cross-platform environment manager.

Pixi environment manager

Summary:
Pyxel now documents an alternative development setup using Pixi, offering contributors a fast, reproducible, cross-platform workflow without relying on global conda installations.

URL:
https://gitlab.com/esa/pyxel/-/merge_requests/1169

Date: 2026-01-22

Scope: docs(contributing)

Status: Open

Merge Request: #1169


✨ Why Pixi

Pyxel contributors work across Linux, macOS, and Windows, often with complex scientific dependencies. While uv, conda, and pip are already supported, contributors were missing a documented option for a modern, lockfile-based, cross-platform workflow.

Pixi fills this gap by providing:

  • Reproducible environments via lock files
  • Cross-platform consistency (Linux, macOS, Windows)
  • No dependency on a global conda installation
  • Clear separation between project and system environments

For contributors—especially those onboarding for the first time—this reduces friction and makes experimentation safer.


đź”§ What changed

A new “Using pixi for development” section was added to the Pyxel Contribution Guide. The section:

  • Explains what Pixi is and when to use it
  • Positions Pixi as an alternative, not a replacement
  • Provides minimal, copy-pasteable setup commands
  • Reuses the official Pyxel environment YAML
  • Keeps the focus on contributors, not tooling complexity

The documentation intentionally links to Pixi’s official site for advanced installation options, keeping Pyxel docs concise and maintainable.


📦 Pixi setup (as documented)


curl -fsSL https://pixi.sh/install.sh | sh
pixi self-update
        

git clone https://gitlab.com/esa/pyxel.git
cd pyxel
curl -O https://esa.gitlab.io/pyxel/doc/latest/pyxel-2.16-environment.yaml
pixi init --import pyxel-2.16-environment.yaml
pixi shell
        

pyxel-sim --version
        

Once inside the Pixi shell, contributors can work normally using the same Pyxel commands as other workflows.


🌱 Why this matters

Good contributor documentation isn’t just about correctness—it’s about accessibility and choice.

This change doesn’t enforce a new workflow. It simply gives contributors another supported path when existing setups don’t fit their system or needs.

⚙️ Config Lab