Metadata-Version: 2.4
Name: arc-agi-rs
Version: 0.1.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
License-File: LICENSE
Summary: 🤖 A fast, pure-Rust Python client for the ARC-AGI-3 API.
Keywords: arc-agi,ai,games,api,client,rust
Author-email: Mahmoud Harmouch <oss@wiseai.dev>
License: MIT
Requires-Python: >=3.12
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Changelog, https://github.com/wiseaidotdev/arc-agi-rs/releases
Project-URL: Documentation, https://docs.rs/arc-agi-rs
Project-URL: Homepage, https://github.com/wiseaidotdev/arc-agi-rs
Project-URL: Issues, https://github.com/wiseaidotdev/arc-agi-rs/issues
Project-URL: Repository, https://github.com/wiseaidotdev/arc-agi-rs

<div align="center">

# 🕹️ ARC AGI RS

[![ARC AGI](https://raw.githubusercontent.com/wiseaidotdev/arc-agi-rs/refs/heads/main/assets/logo.png)](https://github.com/wiseaidotdev/arc-agi-rs)

[![Crates.io](https://img.shields.io/crates/v/arc-agi-rs.svg)](https://crates.io/crates/arc-agi-rs)
[![Docs.rs](https://docs.rs/arc-agi-rs/badge.svg)](https://docs.rs/arc-agi-rs)
[![npm](https://img.shields.io/npm/v/arc-agi-rs.svg)](https://www.npmjs.com/package/arc-agi-rs)
[![PyPI](https://img.shields.io/pypi/v/arc-agi-rs.svg)](https://pypi.org/project/arc-agi-rs)
[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/wiseaidotdev/arc-agi-rs/blob/main/LICENSE)

> `arc-agi-rs` is a multi-language toolkit for interacting with the [ARC-AGI-3](https://three.arcprize.org) REST API. The core is written entirely in Rust and compiled to native extensions, so Python and Node.js callers enjoy the same performance and correctness guarantees as the Rust library 🗿.

| 🦀 Rust | 🐍 Python | 🟩 Node.js |
| :---: | :---: | :---: |
| [Rust Guide](https://github.com/wiseaidotdev/arc-agi-rs/blob/main/RUST.md) | [Python Guide](https://github.com/wiseaidotdev/arc-agi-rs/blob/main/PYTHON.md) | [Node.js Guide](https://github.com/wiseaidotdev/arc-agi-rs/blob/main/NODE.md) |
| `cargo add arc-agi-rs` | `pip install arc-agi-rs` | `npm install arc-agi-rs` |

</div>

## 🤔 What does this crate provide?

The library exposes the full ARC-AGI-3 client API:

- **Environment discovery** - list and inspect all available game environments.
- **Scorecard management** - open, retrieve, and close scored sessions.
- **Game interaction** - `reset` a game to its initial state and `step` through it action-by-action.
- **Anonymous access** - obtain an anonymous API key when no personal key is available.

A fluent builder API (mirroring the Python `Arcade` class) covers all client configuration: API key, base URL, cookie storage, and HTTP proxy.

## 🦀 Rust

The Rust crate is available on [crates.io](https://crates.io/crates/arc-agi-rs). It provides a high-performance, async-first interface for building ARC-AGI agents.

For a complete API reference, installation guide, and examples, visit the **[Rust Usage Guide](https://github.com/wiseaidotdev/arc-agi-rs/blob/main/RUST.md)**.

## 🐍 Python

The Python bindings are published to PyPI as **`arc-agi-rs`**. They provide a native extension that operates a robust `tokio` runtime under the hood, ensuring top-tier performance with a simple synchronous API.

For installation instructions, configuration options, and full method signatures, see the **[Python usage guide](https://github.com/wiseaidotdev/arc-agi-rs/blob/main/PYTHON.md)**.

## 🟩 Node.js

The Node.js bindings are published to npm as **`arc-agi-rs`**. Built with `napi-rs`, they offer extremely fast, native synchronous bindings that save you from deep async closures for one-off game calls.

For installation instructions, type definitions, and examples, read the **[Node.js usage guide](https://github.com/wiseaidotdev/arc-agi-rs/blob/main/NODE.md)**.

## ⚙️ Configuration

All credentials can be supplied via environment variables as a fallback:

| Variable       | Description                      | Default                      |
| -------------- | -------------------------------- | ---------------------------- |
| `ARC_API_KEY`  | API key for authentication       | (empty)                      |
| `ARC_BASE_URL` | Base URL of the ARC-AGI-3 server | `https://three.arcprize.org` |

## 📄 License

Licensed under the [MIT License](LICENSE).

## ⭐ Star us

If you find this library useful, please leave a star on [GitHub](https://github.com/wiseaidotdev/arc-agi-rs)! It helps others discover the project and keeps the momentum going ☕.

[![Star History Chart](https://api.star-history.com/svg?repos=wiseaidotdev/arc-agi-rs&type=Date)](https://star-history.com/#wiseaidotdev/arc-agi-rs&Date)

