Flow is a PHP based, strongly typed ETL (Extract Transform Load), asynchronous data processing library with constant memory consumption.
Supported PHP versions
This package is a monorepo that should not be directly installed in your project. Please check below packages and select only those that you are going to use:
For example if you want to work with json/csv files here are dependencies you will need to install:
composer require flow-php/etl:^0.1 flow-php/etl-adapter-csv:^0.1 flow-php/etl-adapter-json:^0.1
In order to run tests locally please make sure you have docker up and running. You also need PHP 8.1 and composer to be available from your CLI.
For the code coverage, please install pcov.
cp docker-compose.yml.dist docker-compose.yml
composer install
docker compose up -d
This command will execute exactly the same tests as we run at Github Actions before PR can get merged. If it passes locally, you are good to open pull request.
In order to understand how Flow works, please read documentation
Row
objects.Entry
objects.Rows
to the Pipeline
Rows
(in most cases transformer), one instance of Rows
at once.Rows
into destination storage, one at time.Rows
instanced is passed through all Pipes
, also responsible for error handling.Pipes
collection.Flow PHP is sponsored by:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4