Westworld
Description
Westworld is a multi-agent simulation library, its goal to simulate and optimize systems and environments with multiple agents interacting. Its inspiration is drawn from Unity software and Unity ML Agents, adapted in Python.
The goal is to be able to simulate environments in logistics, retail, epidemiology, providing pre-coded spatial environments and communication between agents. Optimization can be included using heuristics as well as Reinforcement Learning.
!!! warning "Experimental" This library is extremely experimental, under active development and alpha-release Don't expect the documentation to be up-to-date or all features to be tested Please contact us if you have any question
The name is of course inspired by the TV series Westworld, which is actually a gigantic multi-agent simulation system.
Documentation
Documentation is available locally in docs folder or online at https://theolvs.github.io/westworld
Features
Current features
- Easy creation of Grid and non-grid environments
- Objects (Agents, Obstacles, Collectibles, Triggers)
- Subclassing of different objects to create custom objects
- Spawner to generate objects randomly in the environment
- Basic rigid body system for all objects
- Simple agent behaviors (pathfinding, wandering, random walk, fleeing, vision range)
- Automatic maze generation
- Layer integration to convert image to obstacle and snap it to a grid
- Sample simulations and sample agents for classic simulations
- Simulation visualization, replay and export (gif or video)
Roadmap features
- More classic simulations and tutorials (boids, sugarscape)
- Better pathfinding
- Easy Reinforcement Learning integration with Stable Baselines
- Other visualization functions than PyGame for web integration
Installation
Install from PyPi
The library is available on PyPi via
pip install westworld
For developers
- You can clone the github repo / fork and develop locally
- Poetry is used for environment management, dependencies and publishing, after clone you can run
# To setup the environment
poetry install
# To run Jupyter notebook or a python console
poetry run jupyter notebook
poetry run python
Contributors
Javascript version
A javascript version is being developed at https://github.com/TheoLvs/westworldjs
Metadata
Release files for westworld 0.1.3
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 |
|---|---|---|---|---|
| westworld-0.1.3.tar.gz | 34.5 kB | Without provenance | Details for westworld-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| westworld-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for westworld-0.1.3-py3-none-any.whl |
Total release size: 77.5 kB
Release files / westworld-0.1.3.tar.gz
| Download URL | westworld-0.1.3.tar.gz |
|---|---|
| Size | 34.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
06e4813266d7da82c042ae0ec175f0c9aeeaaeac2be4da41d75e83f0fe773084
|
|
BLAKE2b-256 checksum How to use checksums |
11f70aa9cf459ad5624d40a358ed55b26200a81c1de3d2f91a9097969fea63b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.7 CPython/3.8.8 Windows/10
|
Release files / westworld-0.1.3-py3-none-any.whl
| Download URL | westworld-0.1.3-py3-none-any.whl |
|---|---|
| Size | 43.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bfc415f36213ef069eff9020d0cb3b197bec84f069da8a990d1c3f414ece579f
|
|
BLAKE2b-256 checksum How to use checksums |
808442cbaf8cbf10a35a93d098a5897f3091eb1ce5c3118fda59bf5dfeb4888f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.7 CPython/3.8.8 Windows/10
|
Security for westworld 0.1.3
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.