SimPy gives you process-based discrete-event simulation in Python using generator functions and an event scheduling system. You model entities competing for shared resources over time, like customers waiting for servers, packets moving through networks, or parts flowing through manufacturing lines. The framework handles three resource types (Resource, Container, Store) with priority and preemptive variants, plus event composition with AllOf and AnyOf operators. It's built for queue analysis and capacity planning where things arrive at irregular intervals and wait for constrained resources. If your simulation runs on fixed time steps or processes don't share resources, this isn't the right tool.
npx skills add https://github.com/k-dense-ai/scientific-agent-skills --skill simpy