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.
Metadata
Release files for arc-agi-core 0.1.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| arc_agi_core-0.1.14.tar.gz | 320.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arc_agi_core-0.1.14-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 343.0 kB
Release files / arc_agi_core-0.1.14.tar.gz
| Download URL | arc_agi_core-0.1.14.tar.gz |
|---|---|
| Size | 320.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4cc49bb6547ef309e651b8c30029f056aaa37a8c6342f7ca8c448c096a2ff525
|
|
BLAKE2b-256 checksum How to use checksums |
536f392df92b5c9597a25551a2b8d66092dfb9bf4d4bc9273c930b99ae980837
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.0
|
Release files / arc_agi_core-0.1.14-py3-none-any.whl
| Download URL | arc_agi_core-0.1.14-py3-none-any.whl |
|---|---|
| Size | 22.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
07f1a9149bc698820190c093bc1289a8957d624911d4fc89a2f3f7c9f971f80f
|
|
BLAKE2b-256 checksum How to use checksums |
66e6bbb06f08c1a56c4f308839331ccbc8ddf80ce14b749713b852fc64ac0e94
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.0
|