Getting Started
This guide gets you from “installed” to “first simulation” using Simulatte’s core objects:
Environment: simulation clock + event scheduler (a thin wrapper aroundsimpy.Environment)ShopFloor: orchestrates job processing across serversServer: a resource with queue/utilization trackingProductionJob: a job with a routing (servers) and processing times
Install
Requires Python 3.12+ (tested on Python 3.12–3.14).
pip install simulatte
or:
uv add simulatte
First simulation (single server)
from simulatte.environment import Environment
from simulatte.job import ProductionJob
from simulatte.server import Server
from simulatte.shopfloor import ShopFloor
env = Environment()
shopfloor = ShopFloor(env=env)
server = Server(env=env, capacity=1, shopfloor=shopfloor)
job = ProductionJob(
env=env,
sku="A",
servers=[server],
processing_times=[5.0],
due_date=100.0, # absolute simulation time
)
shopfloor.add(job)
env.run() # runs until the event queue is empty
print(f"Job makespan: {job.makespan:.1f}")
print(f"Server utilization: {server.utilization_rate:.1%}")