Skip to main content

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 sync 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 sync, runtimes, and source repositories.
  • Read-only previews with stable action IDs, command previews, diagnostics, and JSON output.
  • Sync strategies for minimal installs, latest allowed versions, or exact declared constraints.
  • JSONL progress streams, replay records, and trace artifacts for downstream clients.
  • Python APIs for inspection, execution, cached projects, 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

porringer-0.3.0.tar.gz (339.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

porringer-0.3.0-py3-none-any.whl (256.2 kB view details)

Uploaded Python 3

File details

Details for the file porringer-0.3.0.tar.gz.

File metadata

  • Download URL: porringer-0.3.0.tar.gz
  • Upload date:
  • Size: 339.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for porringer-0.3.0.tar.gz
Algorithm Hash digest
SHA256 29d4e8a7fb2aab1fbb409ec33d8c49dfeffcd0f0430c7f37868472c9eaeaea48
MD5 89d49c08e6fe07527013d5b3b8b32082
BLAKE2b-256 5249ed8728d526db1549ac0e805ed1cc21ed381b09a0b610e7d9e5bd00840e2a

See more details on using hashes here.

File details

Details for the file porringer-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: porringer-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 256.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for porringer-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6eaa43e29ff1dcf5603e17090b3dc9b9336d8a0f27e877f880c0dee269a3d66a
MD5 72f3fc0af5e582e626ac357ff7a9ca0d
BLAKE2b-256 17c92bb9d21262b9dc506aabddc7cf21ca714831373308cb6dbd5a4e7df39cf9

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page