Skip to main content

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)

Source distribution for esquilax 3.0.0
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)

Table of built distributions (wheels) for esquilax 3.0.0
File Interpreter ABI Platform Actions
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

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