A meta-package manager for all porridges
Porringer
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.
Features
- 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.
Quick Start
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-dev
See Setup for uv, pip, and development checkout instructions.
Development
Porringer uses PDM for local development. Common tasks are defined in pyproject.toml under [tool.pdm.scripts]:
pdm install
pdm run test
pdm run generate
See Development for test lanes, traces, smoke tests, and diagnostics.
For contribution guidelines, see CONTRIBUTING.md.
Documentation
- Documentation home
- Setup
- Install links
- Install command
- Preview command
- Check command
- Download command
- API surface
- Development
License
This project is licensed under the MIT License. See LICENSE.md for details.
Copyright © 2025 Synodic Software
Metadata
Release files for porringer 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| porringer-0.3.1.tar.gz | 310.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| porringer-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 546.4 kB
Release files / porringer-0.3.1.tar.gz
| Download URL | porringer-0.3.1.tar.gz |
|---|---|
| Size | 310.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec64dca7d411955ef02ffb95a3596a1bfd2ef4c4fb9f9d5db01898a2a38afe3c
|
|
BLAKE2b-256 checksum How to use checksums |
b6eebb2cdd1eefef2922d31e6ae2762626e7f6734fba82757ca876f94831a5c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / porringer-0.3.1-py3-none-any.whl
| Download URL | porringer-0.3.1-py3-none-any.whl |
|---|---|
| Size | 235.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6470ad402b2f2c69b2ee671baf3c876d9f0553e9d0dcf292d572c8dc092cd38e
|
|
BLAKE2b-256 checksum How to use checksums |
2de532496c17e97488c2d877c01db9d68f42fe88bbd86e818cc607d48615eccf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|