Skip to content

Concepts

How pensa works

pensa is a single Go binary that manages Python projects. It handles dependency resolution, virtual environments, package installation, and building — without requiring Go or any runtime dependencies on the user’s machine.

Design principles

  • UNIX philosophy — each command does one thing well. list, show, and tree are separate commands, not modes of one command.
  • CLI Guidelines — designed around clig.dev for accessible, predictable behavior.
  • No configuration needed — pensa reads your existing pyproject.toml and lock files. No migration required.
  • Independent — not backed by a company. Open source, community-driven.

Compatibility

pensa reads:

  • pyproject.toml in both PEP 621 (uv, pip) and Poetry formats
  • pensa.lock, uv.lock, and poetry.lock without re-resolving
  • Python installations from pyenv, asdf, mise, homebrew, and conda

PEP compliance

PEPWhatStatus
440Version parsing and comparisonDone
508Dependency specifiersDone
503Simple Repository API (PyPI)Done
621pyproject.toml metadataDone
405Virtual environmentsDone
427Wheel formatDone
517Build system interfaceDone
660Editable installsDone
735Dependency groupsDone