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.1.tar.gz (22.6 kB view hashes)

Uploaded Source

Built Distribution

michie-0.2.1-py3-none-any.whl (27.6 kB view hashes)

Uploaded Python 3

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