No project description provided
Project description
michie
Distributed high-throughput pythonic framework for multi-agent simulations
Installation
michie is available on PyPI. To install it
pip install michie
Usage
In michie each object has its own state and there is one global state
There are three distinct types of operations in michie:
- GlobalStateMappers
- Can read and write every state
- Can read and wite the global state
- Are executed synchronously from the Master process
- StateMappers
- Can read and write one state
- Can only read the global state
- Are executed asynchronously from the Worker processes
- Transitions
- Can read and write one state
- Cannot read the global state
- Are executed asynchronously from the Worker processes
Distributed Model
michie executes Transitions and StateMappers on remote Workers.
It uses the fastest JSON python serializer orjson to serialize jobs and results.
Before sending the job to the workers it runs the requirements function to check if all the needed fields are available in the current state and uses the state_map and global_state_map (only for StateMappers) to map the whole state in a smaller mapped_state to be serialized (reducing the communication overhead to the minimum)
Examples
You can find some examples here
Contributions and license
The code is distributed as Free Software under the GNU/GPLv3 license. It is not only possible, but also encouraged, to copy, adapt, and republish it.
If you have any further questions, please contact me at federico.galatolo@ing.unipi.it or on Telegram @galatolo.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file michie-0.2.2.tar.gz.
File metadata
- Download URL: michie-0.2.2.tar.gz
- Upload date:
- Size: 22.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08b1a4de2d662c1e350380c92dbaffa7e3ff01fea451d5a830323a4f65981a4c
|
|
| MD5 |
080df604cbc3f15a20f689d59b691197
|
|
| BLAKE2b-256 |
8378891a5ebe722b841f2d08e9d10b58e66ccc5ac89c2be0ecfff197c89d8e11
|
File details
Details for the file michie-0.2.2-py3-none-any.whl.
File metadata
- Download URL: michie-0.2.2-py3-none-any.whl
- Upload date:
- Size: 28.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1acad9acbf0c76a9d8e0dfbe181725687cf13a65fc5eb7a369d0012e217bf6ac
|
|
| MD5 |
606be49b376d43b854cf1f0b868fd316
|
|
| BLAKE2b-256 |
7946f1f2967958fdbce6f2d2579eb81e04f9e657a9e52d7f594bc5261eb5bfc3
|