{"id":34030949,"url":"https://github.com/confeitohs/arcle","last_synced_at":"2026-04-07T17:31:26.385Z","repository":{"id":187237039,"uuid":"676063897","full_name":"ConfeitoHS/arcle","owner":"ConfeitoHS","description":"A Gymnasium-based Environment of the Abstraction and Reasoning Corpus (ARC)","archived":false,"fork":false,"pushed_at":"2024-08-30T05:58:07.000Z","size":3664,"stargazers_count":69,"open_issues_count":2,"forks_count":9,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-12-22T09:11:52.486Z","etag":null,"topics":["intelligence-testing","program-synthesis","psychometrics","reinforcement-learning-environments"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ConfeitoHS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-08T10:56:37.000Z","updated_at":"2025-11-18T14:44:58.000Z","dependencies_parsed_at":"2023-08-09T14:52:17.976Z","dependency_job_id":"6842cb04-1bd0-4cd8-a6ca-9938a7f6cf5e","html_url":"https://github.com/ConfeitoHS/arcle","commit_stats":{"total_commits":51,"total_committers":3,"mean_commits":17.0,"dds":"0.17647058823529416","last_synced_commit":"b7a9a9db4d380fbec446e5d9909dc74819f0bfc0"},"previous_names":["confeitohs/arcle"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ConfeitoHS/arcle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConfeitoHS%2Farcle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConfeitoHS%2Farcle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConfeitoHS%2Farcle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConfeitoHS%2Farcle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ConfeitoHS","download_url":"https://codeload.github.com/ConfeitoHS/arcle/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ConfeitoHS%2Farcle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31522221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["intelligence-testing","program-synthesis","psychometrics","reinforcement-learning-environments"],"created_at":"2025-12-13T18:04:29.688Z","updated_at":"2026-04-07T17:31:26.371Z","avatar_url":"https://github.com/ConfeitoHS.png","language":"Python","readme":"# ARCLE - ARC Learning Environment\nARCLE is a RL environment for training [Abstraction and Reasoning Corpus](https://github.com/fchollet/ARC) and ARC-like datasets, built on Farama [Gymnasium](https://github.com/Farama-Foundation/Gymnasium).\n\nARCLE implements several environments with various actions on editing grids of ARC, with **object-oriented grid operations**. Inspired by [O2ARC Interface](https://github.com/GIST-DSLab/O2ARC_V2), [O2ARC 3.0](https://o2arc.com) - the game-like human interface collecting human ARC solutions, ARCLE contains this interface as a RL environment, as well as the [testing interface](https://github.com/fchollet/ARC/tree/master/apps) given with ARC Dataset.\n\n***Our work is presented at [CoLLAs 2024](https://lifelong-ml.cc/Conferences/2024)!*** This paper contains initial experiments equipping ARCLE with PPO-optimized pixel-wise transformer on small grid pairs, in addition to a detailed description of ARCLE. Check out our [Paper](https://arxiv.org/abs/2407.20806).\n\n![arclegif](https://github.com/ConfeitoHS/arcle/assets/43498096/20add94a-43b5-4cd6-ad28-930153b7b174)\n![statetrans](images/statetrans.png)\n\n### Related Projects\n- [Simon ARC Env](https://github.com/neoneye/simon-arc-env) (Dec 2023): another ARC RL environment\n- [RL Algorithms](https://github.com/GIST-DSLab/RL_Algorithms.git) (May 2024): DreamerV3, PPO working on ARCLE environments\n\n## Requirements\n`Python \u003e= 3.8`\n\n## Installation\n`pip install arcle`\n\n[PyPI Project Page](https://pypi.org/project/arcle/)\n\n## Available Environments\n\n| Env Name| Description | Latest Version |\n| --- | --- | --- |\n| `RawARCEnv` | Environment with actions only coloring, resizing to answer grid, and submit operations  | v0 |\n| `ARCEnv` | Implements browser-based testing interface of ARC, with coloring, flood-filling, copy and paste  | v0 |\n| `O2ARCv2Env` | Implements [O2ARCv2 Interface](https://bit.ly/O2ARC-GIST), an extension of `ARCEnv` containing Move, Rotate, Flip, Crop, ... | v0 |\n\n## Changelogs\n\n#### 0.2.6\n- Env Changes\n    - **`O2ARCv2Env` is accessible via `O2ARCEnv` or `O2ARCEnv-v2`.**\n    - Unify type of observations into `np.int8` (that were previously `np.uint8`)\n    - Unify observation space into a dictionary of `Box` or `MultiBinary` to flatten observations properly by Gymnasium APIs\n    - Remove over-conditioned (`@abstractmethod`) requirements of `AbstractARCEnv`. Now user must only override `create_operations` only.\n\n- **Added action wrappers** (`BBoxWrapper`, `PointWrapper`) to change `selection` to bounding box selection or one-point selection.\n- `Loader` now supports definable random number generator.\n- Orginized examples\n\n- Bug Fix\n    - Fixed `terminated` is not emitted when `max_trial` is infinity (-1)\n\n#### 0.2.5\n- Python 3.8 Support (minimum requirement of Gymnasium)\n- Env Changes\n    - **Rename `ARCEnv` into `RawARCEnv` in this version.**\n    - **Removed `MiniARCEnv`. Please use `RawARCEnv` with `loader=MiniARCLoader()` instead.**\n    - **New `ARCEnv` added, consisting action space of ARC testing interface given along with the ARC Dataset.**\n    - States in every environments are fully observable. All state-related instance variables are now in the `current_state` dictionary.\n        - All operations receives `state` and `action`, and it changes `state` in-place.\n        - You can deepcopy the state and call `env.transition(state_copied, action)` to get next state without changing original state on `O2ARCv2Env`. `env.transition` will be replaced as separated utility function in the future.\n    - n-trial mode added. You canset maximum trials when you call `gym.make()` by putting argument `max_trial=num`. Unlimited trial mode is available when it is set by -1 (default).\n    - Customizable `Submit` operation. It is defined in each env class as a method, not in a separated module.\n        - You can specify boolean option `reset_on_submit` in `env.reset` (default=`False`)\n    \n- Bug fix\n    - `FloodFill` operation without selection case fixed\n    - `Paste` operation out-of-bound case fixed\n    - `CopyI` operation out-of-bound case fixed\n    - Apply patch exception handling\n\n#### 0.2.2\n- Bug fix\n    - Default all-or-none reward now gives only when submitted. It affects to existing all environments.\n\n#### 0.2.1\n- O2ARCv2Env-v0\n    - Changed `ResizeGrid` action to `CropGrid` action\n    - Forced `FloodFill` action to select only one pixel (otherwise, it is NoOP)\n    - Now `CopyI`, `CopyO`, `Paste` regards black pixels (pixel value 0) as a background. It copies pixels where the value is nonzero and the pixel is selected.\n    - `action['selection']` can handle int (automatically casts into `np.bool_`)\n- Several exceptions handling\n\n#### 0.2.0\n- ArcEnv-v0 \u0026 MiniArcEnv-v0 has renamed to ARCEnv-v0 \u0026 MiniARCEnv-v0.\n- Changed internal `current_grid` variable to `grid` \u0026 `grid_dim`\n- **Added O2ARCv2Env-v0 environment.**\n- Added O2ARC Actions\n    - Uses `selection` and `selected`. Some internal variables should be initialized.\n    - Color, Flood Fill(DFS Color)\n    - Move, Rotate, Flip\n    - Copy, Paste and Clipboard Features (For O2ARC)\n\n#### 0.1.1\n- Change Images\n- Fix minor issues\n\n#### 0.1.0 \n- Initial Build.\n- **ArcEnv-v0 \u0026 MiniArcEnv-v0 Launched.**\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconfeitohs%2Farcle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconfeitohs%2Farcle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconfeitohs%2Farcle/lists"}