darkwood/flow
Flow is a PHP 8.5+ package for asynchronous, functional pipelines. Use FlowFactory to compose yielded callables into reusable flows, pass input through Ip, and await results. It supports visual code assembly and ships with examples for flows, Y-combinator, and server/client usage.
1. Confirm your runtime before anything else. The README requires PHP 8.5 as the minimum. On anything lower, Composer will fail resolution or you'll get parse errors on syntax the package relies on. Check php -v and, if you're pinned to 8.1–8.4, you're looking at the older v1.x line (the changelog shows 8.1 → 8.2 → 8.5 hops), which has a materially different API surface.
composer require darkwood/flow
2. Read in this order:
examples/ in the repo — flow.php (linear pipeline), yflow.php (recursion), server.php + client.php (transport), httpchunkflow.php (streaming/chunking). These are the only executable, verified documentation.changelog/ — this package renames things often, and the changelog is effectively the API reference. Start with v1.2.0–v1.2.6 to see where the current surface landed.3. First use case: a linear, typed transformation pipeline. Flow's model is a generator of callables. Each yield is a stage; each stage receives the previous stage's return value wrapped in an Ip (the envelope/IP object that travels the rail).
use Flow\FlowFactory;
use Flow\Ip;
final class RawOrder
How can I help you explore Laravel packages today?