Need help with plum?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

135 Stars 3 Forks MIT License 213 Commits 2 Opened issues


Plum is a data processing pipeline for PHP.

Services available


Need anything else?

Contributors list

# 68,332
2 commits


Plum is a data processing pipeline that helps you to write structured, reusable and well tested data processing code.

Build Status Windows Build status Scrutinizer Code Quality Code Coverage StyleCI

Latest Release MIT License Total Downloads

Developed by Florian Eckerstorfer in Vienna, Europe.


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.


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 */);


You can install Plum using Composer (recommended) or by downloading a release.

$ composer require plumphp/plum


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.


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.


Plum is a Cocur open source project.

Change Log



The MIT license applies to plumphp/plum. For the full copyright and license information, please view the LICENSE file distributed with this source code.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.