Metadata-Version: 2.1
Name: crab-framework
Version: 0.1.1
Summary: Cross-platfrom Agent Benchmark Framework for Multimodal Embodied Language Model Agents
Home-page: https://github.com/camel-ai/crab
License: Apache-2.0
Author: CAMEL-AI.org
Maintainer: Tianqi Xu
Maintainer-email: tianqi.xu@kaust.edu.sa
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Provides-Extra: server
Provides-Extra: visual-prompt
Requires-Dist: dill (>=0.3.8,<0.4.0)
Requires-Dist: docstring-parser (>=0,<1)
Requires-Dist: easyocr (>=1.7.1,<2.0.0) ; extra == "visual-prompt"
Requires-Dist: fastapi[all] (==0.109.1) ; extra == "server"
Requires-Dist: httpx (>=0.26,<0.27)
Requires-Dist: mss (>=9.0.1,<10.0.0)
Requires-Dist: networkx (>=3,<4)
Requires-Dist: openai (>=1.12.0,<2.0.0)
Requires-Dist: pillow (>=10.2.0,<11.0.0)
Requires-Dist: plotly (>=5.20.0,<6.0.0)
Requires-Dist: psutil (>=5.9.8,<6.0.0)
Requires-Dist: pyautogui (>=0.9.3,<0.10.0)
Requires-Dist: pydantic (>=2.6,<3.0)
Requires-Dist: pydantic-settings (>=2,<3) ; extra == "server"
Requires-Dist: pyperclip (>=1.8.2,<2.0.0)
Requires-Dist: transformers (>=4.40.1,<5.0.0) ; extra == "visual-prompt"
Requires-Dist: types-networkx (>=3.2.1.20240210,<4.0.0.0)
Requires-Dist: types-psutil (>=5.9.5.20240205,<6.0.0.0)
Requires-Dist: types-pyautogui (>=0.9.3.20240106,<0.10.0.0)
Requires-Dist: uvicorn[standard] (>=0.27.0.post1,<0.28.0) ; extra == "server"
Project-URL: Repository, https://github.com/camel-ai/crab
Description-Content-Type: text/markdown

# 🦀 Crab: Cross-platform Agent Benchmark for Multimodal Embodied Language Model Agents

## Overview

Crab is a framework for building LLM agent benchmark environments in a Python-centric way.

#### Key Features

🌐 Cross-platform
* Create build agent environments that support various deployment options including in-memory, Docker-hosted, virtual machines, or distributed physical machines, provided they are accessible via Python functions.
* Let the agent access all the environments in the same time through a unified interface.

⚙ ️Easy-to-use Configuration
* Add a new action by simply adding a `@action` decorator on a Python function.
* Deine the environment by integrating several actions together.

📐 Novel Benchmarking Suite
* Define tasks and the corresponding evlauators in an intuitive Python-native way.
* Introduce a novel graph evaluator method providing fine-grained metrics.

## Installation

#### Prerequisites

- Python 3.10 or newer
- pip

```bash
pip install crab-framework[visual-prompt]
```

## Examples

#### Run template environment with openai agent

You can run the examples using the following command.

```bash
export OPENAI_API_KEY=<your api key>
python examples/single_env.py
python examples/multi_env.py
```

#### Run desktop environment with openai agent

You can run the examples using the following command.

```bash
export OPENAI_API_KEY=<your api key>
python examples/desktop_env.py "Open Firefox"
```
