Research tool-kit for tackling ARC(Abstraction and Reasoning Corpus).
Project description
arc-agi-core
🚧 Work In Progress...
Core research tool-kit for tackling ARC (Abstraction and Reasoning Corpus).
The arc-agi-core package serves as the core research tool-kit for tackling the Abstraction and Reasoning Corpus (ARC). It provides the essential data structures and functionalities required to represent, manipulate, and analyze ARC tasks and datasets. Designed as the core component of the broader arc-agi ecosystem, it aims to be minimal, well-documented, efficient, extensible, and convenient.
Minimal Example
import arc_agi_core as arc
dataset = arc.ARC2Traiing.download("dataset/arc-agi-2/training")
task = dataset.sample()
pair = task.train[0]
grid = pair.input
Take a look on examples/arc-agi-demo/demo.ipynb for detailed demo notebook.
Key Features
- Core Data Structures: Robust classes for representing ARC
Grids,Pairs (input-output examples),Tasks, and collections of tasks asDatasets. - Flexible I/O: Support for loading and saving ARC data in various formats, including JSON, NumPy (
.npy), and SVG for visualization. - Visualization: Built-in methods for rendering grids, pairs, and tasks in the terminal (ANSI), in Jupyter/IPython notebooks (HTML), and as scalable vector graphics (SVG).
- Dataset Management: Features for handling collections of tasks, including lazy loading from directories, subset selection, sampling, shuffling, and caching.
- Remote Dataset Access: Convenient classes for downloading standard ARC datasets (ARC-AGI v1 and ARC Prize 2024) directly from their official GitHub repositories.
- Minimal Dependencies: Built on a small set of widely-used libraries (
numpy,requests,svg-py).
Core Data Structures
Grid: Represents the fundamental 2D grid of symbols. Provides methods for conversion, comparison, and saving/loading in JSON, NPY, and SVG formats.Pair: Encapsulates an input grid and its corresponding output grid. Supports censoring the output (for test pairs) and saving/loading in JSON and SVG formats.Task: A collection of training and testPairs. Includes utilities for loading/saving JSON, accessing inputs/outputs, creating 'challenge' versions (with censored test outputs), and saving as SVG.Dataset: Manages a collection ofTasks. Supports lazy loading from a directory of JSON files, loading/saving to a single JSON file, selecting subsets, sampling, shuffling, and iterating over tasks. Includes subclasses for downloading official ARC datasets.
This package provides the foundational components necessary to build ARC solvers, analyze datasets, and visualize task examples.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arc_agi_core-0.1.14.tar.gz.
File metadata
- Download URL: arc_agi_core-0.1.14.tar.gz
- Upload date:
- Size: 320.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4cc49bb6547ef309e651b8c30029f056aaa37a8c6342f7ca8c448c096a2ff525
|
|
| MD5 |
2e974351a6ddbcc67fe52c183f6d0382
|
|
| BLAKE2b-256 |
536f392df92b5c9597a25551a2b8d66092dfb9bf4d4bc9273c930b99ae980837
|
File details
Details for the file arc_agi_core-0.1.14-py3-none-any.whl.
File metadata
- Download URL: arc_agi_core-0.1.14-py3-none-any.whl
- Upload date:
- Size: 22.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07f1a9149bc698820190c093bc1289a8957d624911d4fc89a2f3f7c9f971f80f
|
|
| MD5 |
e5bbbd15b68cf53d83064221b1b0b4b9
|
|
| BLAKE2b-256 |
66e6bbb06f08c1a56c4f308839331ccbc8ddf80ce14b749713b852fc64ac0e94
|