PHPackages                             wizaplace/php-etl - 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. wizaplace/php-etl

ActiveLibrary

wizaplace/php-etl
=================

Extract, Transform and Load data using this PHP written migration library.

2.4.0(10mo ago)7598.9k—0%15[5 issues](https://github.com/wizacode/php-etl/issues)[2 PRs](https://github.com/wizacode/php-etl/pulls)1MITPHPPHP ~8.1

Since Jan 30Pushed 10mo ago5 watchersCompare

[ Source](https://github.com/wizacode/php-etl)[ Packagist](https://packagist.org/packages/wizaplace/php-etl)[ RSS](/packages/wizaplace-php-etl/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (15)Used By (1)

Wizaplace PHP ETL (WP-ETL)
==========================

[](#wizaplace-php-etl-wp-etl)

[![License](https://camo.githubusercontent.com/12bde1de122182f418d9547454b86332e2a775ce96b3c579ca5c27c3db80e326/68747470733a2f2f706f7365722e707567782e6f72672f77697a61706c6163652f7068702d65746c2f6c6963656e7365)](https://packagist.org/packages/wizaplace/php-etl)[![CircleCI](https://camo.githubusercontent.com/ebf041c77b13ce273966a101c3a93d77fe71a5f377bd2975331c3b827e34739c/68747470733a2f2f636972636c6563692e636f6d2f67682f77697a61636f64652f7068702d65746c2f747265652f6d61737465722e7376673f7374796c653d737667)](https://circleci.com/gh/wizaplace/php-etl/tree/master)[![Version](https://camo.githubusercontent.com/c16e8253a40717238352b73c40ba58fa015d8a682b42e6da36643683a5c7e1fe/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f77697a61706c6163652f7068702d65746c)](https://circleci.com/gh/wizaplace/php-etl/tree/master)[![Maintenance](https://camo.githubusercontent.com/5ca62441414bacaa54c6c6e5b68e46c76305947b6bf498c4949fc71c1b4b10dd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d61696e7461696e65642533462d7965732d677265656e2e737667)](https://GitHub.com/wizaplace/php-etl/graphs/commit-activity)[![Ask Me Anything !](https://camo.githubusercontent.com/f58000eb7d904f735fbbca30835a588c716bdde0781156f1fb2e601d44307a3a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f41736b2532306d652d616e797468696e672d3161626339632e737667)](https://GitHub.com/wizaplace/php-etl)[![PHP Version](https://camo.githubusercontent.com/7029e025e584be86474ee49806160b5b17bcd7b1f1ffadfa4d725082f4b95140/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f77697a61706c6163652f7068702d65746c)](https://camo.githubusercontent.com/7029e025e584be86474ee49806160b5b17bcd7b1f1ffadfa4d725082f4b95140/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f77697a61706c6163652f7068702d65746c)

Extract, Transform and Load data using PHP. This library provides classes and a workflow to allow you to extract data from various sources (CSV, DB...), one or many, then transform them before saving them in another format.

You can also easily add your custom classes (Extractors, Transformers and Loaders).

[![ETL](docs/img/etl.svg)](docs/img/etl.svg)

Versions and compatibility
--------------------------

[](#versions-and-compatibility)

- To benefit from the latest features and if you use PHP 8.1 and above: use the 2.3 version (and above) of the library.
- If you use older versions of PHP: 7.4 or 8.0, use the 2.2 version of the library.
- If you use older versions of PHP: 7.2 &lt;= PHP &lt;= 7.4, use the legacy 1.3.x version.

Changelog
---------

[](#changelog)

See the changelog [here](changelog.MD)

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

[](#installation)

In your application's folder, run:

```
composer require wizaplace/php-etl
```

Example 🚈
---------

[](#example-light_rail)

In the example below, we will extract data from a csv file, trim white spaces from the name and email columns and then insert the values into the *users* table:

```
use Wizaplace\Etl\Etl;
use Wizaplace\Etl\Extractors\Csv;
use Wizaplace\Etl\Transformers\Trim;
use Wizaplace\Etl\Loaders\Insert;
use Wizaplace\Etl\Database\Manager;
use Wizaplace\Etl\Database\ConnectionFactory;

// Get your database settings :
$config = [
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'port'      => '3306',
    'database'  => 'myDatabase',
    'username'  => 'foo',
    'password'  => 'bar',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
];

// Instanciate all the components (manually or automatically with DI)
$manager = new Manager(new ConnectionFactory());
$manager->addConnection($config);
$etl = new Etl();
$extractor = new Csv();
$transformer = new Trim();
$loader = new Insert($manager);

$etl->extract($extractor, '/path/to/users.csv')
    ->transform(
        $transformer,
        [Step::COLUMNS => ['name', 'email']]
    )
    ->load($loader, 'users')
    ->run();
```

The library is fully compatible with any PHP project. For instance, with Symfony, you can fully benefit from the autowiring. On the following example, you enable it on the main ETL object, with the *shared* parameter to *false* in order to have the possibility to get different instance of the ETL (optional).

*services.yaml*

```
    Wizaplace\Etl\Etl:
        shared: false
```

How to contribute?
------------------

[](#how-to-contribute)

Below are some (not exhaustive) welcomed features for a 3.x version.

- Dropping support of older PHP versions.
- Type-hinting, rector...
- Putting PHPCS back on the project.
- Updating PHPUnit
- Improve code in order to remove some PHPStan exclusions.

Documentation 📓
---------------

[](#documentation-notebook)

The documentation is available in a subfolder of the repo, [here](docs/README.md).

License
-------

[](#license)

WP-ETL is licensed under the [MIT license](http://opensource.org/licenses/MIT).

Origin of the project
---------------------

[](#origin-of-the-project)

This project is a fork and an improvement of the [marquine/php-etl](https://github.com/leomarquine/php-etl) project by [Leonardo Marquine](https://github.com/leomarquine/php-etl).

###  Health Score

53

—

FairBetter than 96% of packages

Maintenance55

Moderate activity, may be stable

Popularity45

Moderate usage in the ecosystem

Community26

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 73.5% 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 ~179 days

Recently: every ~308 days

Total

12

Last Release

321d ago

Major Versions

1.3.1 → 2.02021-07-29

PHP version history (4 changes)1.0PHP ~7.2

1.3.0PHP ~7.2|~8.0

2.0PHP ~7.4|~8.0

2.3.0PHP ~8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/40563270?v=4)[philippe-vandermoere](/maintainers/philippe-vandermoere)[@philippe-vandermoere](https://github.com/philippe-vandermoere)

---

Top Contributors

[![leomarquine](https://avatars.githubusercontent.com/u/17835448?v=4)](https://github.com/leomarquine "leomarquine (289 commits)")[![ecourtial](https://avatars.githubusercontent.com/u/57905107?v=4)](https://github.com/ecourtial "ecourtial (52 commits)")[![kdebisschop](https://avatars.githubusercontent.com/u/1213025?v=4)](https://github.com/kdebisschop "kdebisschop (19 commits)")[![Nicolas-Masson-Wizaplace](https://avatars.githubusercontent.com/u/44770402?v=4)](https://github.com/Nicolas-Masson-Wizaplace "Nicolas-Masson-Wizaplace (13 commits)")[![ollyollyollyltd](https://avatars.githubusercontent.com/u/5054551?v=4)](https://github.com/ollyollyollyltd "ollyollyollyltd (4 commits)")[![ArthurHoaro](https://avatars.githubusercontent.com/u/1962678?v=4)](https://github.com/ArthurHoaro "ArthurHoaro (3 commits)")[![gilmojoa](https://avatars.githubusercontent.com/u/18033724?v=4)](https://github.com/gilmojoa "gilmojoa (3 commits)")[![AurelienRasselet](https://avatars.githubusercontent.com/u/43101038?v=4)](https://github.com/AurelienRasselet "AurelienRasselet (2 commits)")[![hersoncruz](https://avatars.githubusercontent.com/u/1965457?v=4)](https://github.com/hersoncruz "hersoncruz (2 commits)")[![VincentMarmiesse](https://avatars.githubusercontent.com/u/1949412?v=4)](https://github.com/VincentMarmiesse "VincentMarmiesse (2 commits)")[![tristanhall](https://avatars.githubusercontent.com/u/4906696?v=4)](https://github.com/tristanhall "tristanhall (1 commits)")[![devfrey](https://avatars.githubusercontent.com/u/1571879?v=4)](https://github.com/devfrey "devfrey (1 commits)")[![leNEKO](https://avatars.githubusercontent.com/u/55792?v=4)](https://github.com/leNEKO "leNEKO (1 commits)")[![herbdool](https://avatars.githubusercontent.com/u/1071483?v=4)](https://github.com/herbdool "herbdool (1 commits)")

---

Tags

symfonydataextractionextracttransformtransformationetlload

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/wizaplace-php-etl/health.svg)

```
[![Health](https://phpackages.com/badges/wizaplace-php-etl/health.svg)](https://phpackages.com/packages/wizaplace-php-etl)
```

###  Alternatives

[marquine/php-etl

Extract, Transform and Load data using PHP.

182137.5k](/packages/marquine-php-etl)[flow-php/etl

PHP ETL - Extract Transform Load - Abstraction

374468.4k48](/packages/flow-php-etl)[fab2s/yaetl

Widely Extended Nodal Extract-Transform-Load ETL Workflow AKA NEJQTL or Nodal-Extract-Join-Qualify-Tranform-Load

64181.0k](/packages/fab2s-yaetl)[flow-php/parquet

PHP ETL - library for reading and writing Parquet files

56143.1k8](/packages/flow-php-parquet)[flow-php/array-dot

PHP ETL - Array Dot functions

14374.1k3](/packages/flow-php-array-dot)[flow-php/snappy

PHP ETL - Google Snappy compression algorithm implementation

10190.4k2](/packages/flow-php-snappy)

PHPackages © 2026

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