PHPackages                             graze/data-flow - 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. graze/data-flow

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

graze/data-flow
===============

Facilitate the movement of data between systems

v0.2(7y ago)56MITPHPPHP &gt;=5.5.0

Since Oct 19Pushed 7y ago21 watchersCompare

[ Source](https://github.com/graze/data-flow)[ Packagist](https://packagist.org/packages/graze/data-flow)[ Docs](https://github.com/graze/data-flow)[ RSS](/packages/graze-data-flow/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (8)Versions (4)Used By (0)

Data Flow
=========

[](#data-flow)

[![](https://camo.githubusercontent.com/1f663bc5bb0eb33e715ab3802b5618b1b489339a88b2ceb270021da410288bbc/687474703a2f2f6d65646961322e67697068792e636f6d2f6d656469612f65596b4b783067626d61764d512f67697068792e676966)](https://camo.githubusercontent.com/1f663bc5bb0eb33e715ab3802b5618b1b489339a88b2ceb270021da410288bbc/687474703a2f2f6d65646961322e67697068792e636f6d2f6d656469612f65596b4b783067626d61764d512f67697068792e676966)

[![Latest Version on Packagist](https://camo.githubusercontent.com/bc6254182b1cecc3ac98f3b4351df0941bfa27499285873f5630f421b3402aff/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6772617a652f646174612d666c6f772e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/graze/data-flow)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Build Status](https://camo.githubusercontent.com/ce61c905b8a39316e86a1336bd6cfb620500ca49f1037b02941e53938040fe3d/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6772617a652f646174612d666c6f772f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/graze/data-flow)[![Coverage Status](https://camo.githubusercontent.com/c886980cc42fdef0c4bac9fd95ded8bd54dbad478eb7c5fb9c1b531f40d07af4/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f6772617a652f646174612d666c6f772e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/graze/data-flow/code-structure)[![Quality Score](https://camo.githubusercontent.com/7c1cbda3cec5c003517ebcfde6402abd09f2f3855e046aacc07bd327279eb868/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f6772617a652f646174612d666c6f772e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/graze/data-flow)[![Total Downloads](https://camo.githubusercontent.com/37a445f9e9671d3abe3cb8c379c4624c4674effa49b7b6a3d8d67e5bb5843af3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6772617a652f646174612d666c6f772e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/graze/data-flow)

A `Flow` is a defined series of individual steps each of which modify some data that gets passed to the next step in the flow.

Details
-------

[](#details)

- Soups simple calling `f::moveFiles($targetDir)->each(f::gzip())->moveFiles($ftpDir)->flow($files)`
    - transfer files from a remote location, compress using gzip and transfer to another location
- [How to flow](docs/Flows.md)
- Works with PHP 5.6, PHP 7 &amp; HHVM
- **N.B.** Uses some command line programs which conform to Ubunutu's syntax.

Commands
--------

[](#commands)

### Generic

[](#generic)

- `run` - Iterate through a set of Flows
- `toAll` - Send the same input to each Flow at the same time
- `first` - Take the first node from a collection
- `last` - Take the last node from a collection
- `filter` - Filter out nodes from a collection
- `map` - Apply a function to each node in a collection
- `each` - Apply a FlowInterface to each node in a collection
- `callback` - Apply a callback to the node

### Files

[](#files)

- `makeDirectory` - Make a directory from a file node
- `merge` - Merge a collection of files into a file
- `compress` - Compress a file
- `decompress` - DeCompress a file
- `gzip` - Gzip a file
- `gunzip` - Gunzip a file
- `zip` - Zip a file
- `unzip` - Unzip a file
- `copyFile` - Copy a file to a new location
- `copyFiles` - Cope a collection of files to a new location
- `moveFile` - Move a file to a new location
- `moveFiles` - Move a collection of files to a new location
- `convertEncoding` - Convert the encoding of a file
- `replaceText` - Replace the text in a file
- `tail` - Retrieve the last n lines of a file
- `head` - Retrieve the first n lines of a file

Installation
------------

[](#installation)

Via Composer

```
$ composer require graze/data-flow
```

Testing
-------

[](#testing)

`DataFlow` has a `PHPUnit` test suite run through Docker 🐳. To run the tests run the following command:

```
$ make test
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Change log
----------

[](#change-log)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Harry Bragg](https://github.com/h-bragg)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

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

Total

2

Last Release

2780d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/637788?v=4)[graze.com](/maintainers/graze)[@graze](https://github.com/graze)

---

Tags

grazedata flow

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/graze-data-flow/health.svg)

```
[![Health](https://phpackages.com/badges/graze-data-flow/health.svg)](https://phpackages.com/packages/graze-data-flow)
```

###  Alternatives

[graze/telnet-client

Telnet client written in PHP

50233.9k4](/packages/graze-telnet-client)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[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)
