Flow is a PHP-based, strongly typed ETL (Extract, Transform, Load) data processing framework with ultra low memory consumption created by Norbert Orzechowicz.
Our mission is to unify and standardize data processing approach in PHP by providing a set of tools that simplify reading, writing and transforming data on the fly between various data sources.
Tip
In case of any questions, feel free to join our Discord Server
Please find all our sponsors at https://flow-php.com/sponsor/
Flow is developed as a mono repository for better developer experience, we maintain more than 50 packages at this point! Packages are divided into few groups:
Core-flow-php/etlLib- standalone independent libraries likeflow-php/types,flow-php/parquet,flow-php/telemetryorflow-php/filesystemBridge- connectors between frameworks/packages likeflow-php/flow-php/psr3-telemetry-bridge,flow-php/telemetry-otlp-bridgeAdapter- Adapters for DataFrame that brings support for different data source/sinksflow-php/etl-adapter-xml,flow-php/etl-adapter-csv,flow-php/etl-adapter-postgresqlExtension-flow-php/pg-query-ext,flow-php/arrow-ext),flow-php/flow-php-ex
All our packages are built with minimum dependencies philosophy, libraries and bridges but also extension are fully independent from Core and Adapters. This means that you can use them even if you don't have a use case for whole Data Frame.
The most up-to-date examples are available at https://flow-php.com
Data Reading
Data Writing
Transformations
Aggregations
- Grouping
- Aggregating Functions
- Window Functions
Partitioning
Types
- Assertions
- Casting
- Validation
