Skip to main content

JAX multi-agent simulation and ML toolset

Project description


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.

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.

  • Performant Implementations

    Implements interaction transformation patterns that typically have high computational complexity. This allows users to concentrate on model design instead of low-level implementation details.

  • Functional Patterns

    Esquilax is designed around functional patterns, ensuring models can be 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 over 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 physics/robotics simulation.

Getting Started

Esquilax can be installed from pip

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 and multi-agent policy training implemented using Esquilax can be found here.

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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

esquilax-0.1.0.tar.gz (17.5 kB view details)

Uploaded Source

Built Distribution

esquilax-0.1.0-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file esquilax-0.1.0.tar.gz.

File metadata

  • Download URL: esquilax-0.1.0.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.6

File hashes

Hashes for esquilax-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2be2867b2f15a3114f3416335e18950e6fd33be2a825ab7c275e854b460a6ca4
MD5 47c199e5c374410c75bfc6c5e839f57b
BLAKE2b-256 7480a3970ad4bc3b5a5f4145dfb11855ba44e7d6a49a686f5cf68a39ce2d7382

See more details on using hashes here.

File details

Details for the file esquilax-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: esquilax-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.6

File hashes

Hashes for esquilax-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 daffa143306d5c8fa723d4079b6d5f621d7a101010b18445131aefbd71c41400
MD5 38ee0187b9e9461500c5bc206bcb254d
BLAKE2b-256 921ade6d2e755008680f2093ee66a2cae99f7c3f858a91a286349f84ee5db607

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page