SimCraft

SimCraft Documentation

SimCraft is a discrete event simulation (DES) framework for Python, designed for academic research, industrial applications, and integration with optimization algorithms including reinforcement learning.

PyPI Python 3.8+ License: MIT

Key Features

  • Event-Driven Architecture: O(log n) event scheduling with priority support

  • Hierarchical Composition: Build complex models from reusable components

  • Rich Resource Management: Servers, queues, resources, and resource pools

  • Comprehensive Statistics: Counters, tallies, time-series, and monitors

  • 20+ Random Distributions: Reproducible random number generation

  • Optimization Integration: Native support for simulation-optimization and RL

  • Full Type Hints: Complete type annotations for IDE support

Quick Example

import simcraft

class HelloWorld(simcraft.Simulation):
    def on_init(self):
        self.schedule(self.say_hello, delay=1.0)

    def say_hello(self):
        print(f"Hello at time {self.now}!")
        self.schedule(self.say_hello, delay=1.0)

sim = HelloWorld()
sim.run(until=5.0)

Getting Started

Tutorials

Examples

API Reference

Project Information

Project Info

Indices and Tables