SimPy는 Python의 표준을 기반으로 한 프로세스 기반의 이산 이벤트 시뮬레이션 프레임워크입니다. 이 프레임워크는 Python 생성자 함수를 통해 프로세스를 정의하며, 이를 통해 고객, 차량, 에이전트와 같은 활성 구성 요소를 모델링할 수 있습니다. 또한, SimPy는 서버, 계산대, 터널과 같은 제한된 용량의 혼잡 지점을 모델링하기 위해 다양한 유형의 공유 자원을 제공합니다.
SimPy를 사용한 시뮬레이션은 '가능한 한 빠르게', 실시간(벽시계 시간)으로, 또는 수동으로 이벤트를 단계별로 진행하는 방식으로 수행될 수 있습니다. 이론적으로 SimPy를 사용하여 연속 시뮬레이션을 수행할 수 있지만, 이를 돕는 기능은 제공되지 않습니다. 반면, 프로세스가 서로 상호작용하지 않거나 공유 자원과 상호작용하지 않는 고정된 단계 크기의 시뮬레이션에는 SimPy가 과도할 수 있습니다.
SimPy의 문서는 튜토리얼, 주요 개념을 설명하는 여러 가이드, 다양한 예제 및 API 참조를 포함하고 있습니다. SimPy는 MIT 라이선스 하에 배포되며, 시뮬레이션 모델 개발자들은 SimPy 커뮤니티와 자신들의 SimPy 모델링 기술을 공유하도록 권장됩니다. SimPy의 개념과 몇 가지 예제를 설명하는 입문 강연도 있습니다: 비디오를 시청하거나 슬라이드를 받아보세요. SimPy는 다른 프로그래밍 언어로도 재구현되었습니다. 자세한 내용은 포트 목록을 참조하세요.