Skip to main content

A distributed event simulation core (disco) engine.

Project description

🧾 Disco Engine

Disco Engine is a Python-based distributed discrete-event simulation core (“distributed simulation runtime”). It’s designed to run large, structured simulations (e.g., supply-chain / networked process models) by executing many independent NodeRuntimes that exchange events and promises over pluggable transports.

  • Deterministic single-threaded stepping per worker process
  • Scales out via multiple workers and transport backends
  • Built for “engine + plugins” (models as Python packages)

PyPI License: Apache-2.0 Build Tests


Overview

At a high level, a Disco simulation is:

  • a Layered Graph (scenario) that defines structure and data access,
  • a Model plugin that defines simulation logic,
  • an Experiment that defines parameters and run configuration,
  • one or more Workers that host NodeRuntimes and step the simulation.

For local debugging and unit tests, Disco also includes a lightweight TestRun that executes a single, unpartitioned run without threading, metastore/cluster coordination, or external transports.


✨ Features

  • Worker lifecycle & state machine for long-lived simulation processes
  • Routing + transports (in-process, IPC, gRPC) for node-to-node delivery
  • Partitioning to distribute nodes across workers (production), while keeping deterministic node order per worker
  • TestRun for fast local runs without infrastructure (single-process, in-process transport only)
  • Data logging via an optional DataLogger

🚀 Installation

pip install disco-engine

License

This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.

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

