simpy

Model discrete-event simulations with Python generator processes and shared resources.

Updated Apr 2, 2026
One-click install
npx skills add https://github.com/viniruggeri/applied-dynamical-systems --skill simpy-viniruggeri
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: simpy
Source: https://github.com/viniruggeri/applied-dynamical-systems/tree/main/.agents/skills/simpy
Command: npx skills add https://github.com/viniruggeri/applied-dynamical-systems --skill simpy-viniruggeri

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires simpy, and includes scripts (resource) and references (resource) components.

What problem does it solve?

SimPy provides a process-based approach to discrete-event simulation in Python, enabling modeling of entities, resources, and events to evaluate system behavior without heavy custom solvers.

Core Features & Use Cases

  • Process modeling using Python generator functions to define activities

  • Shared resource management (Resource, PriorityResource, PreemptiveResource, Container, Store, and related stores)

  • Event-driven scheduling, monitoring, and optional real-time synchronization

  • Use cases include manufacturing lines, service operations, network traffic, logistics, and any system with queues and resources.

Quick Start

Create an Environment, define processes, and run the simulation with env.run to observe system behavior.

Frequently Asked Questions about simpy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a discrete-event simulation in Python?

To run a discrete-event simulation in Python, create an Environment, define processes using generator functions, and call env.run to execute and observe system behavior. This models interacting entities and shared resources.

What is discrete-event simulation used for in queueing systems?

Discrete-event simulation models queueing systems by tracking entities moving through shared resources over time. It evaluates performance for manufacturing lines, service operations, telecommunications networks, and logistics where queues determine throughput.

Can I model priority and preemptive resource queues in Python?

Python discrete-event simulation supports priority and preemptive resource queues. You can use PriorityResource and PreemptiveResource classes alongside standard Resource, Container, and Store types to manage constrained shared resources with varying urgency levels.

Does Python support real-time simulation synchronization for network traffic modeling?

Python discrete-event simulation provides real-time capabilities for network traffic modeling. The environment supports optional real-time synchronization, allowing simulated events to align with wall-clock time during execution for monitoring purposes.

What is the best way to model manufacturing lines with shared resources?

The best way to model manufacturing lines is using process-based discrete-event simulation. Define generator-based processes for line activities and use Resource objects to manage shared machinery, enabling performance analysis of queues and bottlenecks.

Do I need custom solvers to analyze service operations with queues?

You do not need custom solvers to analyze service operations with queues. Process-based discrete-event simulation enables modeling of entities, resources, and events to evaluate system behavior entirely through built-in generator functions and event handling.