PHPackages                             devshop/power-process - 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. devshop/power-process

ActiveLibrary

devshop/power-process
=====================

Enhanced Symfony Process component.

2.x-dev(3y ago)06.8k1MITPHPPHP ^7.1||^8.0CI failing

Since Mar 23Pushed 1y agoCompare

[ Source](https://github.com/devshop-packages/power-process)[ Packagist](https://packagist.org/packages/devshop/power-process)[ Docs](https://getdevshop.com)[ RSS](/packages/devshop-power-process/feed)WikiDiscussions 1.x Synced 1w ago

READMEChangelogDependencies (2)Versions (211)Used By (1)

Power Process
=============

[](#power-process)

This library provides an upgraded Symfony Process component.

It gives a more user friendly interface for apps that want to show users what processes are running and what their output is.

This library is used by Provision Yaml Tests and will be used in the Provision CLI project.

Symfony 4
---------

[](#symfony-4)

The Symfony Process component has different typehints in the parameters of several APIs in Symfony 4 than Symfony 3 does. This is due to the fact that Symfony 4 requires PHP 7.1.3 or later, which supports a number of typehints not permitted in earlier PHP versions. This difference is minor for most clients, but presents problems for code that subclasses Process, as it is not possible to be compatible with both the Symofny 3 and the Symfony 4 typehints at the same time.

PowerProcess BranchSymfony VersionsPHP Versionsmaster (1.x)^2 | ^35.6+NOTE: A Symfony 4 compatible component will be released at some point.

*Big thanks to @g1a and the consolidation team for this block of text, and setting an example of a Process-based component.*

See  as an example on maintaining 2 branches.

Usage
-----

[](#usage)

Usage extends the [Symfony Process](https://symfony.com/doc/current/components/process.html) component.

See [demo.php](demo.php) for a simple demo:

```
// Include autoloader
include('vendor/autoload.php');

// PowerProcess needs IO.
$input = new \Symfony\Component\Console\Input\ArgvInput($argv);
$output = new \Symfony\Component\Console\Output\ConsoleOutput();

// Replace Style with your own to change the output style.
$io = new DevShop\Component\PowerProcess\PowerProcessStyle($input, $output);

// Run any command.
$command = 'ls -la';
$process = new DevShop\Component\PowerProcess\PowerProcess($command, $io);
$process->run();
```

Then run the file:

```
php demo.php
```

You will see the commands running like so:

[![Demo.php Output](assets/demo.png)](assets/demo.png)

Another Example
---------------

[](#another-example)

The file [`run'](run) is a wrapper for any command.

Try:

```
./run ping packagist.org -c 5
./run git status
./run rm -rf /
```

Simple.

Functionality
-------------

[](#functionality)

This project is being extracted from Provision CLI. It will grow and change rapidly.

Planned functionality:

- Format output for human readability.
- Automatically pipe output to files, with options for destination path. (This is already done in Provision CLI)
- Allow easily silencing output.
- Add hooks to allow other plugins to react to process events.

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance28

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~75 days

Recently: every ~0 days

Total

15

Last Release

1203d ago

Major Versions

1.x-dev → 2.x-dev2023-02-01

PHP version history (2 changes)1.6.0-alpha2PHP &gt;=5.5.9|&gt;=7.0.8

1.8.x-devPHP ^7.1||^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/10539fb9e887c35b626eba70c97dd9d53ba14e987d4f129b55a488664a834eca?d=identicon)[jonpugh](/maintainers/jonpugh)

---

Top Contributors

[![jonpugh](https://avatars.githubusercontent.com/u/106420?v=4)](https://github.com/jonpugh "jonpugh (30 commits)")

### Embed Badge

![Health badge](/badges/devshop-power-process/health.svg)

```
[![Health](https://phpackages.com/badges/devshop-power-process/health.svg)](https://phpackages.com/packages/devshop-power-process)
```

###  Alternatives

[spatie/laravel-health

Monitor the health of a Laravel application

86910.0M83](/packages/spatie-laravel-health)[illuminate/console

The Illuminate Console package.

12944.1M5.1k](/packages/illuminate-console)[temporal/sdk

Temporal SDK

4002.2M18](/packages/temporal-sdk)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

44643.1k1](/packages/pressbooks-pressbooks)[illuminate/process

The Illuminate Process package.

44699.5k65](/packages/illuminate-process)[statamic/cli

Statamic CLI Tool

7587.7k](/packages/statamic-cli)

PHPackages © 2026

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