disco_engine-0.0.4.tar.gz (262.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

disco_engine-0.0.4-cp313-cp313-win_amd64.whl (248.2 kB view details)

Uploaded CPython 3.13Windows x86-64

disco_engine-0.0.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (264.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

disco_engine-0.0.4-cp313-cp313-macosx_11_0_arm64.whl (240.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

disco_engine-0.0.4-cp313-cp313-macosx_10_15_x86_64.whl (251.8 kB view details)

Uploaded CPython 3.13macOS 10.15+ x86-64

disco_engine-0.0.4-cp312-cp312-win_amd64.whl (248.2 kB view details)

Uploaded CPython 3.12Windows x86-64

disco_engine-0.0.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (264.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

disco_engine-0.0.4-cp312-cp312-macosx_11_0_arm64.whl (240.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

disco_engine-0.0.4-cp312-cp312-macosx_10_15_x86_64.whl (251.7 kB view details)

Uploaded CPython 3.12macOS 10.15+ x86-64

disco_engine-0.0.4-cp311-cp311-win_amd64.whl (247.6 kB view details)

Uploaded CPython 3.11Windows x86-64

disco_engine-0.0.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (264.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

disco_engine-0.0.4-cp311-cp311-macosx_11_0_arm64.whl (240.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

disco_engine-0.0.4-cp311-cp311-macosx_10_15_x86_64.whl (250.7 kB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

File details

Details for the file disco_engine-0.0.4.tar.gz.

File metadata

  • Download URL: disco_engine-0.0.4.tar.gz
  • Upload date:
  • Size: 262.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for disco_engine-0.0.4.tar.gz
Algorithm Hash digest
SHA256 898d2d120f59086b301b579d8ddc41179dc574f6e90320116f7f9e178bf00cab
MD5 a19dfb9a436d2a589e4851171c288920
BLAKE2b-256 81e591ce09834e174ade02073725e3b273d5c392b9629de884cbaa9460285153

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_engine-0.0.4.tar.gz:

Publisher: release-publish.yml on michielmj/disco-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_engine-0.0.4-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for disco_engine-0.0.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ecc85763a674b46c49c9175edbcacf783f66eb826a8bd91958a809c18b2436f2
MD5 75226328887977f9750a8804a91819ec
BLAKE2b-256 cc32443266a7365f5ba41c960d0c59637cbc70266e1cb9d4c375086079b9f8ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_engine-0.0.4-cp313-cp313-win_amd64.whl:

Publisher: release-publish.yml on michielmj/disco-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_engine-0.0.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for disco_engine-0.0.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 083d59af3610ff41d748847e22a56824bc7d5c09c00b3da56b55dc804a64ff93
MD5 f7c896852a4a5492bcdfa484089f235b
BLAKE2b-256 0dd518579ebeea6488159b2888e79bfd510c81dbbcb850a89efdb9451a2c4ff7

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_engine-0.0.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_engine-0.0.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for disco_engine-0.0.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 873bda8def086119e8b4a72253d4e4c16e4aaa6ed4d0d7b40b5b7e868b94bfa9
MD5 9da9e60396d86ee5d418889aeb4580ff
BLAKE2b-256 52285b97c38f1f140991e37fdd70c3f7bffc9d99136f4d7750e34af4ce2543c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_engine-0.0.4-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release-publish.yml on michielmj/disco-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_engine-0.0.4-cp313-cp313-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for disco_engine-0.0.4-cp313-cp313-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4bc16c25ac0570ba270d5fb1061bdc1cbd6292052690f1eef0a84fab14026896
MD5 2ac5975fbd99ddd5d56ffb44313aca20
BLAKE2b-256 212523ce90916b626d91797c0eb1d083489c132270562cb8cc726d666cbc2c8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_engine-0.0.4-cp313-cp313-macosx_10_15_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_engine-0.0.4-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for disco_engine-0.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c93d2d29c6cf4294a603784ae8ab133c2d619abcd75dc314ecec91f83ae01a49
MD5 efb7a1fe49a980c80eb556973eebf658
BLAKE2b-256 887671e7bd10b054a6b07fbf25b13ff77b8d9b98117081b7a4fddb1a6b496aaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_engine-0.0.4-cp312-cp312-win_amd64.whl:

Publisher: release-publish.yml on michielmj/disco-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_engine-0.0.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for disco_engine-0.0.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2d67eb9932ca11a35d13ff3c3880ae2f71f4b8a47addf8ab6d39c7ee4c3e1c54
MD5 0ac05ac5dd43df990a077cfdc0d9a1db
BLAKE2b-256 56ea38e4a059b1cdbba9670fbb41721e722a67cde8a2d89a78e839caedcd0d8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_engine-0.0.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_engine-0.0.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for disco_engine-0.0.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ef39faf5d5aed4b12c4e077a13d7a0be5ecb0582b9143d5d051f818b31c0581
MD5 9c0d22dcd61283f50a002dbf23a624e9
BLAKE2b-256 0cc88f35c1d175be4d53a9b1e5fb9bf22bed703bfd8e0842fd1be8d4b0375d54

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_engine-0.0.4-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release-publish.yml on michielmj/disco-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_engine-0.0.4-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for disco_engine-0.0.4-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c6c35408e6d4f3087115a19a76eaa90bf94bc708ed9f0235663a4c1bd372af99
MD5 891ae10b50284ed818389fd53b395645
BLAKE2b-256 8358d6e28ef017b65bff658858045e1888ab0dd60255aa345000d663adb97970

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_engine-0.0.4-cp312-cp312-macosx_10_15_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_engine-0.0.4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for disco_engine-0.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3c37432c9dc37f4bbdb3f3b132a2d29bbdba3314c8b4ecf694196a6b71b8b7c1
MD5 0acd199003f18f37e727ed8d7967ebe1
BLAKE2b-256 c0819ae38bbce4962c3a719bc927299a0bd77dbc61c3ab2252d49c3351e60428

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_engine-0.0.4-cp311-cp311-win_amd64.whl:

Publisher: release-publish.yml on michielmj/disco-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_engine-0.0.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for disco_engine-0.0.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ec438dec3db1a59705666152023ac6928d74e132d62df9eed5843c7ffcd54580
MD5 9760db133ac04866523c6f088c4a5294
BLAKE2b-256 a1e31b787e96d409bf57bd100c8a8c3933e080f05458ef61ef5f09fac8f51984

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_engine-0.0.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_engine-0.0.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for disco_engine-0.0.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ccf92951876837f2598ce2f3c36cccf43e0d042681815ba60c2a9957542f14f
MD5 9e8dfd3a3f0394d3a84779ab42fe9aac
BLAKE2b-256 9737bb730c37280bc8a6ecb3aff0ccf451decee840ccf73f5a121203a51d0bbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_engine-0.0.4-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release-publish.yml on michielmj/disco-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file disco_engine-0.0.4-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for disco_engine-0.0.4-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 70bc8acb1e6992d87f0e852f247f977208a7fee72326f93036275c8919b38d84
MD5 e158971e8214899d04635d365778df85
BLAKE2b-256 14584e35f1a2ba65982eaa526b52ccd35b63f1b585bcd5b88f481695bc8da74c

See more details on using hashes here.

Provenance

The following attestation bundles were made for disco_engine-0.0.4-cp311-cp311-macosx_10_15_x86_64.whl:

Publisher: release-publish.yml on michielmj/disco-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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