A meta-package manager for all porridges
A CLI and Python API for synchronizing developer environments from a declarative manifest. Porringer reads the packages, tools, runtimes, repositories, and project install work you want, then delegates the actual work to installed package managers through plugins.
- Manifest-driven setup from
porringer.jsonor[tool.porringer]inpyproject.toml. - Plugin-based installers for Python, Node, system packages, project install, runtimes, and source repositories.
- Read-only previews with stable action IDs, command previews, diagnostics, and JSON output.
- Sync strategies for minimal installs or latest allowed versions.
- JSONL progress streams, replay records, and trace artifacts for downstream clients.
- Python APIs for inspection, execution, profiles, tools, progress events, and client snapshots.
Install Porringer into an isolated CLI environment, then preview a manifest before running it:
pipx install porringer
porringer preview examples/python-dev
porringer install examples/python-devSee Setup for uv, pip, and development checkout instructions.
Porringer uses PDM for local development. Common tasks are defined in pyproject.toml under [tool.pdm.scripts]:
pdm install
pdm run test
pdm run generateSee Development for test lanes, traces, smoke tests, and diagnostics.
For contribution guidelines, see CONTRIBUTING.md.
- Documentation home
- Setup
- Install links
- Install command
- Preview command
- Check command
- Download command
- API surface
- Development
This project is licensed under the MIT License. See LICENSE.md for details.
Copyright © 2025 Synodic Software