simpy

Model discrete-event systems and resource interactions with Python-based SimPy.

1|Updated Mar 4, 2026
One-click install
npx skills add https://github.com/Hung-3008/agusta --skill simpy-hung-3008
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: simpy
Source: https://github.com/Hung-3008/agusta/tree/main/.agents/skills/simpy
Command: npx skills add https://github.com/Hung-3008/agusta --skill simpy-hung-3008

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

Discrete-event simulations often require custom code to model processes, resources, and time-based interactions; this skill provides a ready-to-use framework based on SimPy to streamline building and experimenting with complex systems.

Core Features & Use Cases

  • Process modeling with Python generator functions to define system activities
  • Shared resource management (Resource, PriorityResource, PreemptiveResource) and containers/stores for data handling
  • Event-driven scheduling and synchronization for coordinating multiple processes
  • Real-time simulations and optional real-time extensions for wall-clock alignment
  • Comprehensive monitoring and data collection through reference patterns and templates

Quick Start

Create an environment, define a simple process that uses a resource, and run the simulation.

Frequently Asked Questions about simpy

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

FAQPage Schema
What is discrete-event simulation and when do I need it for modeling shared resources?

Discrete-event simulation models systems where entities compete for shared resources over time using event-driven scheduling. It is needed for manufacturing, logistics, service operations, and telecommunications to analyze queues, processes, and resource interactions.

How do I model processes and queues using Python-based event-driven simulation?

You model processes by defining system activities with Python generator functions within a simulation environment. This framework handles event-driven scheduling, resource management, and synchronization to coordinate multiple processes over time.

Can I manage priority and preemptive resource allocation in a discrete-event simulation?

Yes, the framework supports shared resource management using Resource, PriorityResource, and PreemptiveResource. It also includes containers and stores for data handling, allowing you to model complex resource interactions and allocation rules.

What's the best way to align wall-clock time with a real-time simulation in Python?

You can use optional real-time extensions to align simulation time with the wall-clock. This enables real-time simulations by synchronizing event-driven scheduling with actual time progression for live monitoring and validation.

Does this simulation framework support data monitoring and collection for manufacturing and logistics systems?

Yes, it provides comprehensive monitoring and data collection through reference patterns and templates. This allows you to track time-based events, resource usage, and process interactions across manufacturing, logistics, and service operations.

Why use Python generator functions to define activities in a discrete-event simulation?

Python generator functions define process modeling by yielding control back to the simulation environment, enabling precise event-driven scheduling and synchronization. This approach streamlines coordinating multiple processes competing for shared resources.