Metadata-Version: 2.1
Name: proq
Version: 0.0.1
Summary: Process Queue
Author-email: Roi Gabay <roigby@gmail.com>
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Dist: black ; extra == "dev"
Requires-Dist: mypy ; extra == "dev"
Requires-Dist: pytest ; extra == "test"
Requires-Dist: pytest-cov ; extra == "test"
Project-URL: Bug Tracker, https://github.com/gabay/proq/issues
Project-URL: Home, https://github.com/gabay/proq
Provides-Extra: dev
Provides-Extra: test

# Process Queue

Simplify data processing using multiprocesses and queues.

```python
import proq

# multiply by 3, keep even, count
proq.create([1,2,3,4,5]).map(lambda x: x * 3).filter(lambda x: x % 2 == 0).count()
```


```python
import proq

# Create a data queue
data1 = proq.create([1,2,3,4,5])

# multiply by 3
data2 = proc.map_(data1, lambda x: x * 3)

# keep elements divisible by 2
data3 = proc.filter_(data2, lambda x: x % 2 == 0)

# count
count = proc.count(data3)
```

# Installation

```bash
pip install proq
```

#  Development

* Download source
* Install development dependencies: `flit install -s --deps develop`
* Format code: `black .`
* Run tests: `pytest`
* Bump version in `src/proq/__init__.py`
* Build package: `flit build`
* Deploy: `flit publish`

