Metadata-Version: 2.1
Name: quru
Version: 0.0.2
Summary: A Python workflow framework
Home-page: https://github.com/ShawnHan1993/quru
Author: Shen Han
License: UNKNOWN
Download-URL: https://github.com/ShawnHan1993/quru/archive/refs/tags/0.0.1.tar.gz
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pika (==1.1.0)
Requires-Dist: mongoengine (==0.23.1)
Requires-Dist: aiozipkin (==0.6.0)
Requires-Dist: aio-pika (==5.6.3)
Requires-Dist: structlog (==20.1.0)
Requires-Dist: redis (==3.2.1)

# Quru in one sentence
Quru is a python workflow framework to easily swarm up a bunch of workers to streamly process tasks.

# What "Quru" means?
Quru (Chinese 瞿如, pronounce keeru) is a bird-like beast with human face and three feet, initially described in Shan Hai Jing, a classic book that describes mythic geography and beasts. 

![Quru](quru.png "Quru")


# How to run demo
You will need to setup a rabbitmq and redis instances to get Quru running. A docker compose file for quick setup is provided in `demo` folder.
0. Git clone this repo and add the current path to your `PYTHONPATH` environment variables.
1. In your terminal, `cd` to the demo folder.
2. Run `make run-infra` to get rabbitmq and redis running.
3. Run `python worker.py`. This instance starts the worker that handles tasks.
4. Run `python sender.py`. This instance periodically dispatches tasks to worker.


