Skip to main content

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

michie-0.2.2.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

michie-0.2.2-py3-none-any.whl (28.1 kB view details)

Uploaded Python 3

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

Hashes for michie-0.2.2.tar.gz
Algorithm Hash digest
SHA256 08b1a4de2d662c1e350380c92dbaffa7e3ff01fea451d5a830323a4f65981a4c
MD5 080df604cbc3f15a20f689d59b691197
BLAKE2b-256 8378891a5ebe722b841f2d08e9d10b58e66ccc5ac89c2be0ecfff197c89d8e11

See more details on using hashes here.

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

Hashes for michie-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1acad9acbf0c76a9d8e0dfbe181725687cf13a65fc5eb7a369d0012e217bf6ac
MD5 606be49b376d43b854cf1f0b868fd316
BLAKE2b-256 7946f1f2967958fdbce6f2d2579eb81e04f9e657a9e52d7f594bc5261eb5bfc3

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