Skip to content
synodicPublic

About

A meta-package manager for all porridges

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

Porringer Logo
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.

License: MIT PyPI version

Features

  • Manifest-driven setup from porringer.json or [tool.porringer] in pyproject.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

License

This project is licensed under the MIT License. See LICENSE.md for details.

Copyright © 2025 Synodic Software

About

A meta-package manager for all porridges

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages