PHPackages                             linkorb/pipeline - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. linkorb/pipeline

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

linkorb/pipeline
================

Pipeline processing library

v1.7.0(8y ago)075[1 PRs](https://github.com/linkorb/pipeline/pulls)MITPHP

Since Feb 19Pushed 1y ago3 watchersCompare

[ Source](https://github.com/linkorb/pipeline)[ Packagist](https://packagist.org/packages/linkorb/pipeline)[ Docs](https://github.com/linkorb/pipeline)[ RSS](/packages/linkorb-pipeline/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (4)Versions (12)Used By (0)

Pipeline
========

[](#pipeline)

Pipeline is a library + CLI tool to load programmable pipelines, execute jobs and get detailed results per stage for reporting/debugging.

Concepts
--------

[](#concepts)

- Pipeline: A sequential list of stages
- Stage: An command template with a unique name within the pipeline.
- Job: A job that will be executed on a pipeline with an optional set of input variables
- JobResult: The output of a Job that has been executed on a pipeline, contains status and a StageResult for each stage in the pipeline
- StageResult: The exact command that was executed, it's exitcode, stdout and stderr.

CLI examples
------------

[](#cli-examples)

Load a pipeline YML file and execute it with input variable `topic=technology`

```
bin/pipeline run examples/bbc-news-demo.pipeline.yml -d topic=technology

```

Load a pipeline YML file and execute it with input from STDIN

```
bin/pipeline run examples/bbc-news-stdin-demo.pipeline.yml < examples/bbc-news-demo.rss.xml

```

Output a JSON result of the JobResult + StageResults to `result.json`

```
bin/pipeline run -o result.json examples/bbc-news-demo.pipeline.yml -d topic=technology

```

Load a pipeline YML file and intentially cause an error by requesting a non-existant topic. This will output the errors.

```
bin/pipeline run examples/bbc-news-demo.pipeline.yml -d topic=this-topic-does-not-exist

```

You can suppress output and debugging output by using `--quiet`. You can use this in combination with -o to read the details from a .json file.

In all cases the exit code of the pipeline command will match the exit code of the last stage result: 0 on success, or other on failure.

Library example
---------------

[](#library-example)

Please refer to `examples/example-code.php` on how to use the pipeline package as a library.

Configuration through environment variables
-------------------------------------------

[](#configuration-through-environment-variables)

pipeline will use environment variables in the inputs of pipelines. This way you don't need to define all required variables using `-d`.

When pipeline runs, it first checks if a `.env` file exists in the current directory and update the environment variabels based on it's contents.

License
-------

[](#license)

MIT. Please refer to the [license file](LICENSE.md) for details.

Brought to you by the LinkORB Engineering team
----------------------------------------------

[](#brought-to-you-by-the-linkorb-engineering-team)

[![](https://camo.githubusercontent.com/62fb66b034de7ea7fca9fd9776424b5348daa76ef8622caf92c2f7622003e5ef/687474703a2f2f7777772e6c696e6b6f72622e636f6d2f642f6d6574612f74696572312f696d616765732f6c696e6b6f7262656e67696e656572696e672d6c6f676f2e706e67)](https://camo.githubusercontent.com/62fb66b034de7ea7fca9fd9776424b5348daa76ef8622caf92c2f7622003e5ef/687474703a2f2f7777772e6c696e6b6f72622e636f6d2f642f6d6574612f74696572312f696d616765732f6c696e6b6f7262656e67696e656572696e672d6c6f676f2e706e67)
Check out our other projects at [linkorb.com/engineering](http://www.linkorb.com/engineering).

Btw, we're hiring!

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance29

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 97.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~53 days

Recently: every ~116 days

Total

10

Last Release

2941d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1db66b320db18b8036ea68211b7d8a39e7c6da97e6fd29f59a50380ebb69d0bb?d=identicon)[joostfaassen](/maintainers/joostfaassen)

---

Top Contributors

[![joostfaassen](https://avatars.githubusercontent.com/u/411113?v=4)](https://github.com/joostfaassen "joostfaassen (34 commits)")[![h-wang](https://avatars.githubusercontent.com/u/3410322?v=4)](https://github.com/h-wang "h-wang (1 commits)")

---

Tags

processinglinkorbpipeline

### Embed Badge

![Health badge](/badges/linkorb-pipeline/health.svg)

```
[![Health](https://phpackages.com/badges/linkorb-pipeline/health.svg)](https://phpackages.com/packages/linkorb-pipeline)
```

###  Alternatives

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.6k38.2k](/packages/matomo-matomo)[kimai/kimai

Kimai - Time Tracking

4.8k8.7k1](/packages/kimai-kimai)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M528](/packages/shopware-core)[jolicode/castor

A lightweight and modern task runner. Automate everything. In PHP.

54642.4k4](/packages/jolicode-castor)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

101466.4k45](/packages/friendsoftypo3-content-blocks)[chameleon-system/chameleon-base

The Chameleon System core.

1027.9k4](/packages/chameleon-system-chameleon-base)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
