CoGrid is a library for creating multi-agent grid-world environments for reinforcement learning research. It features a functional array-based simulation core, pluggable components (rewards, features, objects), and dual NumPy/JAX backend support.
CoGrid utilizes the parallel PettingZoo API to standardize the multi-agent environment interface. The JAX API is similar to that of JaxMARL.
CoGrid is designed to offer an approachable API for environment customization, compatibility with standard tooling, and pre-build benchmark environments. Full documentation is available at cogrid.readthedocs.io.
Installation
Install from PyPI:
uv add cogrid # or: pip install cogrid
To install with JAX backend support:
uv add "cogrid[jax]" # or: pip install cogrid[jax]
For development, clone the repo and see CONTRIBUTING.md --
uv sync --extra dev installs the package in editable mode with test, lint,
and docs tools.
Citation
If you use CoGrid in your research, please cite the following paper:
@article{mcdonald2026cogrid,
title={CoGrid \& the Multi-User Gymnasium: A Framework for Multi-Agent Experimentation},
author={McDonald, Chase and Gonzalez, Cleotilde},
journal={arXiv preprint arXiv:2604.15044},
year={2026}
}
Acknowledgements
This work builds on the invaluable efforts of many others:
@article{carroll2019utility,
title={On the utility of learning about humans for human-ai coordination},
author={Carroll, Micah and Shah, Rohin and Ho, Mark K and Griffiths, Tom and Seshia, Sanjit and Abbeel, Pieter and Dragan, Anca},
journal={Advances in neural information processing systems},
volume={32},
year={2019}
}
@article{rutherford2024jaxmarl,
title={Jaxmarl: Multi-agent rl environments and algorithms in jax},
author={Rutherford, Alexander and Ellis, Benjamin and Gallici, Matteo and Cook, Jonathan and Lupu, Andrei and Ingvarsson, Gar{\dh}ar and Willi, Timon and Hammond, Ravi and Khan, Akbir and de Witt, Christian S and others},
journal={Advances in Neural Information Processing Systems},
volume={37},
pages={50925--50951},
year={2024}
}
@article{gessler2025overcookedv2,
title={Overcookedv2: Rethinking overcooked for zero-shot coordination},
author={Gessler, Tobias and Dizdarevic, Tin and Calinescu, Ani and Ellis, Benjamin and Lupu, Andrei and Foerster, Jakob Nicolaus},
journal={arXiv preprint arXiv:2503.17821},
year={2025}
}
Metadata
Release files for cogrid 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cogrid-0.3.2.tar.gz | 189.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cogrid-0.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 408.1 kB
Release files / cogrid-0.3.2.tar.gz
| Download URL | cogrid-0.3.2.tar.gz |
|---|---|
| Size | 189.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ef63ac4752098b44e2d0c8ef0f82619c1081081eb9eab4cd047307d763221d2b
|
|
BLAKE2b-256 checksum How to use checksums |
5ca3b3e74f3d76b05a48dec282cdf8cf67a61f6a27c4bddd930500ffb5921d9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / cogrid-0.3.2-py3-none-any.whl
| Download URL | cogrid-0.3.2-py3-none-any.whl |
|---|---|
| Size | 218.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fc43aac106b58cd07e26c00db7f5b9f13f27e840dd6cec163adb8a07692927f0
|
|
BLAKE2b-256 checksum How to use checksums |
5d69767a3906a59b5cd557316bd9e288938f1ff4c5905e79f9ad80f79418a173
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|