Skip to content

Commit a84c82b

Browse files
authored
Polish content of README.md file (flow-php#580)
1 parent b1d5ad7 commit a84c82b

File tree

1 file changed

+32
-33
lines changed

1 file changed

+32
-33
lines changed

README.md

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,38 @@
11
![img](docs/flow_php_banner_02_2022.png)
22

3-
Flow is a PHP based, strongly typed ETL (Extract Transform Load), asynchronous data processing library with constant memory consumption.
3+
Flow is a PHP-based, strongly typed ETL (Extract Transform Load), asynchronous data processing library with constant memory consumption.
44

55
[![Latest Stable Version](https://poser.pugx.org/flow-php/flow/v)](https://packagist.org/packages/flow-php/flow)
66
[![Latest Unstable Version](https://poser.pugx.org/flow-php/flow/v/unstable)](https://packagist.org/packages/flow-php/flow)
77
[![License](https://poser.pugx.org/flow-php/flow/license)](https://packagist.org/packages/flow-php/flow)
88
[![Test Suite](https://github.com/flow-php/flow/actions/workflows/test-suite.yml/badge.svg?branch=1.x)](https://github.com/flow-php/flow/actions/workflows/test-suite.yml)
99

10-
Supported PHP versions
10+
Supported PHP versions: [![PHP 8.1](https://img.shields.io/badge/php-~8.1-8892BF.svg)](https://php.net/) [![PHP 8.2](https://img.shields.io/badge/php-~8.2-8892BF.svg)](https://php.net/)
1111

12-
* [![Supported PHP Version](https://img.shields.io/badge/php-~8.1-8892BF.svg)](https://php.net/)
13-
* [![Supported PHP Version](https://img.shields.io/badge/php-~8.2-8892BF.svg)](https://php.net/)
12+
## Features
13+
14+
* low and constant memory consumption
15+
* asynchronous data processing
16+
* reading from any data source
17+
* writing to any data source
18+
* rich collection of data transformation functions
19+
* direct access to remote filesystems
20+
* partitioning
21+
* grouping & aggregating
22+
* remote file processing
23+
* joins
24+
* sorting
25+
* displaying datasets as ASCII table
26+
* validation against the schema
27+
* window functions
28+
* caching
1429

1530
📈[Project Roadmap](https://github.com/orgs/flow-php/projects/1)
1631

1732
## Installation
1833

1934
This package is a [monorepo](https://tomasvotruba.com/blog/2019/10/28/all-you-always-wanted-to-know-about-monorepo-but-were-afraid-to-ask/).
20-
Please check below packages and select only those that you are going to use,
35+
Please check the below packages and select only those that you are going to use,
2136
this will reduce the number of unnecessary dependencies in your project (less maintenance).
2237

2338
- [ETL](src/core/etl/README.md)
@@ -38,10 +53,12 @@ this will reduce the number of unnecessary dependencies in your project (less ma
3853
- [text](src/adapter/etl-adapter-text/README.md)
3954
- [xml](src/adapter/etl-adapter-xml/README.md)
4055
- Libraries
41-
- [array-dot](src/lib/array-dot/README.md) - auto included
56+
- [array-dot](src/lib/array-dot/README.md)
4257
- [doctrine-dbal-bulk](src/lib/doctrine-dbal-bulk/README.md)
58+
- [Google Dremel algorithm](src/lib/dremel/README.md)
59+
- [Parquet](src/lib/parquet/README.md)
4360

44-
For example if you want to work with json/csv files here are dependencies you will need to install:
61+
For example, if you want to work with JSON/CSV files here are the dependencies you will need to install:
4562

4663
```shell
4764
composer require flow-php/etl:^0.1 flow-php/etl-adapter-csv:^0.1 flow-php/etl-adapter-json:^0.1
@@ -53,40 +70,22 @@ In order to understand how Flow works, please read [documentation](src/core/etl/
5370

5471
### [Usage Examples](examples/README.md)
5572

56-
## Features
57-
58-
* low and constant memory consumption
59-
* asynchronous data processing
60-
* reading from any data source
61-
* writing to any data source
62-
* rich collection of data transformation functions
63-
* direct access to remote filesystems
64-
* partitioning
65-
* grouping & aggregating
66-
* remote files processing
67-
* joins
68-
* sorting
69-
* displaying datasets as ASCII table
70-
* validation against schema
71-
* window functions
72-
* caching
73-
74-
## Asynchronous Processing
75-
76-
* [etl-adapter-amphp](https://github.com/flow-php/etl-adapter-amphp)
77-
* [etl-adapter-reactphp](https://github.com/flow-php/etl-adapter-reactphp)
78-
7973
## Building blocks
8074

8175
* DataFrame - Lazy data processing frame.
8276
* Rows - Immutable collection of `Row` objects.
8377
* Row - Immutable, strongly typed collection of `Entry` objects.
84-
* Entry - Immutable, strongly typed object representing cell in a row.
78+
* Entry - Immutable, strongly typed object representing a cell in a row.
8579
* **E**xtractor (Reader) - Memory safe, Data Source returning \Generator, yielding `Rows` to the `Pipeline`
8680
* **T**ransformer - Data transformer receiving and returning `Rows` (in most cases transformer), one instance of `Rows` at once.
87-
* **L**oader (Writer) - Memory safe representation of Data Sink, responsibility of Loader is to write `Rows` into destination storage, one at time.
81+
* **L**oader (Writer) - Memory safe representation of Data Sink, the responsibility of Loader is to write `Rows` into destination storage, one at time.
8882
* Pipeline - Interface representing ETL process, each received `Rows` instanced is passed through all `Pipes`, also responsible for error handling.
89-
* Pipe - Loader of Transformer instance existing in `Pipes` collection.
83+
* Pipe - Loader of Transformer instance existing in the `Pipes` collection.
84+
85+
## Asynchronous Processing
86+
87+
* [etl-adapter-amphp](https://github.com/flow-php/etl-adapter-amphp)
88+
* [etl-adapter-reactphp](https://github.com/flow-php/etl-adapter-reactphp)
9089

9190
### GitHub Stars
9291

0 commit comments

Comments
 (0)