JAX Multi-Agent RL, A-Life, and Simulation Framework
Esquilax is set of transformations and utilities intended to allow developers and researchers to quickly implement models of multi-agent systems for rl-training, evolutionary methods, and a-life.
It is intended for systems involving large number of agents, and to work alongside other JAX packages like Flax and Evosax.
Full documentation can be found here
Features
-
Built on top of JAX
This has the benefits of JAX; high-performance, built in GPU support etc., but also means Esquilax can interoperate with existing JAX ML and RL libraries.
-
Interaction Algorithm Implementations
Implements common agent interaction patterns. This allows users to concentrate on model design instead of low-level algorithm implementation details.
-
Scale and Performance
JIT compilation and GPU support enables simulations and multi-agent systems containing large numbers of agents whilst maintaining performance and training throughput.
-
Functional Patterns
Esquilax is designed around functional patterns, ensuring models can be readily parallelised, but also aiding composition and readability
Should I Use Esquilax?
Esquilax is intended for time-stepped models of large scale systems with fixed numbers of entities, where state is updated in parallel. As such you should probably not use Esquilax if:
- You want to use something other than stepped updates, e.g. continuous time, event driven models, or where agents are intended to update in sequence.
- You need variable numbers of entities or temporary entities, e.g. message passing.
- You need a high-fidelity physics/robotics simulation.
Getting Started
Esquilax can be installed from pip using
pip install esquilax
You may need to manually install JAXlib, especially for GPU support. Installation instructions for JAX can be found here.
Examples
Example models implemented using Esquilax can be found here.
Examples can be run using uv
uv run --extras examples ./examples/...
For a project using Esquilax see Floxs a collection of multi-agent RL flock/swarm environments or this multi-agent rl environment, part of the Jumanji RL environment library.
Contributing
Issues
Please report any issues or feature suggestions here.
Developers
Developer notes can be found here, Esquilax is under active development and contributions are very welcome!
Metadata
Release files for esquilax 3.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| esquilax-3.0.0.tar.gz | 21.4 kB | With provenance | Details for esquilax-3.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| esquilax-3.0.0-py3-none-any.whl | Python 3 | none | any | Details for esquilax-3.0.0-py3-none-any.whl |
Total release size: 50.7 kB
Release files / esquilax-3.0.0.tar.gz
| Download URL | esquilax-3.0.0.tar.gz |
|---|---|
| Size | 21.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bae3e8766a1bdfd7e5c7e2164110c021543d28464cd83d3f9e08577f6079a7cc
|
|
BLAKE2b-256 checksum How to use checksums |
0aa7a8b0bbdee04f669bcb6b856dc3584602f1a9e9f382397d849abb34d40d01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 29, 2026.
Transparency logRelease files / esquilax-3.0.0-py3-none-any.whl
| Download URL | esquilax-3.0.0-py3-none-any.whl |
|---|---|
| Size | 29.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
abd108d9e74089d1e44b07e035d2ac7fd0cc10c8eabc93489f9afb8da1642eb1
|
|
BLAKE2b-256 checksum How to use checksums |
ee919a986116099c372289fb9a129fee7e33f396c8e4a6e6e6ea94364e8052a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 29, 2026.
Transparency logSecurity for esquilax 3.0.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for esquilax-3.0.0.tar.gz
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 Oct 29, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.