PHPackages                             provision-ops/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. [Utility &amp; Helpers](/categories/utility)
4. /
5. provision-ops/power-process

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

provision-ops/power-process
===========================

A more powerful Process component.

1.3.0(6y ago)015.1k↓24.2%[2 PRs](https://github.com/provision-ops/power-process/pulls)1MITPHP

Since May 31Pushed 5y agoCompare

[ Source](https://github.com/provision-ops/power-process)[ Packagist](https://packagist.org/packages/provision-ops/power-process)[ RSS](/packages/provision-ops-power-process/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (2)Versions (21)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 ProvisionOps\Tools\Style($input, $output);

// Run any command.
$command = 'ls -la';
$process = new ProvisionOps\Tools\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

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity68

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 ~21 days

Recently: every ~0 days

Total

15

Last Release

2252d ago

PHP version history (2 changes)1.x-devPHP &gt;=5.6.0

1.4.0-rc1PHP &gt;=5.5.9|&gt;=7.0.8

### 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 (65 commits)")

### Embed Badge

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

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

###  Alternatives

[spatie/typescript-transformer

This is my package typescript-transformer

3706.5M16](/packages/spatie-typescript-transformer)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[shivas/versioning-bundle

Symfony application versioning, simple console command to manage version (with providers e.g. git tag) of your application using Semantic Versioning 2.0.0 recommendations

1121.2M1](/packages/shivas-versioning-bundle)[eclipxe/cfdiutils

PHP Common utilities for Mexican CFDI 3.2, 3.3 &amp; 4.0

141129.9k6](/packages/eclipxe-cfdiutils)[shyim/danger-php

Port of danger to PHP

8544.9k](/packages/shyim-danger-php)[vaimo/composer-changelogs

Provide information about package changes based on changelog files that are bundled with releases; provide tools for generating documentation files from changelog sources

11150.5k10](/packages/vaimo-composer-changelogs)

PHPackages © 2026

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