Skip to main content

JaxARC

Documentation Status PyPI version PyPI Downloads GitHub Discussion

JaxARC is a JAX-based reinforcement learning environment for the Abstraction and Reasoning Corpus (ARC) challenge. It's built for researchers who want to use extremely fast vectorized environments to explore reinforcement learning, and meta-learning techniques for abstract reasoning.

Why JaxARC?

Speed. Environments compile with jax.jit and vectorize with jax.vmap. Run thousands of episodes in parallel on GPU/TPU.

JaxARC throughput as compared with ARCLE

Flexible. Multiple action spaces (point-based, selection masks, bounding boxes). Multiple datasets (ARC-AGI, ConceptARC, MiniARC). Observation wrappers for different input formats. Configure everything via typed dataclasses or YAML.

Extensible. Clean parser interface for custom datasets. Wrapper system for custom observations and actions. Built with future HRL and Meta-RL experiments in mind.

Key Features

  • JAX-Native: Pure functional API — every function is jax.jit-compatible
  • Lightning Fast: JIT compilation turns Python into XLA-optimized machine code
  • Configurable: Multiple action spaces, reward functions, and observation formats
  • Multiple Datasets: ARC-AGI-1, ARC-AGI-2, ConceptARC, and MiniARC included
  • Type-Safe: Full type hints with runtime validation
  • Visual Debug: Terminal and SVG rendering for development

JaxARC System Architecture

Installation

pip install jaxarc

Want to contribute?

git clone https://github.com/aadimator/JaxARC.git
cd JaxARC
pixi shell  # Sets up the environment
pixi run -e dev pre-commit install  # Hooks for code quality

See the tutorials for training loops, custom wrappers, and dataset management.

Stoix Integration

JaxARC uses the Stoa API, allowing seamless integration with Stoix, which is a JAX-based reinforcement learning codebase supporting various RL algorithms.

JaxARC provides a ready-to-use factory function for Stoix:

from jaxarc.stoix_adapter import make_jaxarc_env, jaxarc_custom_metrics

# Create Stoix-compatible environments
train_env, eval_env = make_jaxarc_env(config)

# Process episode metrics for logging
metrics = jaxarc_custom_metrics(raw_metrics)
# → success_rate, avg_steps_to_solve, truncation_rate, etc.

Domain-specific metrics (puzzle similarity, solve rate) are tracked via the ExtendedMetrics wrapper and flow through Stoix's standard logging pipeline.

You can explore jaxarc-baselines repository for example implementations of training agents on JaxARC environments using Stoix.

Contributing

Found a bug? Want a feature? Open an issue or submit a PR.

Related Work

JaxARC builds on great work from the community:

  • ARC Challenge by François Chollet — The original dataset and challenge
  • ARCLE — Python-based ARC environment (inspiration for our design)
  • Stoix by Edan Toledo — Single-agent RL in JAX (we use their Stoa API)

Citation

If you use JaxARC in your research, please cite our paper:

@misc{aadam2026jaxarchighperformancejaxbasedenvironment,
      title={JaxARC: A High-Performance JAX-based Environment for Abstraction and Reasoning Research},
      author={Aadam and Monu Verma and Mohamed Abdel-Mottaleb},
      year={2026},
      eprint={2601.17564},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2601.17564},
}

License

MIT License — see LICENSE for details.

Questions?


Metadata

Release files for JaxARC 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for JaxARC 1.0.3
File Size Uploaded
jaxarc-1.0.3.tar.gz 545.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for JaxARC 1.0.3
File Interpreter ABI Platform
jaxarc-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 709.3 kB

Release files / jaxarc-1.0.3.tar.gz

Download URL jaxarc-1.0.3.tar.gz
Size 545.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b98a3f4660556382dd3686df6bcdd8756bcf108f9bd011fd6c4420804799f47a
BLAKE2b-256 checksum
How to use checksums
342d87e24dfc5e570291751ddef429ba52eadd2fc9ae9c223d017e2161a265ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 2, 2026.

Transparency log

Release files / jaxarc-1.0.3-py3-none-any.whl

Download URL jaxarc-1.0.3-py3-none-any.whl
Size 163.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2099c18588beb7afd194a401d41840ecd25fe7ef4797b530a17ce1b714309b28
BLAKE2b-256 checksum
How to use checksums
5af711976cf95d8ca8340f45137856edf8a82bec4910c1331f39ce45034ee09f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 2, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page