Metadata-Version: 2.1
Name: zrb
Version: 1.0.0a15
Summary: Your Automation Powerhouse
Home-page: https://github.com/state-alchemists/zrb
License: AGPL-3.0-or-later
Keywords: Automation,Task Runner,Code Generator,Monorepo,Low Code
Author: Go Frendi Gunawan
Author-email: gofrendiasgard@gmail.com
Requires-Python: >=3.10.0,<4.0.0
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Provides-Extra: rag
Requires-Dist: autopep8 (>=2.0.4,<3.0.0)
Requires-Dist: beautifulsoup4 (>=4.12.3,<5.0.0)
Requires-Dist: black (>=24.10.0,<24.11.0)
Requires-Dist: chromadb (>=0.5.20,<0.6.0) ; extra == "rag"
Requires-Dist: fastapi[standard] (>=0.115.5,<0.116.0)
Requires-Dist: isort (>=5.13.2,<5.14.0)
Requires-Dist: libcst (>=1.5.0,<2.0.0)
Requires-Dist: litellm (>=1.52.12,<2.0.0)
Requires-Dist: pdfplumber (>=0.11.4,<0.12.0) ; extra == "rag"
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
Requires-Dist: requests (>=2.32.3,<3.0.0)
Project-URL: Documentation, https://github.com/state-alchemists/zrb
Project-URL: Repository, https://github.com/state-alchemists/zrb
Description-Content-Type: text/markdown

![](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/zrb/android-chrome-192x192.png)

# 🤖 Zrb: Your Automation Powerhouse

With Zrb, you can write your automation tasks like this:


```python
# Filename: zrb_init.py
from zrb import cli, Task, Group, IntInput

math = cli.add_group(Group("math", description="Math tools"))
math.add_task(Task(
    name="add",
    input=[
        IntInput("a", description="First number"),
        IntInput("b", description="Second number")
    ],
    action=lambda ctx: ctx.input.a + ctx.input.b
))
```

You can then access the task in various ways.

__Using CLI with arguments__

```bash
zrb math add 4 5
```

Result:

```
9
To run again: zrb math add --a=4 --b=5
```

__Using CLI with keyword arguments__

```bash
zrb math add --a 4 --b 5
```

Result:

```
9
To run again: zrb math add --a=4 --b=5
```

__Using CLI with incomplete arguments__

```bash
zrb math add 4
```

Result:

```
b [0]: 5
9
To run again: zrb math add 4
```

__Using Web Interface__

```bash
zrb server start
```

Result (you need to access `http://localhost:21213`)

![](https://raw.githubusercontent.com/state-alchemists/zrb/refs/heads/1.0.0/_images/web.png)

__More:__

[![Video Title](https://img.youtube.com/vi/W7dgk96l__o/0.jpg)](https://www.youtube.com/watch?v=W7dgk96l__o)


# 🫰 Installing Zrb

You can install Zrb as a pip package by invoking the following command:

```bash
pip install --pre zrb
```

Alternatively, you can also use our installation script to install Zrb along with some prerequisites:

```bash
bash -c "$(curl -fsSL https://raw.githubusercontent.com/state-alchemists/zrb/refs/heads/1.0.0/install.sh)"
# bash -c "$(curl -fsSL https://raw.githubusercontent.com/state-alchemists/zrb/main/install.sh)"
```

# 🐞 Bug Report + Feature Request

You can submit bug reports and feature requests by creating a new [issue](https://github.com/state-alchemists/zrb/issues) on Zrb's GitHub Repositories. When reporting a bug or requesting a feature, please be sure to:

- Include the version of Zrb you are using (i.e., `zrb version`)
- Tell us what you have tried
- Tell us what you expect
- Tell us what you get

We will also welcome your [pull requests and contributions](https://github.com/state-alchemists/zrb/pulls).


# ☕ Donation

Help Red Skull to click the donation button:

[![](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/donator.png)](https://stalchmst.com/donation)

# 🎉 Fun Fact

> Madou Ring Zaruba (魔導輪ザルバ, Madōrin Zaruba) is a Madougu which supports bearers of the Garo Armor. [(Garo Wiki | Fandom)](https://garo.fandom.com/wiki/Zaruba)

![Madou Ring Zaruba on Kouga's Hand](https://raw.githubusercontent.com/state-alchemists/zrb/main/_images/madou-ring-zaruba.jpg)

