plumphp / plum
Plum is a data processing pipeline that helps you to write structured, reusable and well tested data processing code.
Installs: 70 756
Dependents: 18
Suggesters: 0
Security: 0
Stars: 143
Watchers: 7
Forks: 2
Open Issues: 2
Requires
- php: >=5.5
- cocur/vale: ~0.2
- psr/log: ~1.0
Requires (Dev)
- mikey179/vfsstream: ~1.4
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.8
This package is auto-updated.
Last update: 2024-10-24 00:29:51 UTC
README
Plum is a data processing pipeline that helps you to write structured, reusable and well tested data processing code.
Developed by Florian Eckerstorfer in Vienna, Europe.
Features
Plum is a data processing pipeline, that means it reads data, filters and converts it and then writes the data.
- Filters, converters and even writers are pipeline elements that can be attached to a workflow in arbitrary order
- Readers are iterators that can return values of arbitrary type: arrays, objects or scalars, it doesn't matter to Plum
- Conditional converters that are only applied to an item if it passes a filter
- Ability to concatenate workflow to create smaller and better reusable workflows
- Read from multiple sources, i.e., merge data from different sources into an output
- Plums power comes from its extendability, check out additional packages and integrations
Plum has been greatly inspired by ddeboer/data-import.
Usage
Here is a quick preview, but please check out the documentation.
use Plum\Plum\Workflow; $workflow = new Workflow(); $workflow->addFilter(/* filter */) ->addConverter(/* converter */) ->addWriter(/* writer */); $workflow->process(/* reader */);
Installation
You can install Plum using Composer (recommended) or by downloading a release.
$ composer require plumphp/plum
Contribute
If you want to help us improve Plum you can contribute in a number of different ways:
- Fix bugs or add additional features (check our Waffle board to see features and bugs that are ready to go)
- Help others by providing support to others: Issues and Chat
- Improve the documentation
- Spread the work by tweeting, blogging or talking about Plum at your local user group
When you need help or have any questions feel free to contact us.
Support
If you need help getting started, run into problems or want to discuss new features you can also contact us. You can either create a new issue, you can join our Gitter chat or ping us on Twitter @cocurco.
Please be excellent to each other.
Authors
Plum is a Cocur open source project.
Change Log
See CHANGELOG.md.
License
The MIT license applies to plumphp/plum. For the full copyright and license information, please view the LICENSE file distributed with this source code.