← Về thư mục
Sources and verification record
Research completed 2026-07-23 with parallel-cli search and
parallel-cli extract, then checked against an isolated installation of
simpy==4.1.2. Versioned documentation is preferred over the latest build,
which showed a 4.1.2 development revision during verification.
Release, packaging, and source
- SimPy on PyPI — 4.1.2, released
2026-05-24;
Requires-Python >=3.8; classifiers list Python 3.8-3.14,
CPython, and PyPy; MIT; no runtime dependencies. Verified 2026-07-23.
- GitLab source project — canonical
repository, MIT license, tagged source, tests, and documentation. Accessed
2026-07-23.
- GitLab tag 4.1.2 —
protected/verified tag, commit
f43816490c6f76f336ad6e457d3cab9f386894af,
dated 2026-05-24.
- Tagged CHANGES.rst
— 4.1.2 entry dated 2026-05-23: Python 3.13/3.14 support,
modern-interpreter test/doc fixes,
ConditionValue explicitly unhashable,
lint/type cleanup.
- Tagged pyproject.toml
— Python requirement/classifiers, no dependencies, setuptools build, pytest,
mypy, and ruff configuration. Dated 2026-05-23; accessed 2026-07-23.
- Tagged tox.ini and
tagged tests —
upstream test matrix and behavior tests. Accessed 2026-07-23.
- Tagged
simpy/core.py
— authoritative Environment.run(), step(), queue tuple, and
StopSimulation implementation. Accessed 2026-07-23.
PyPI file hashes observed 2026-07-23:
- wheel
simpy-4.1.2-py3-none-any.whl SHA-256
43071f84b6512c9b4fcb33ef057f240ccb1d1f3b263f9b4f9229d072e310b372;
- sdist
simpy-4.1.2.tar.gz SHA-256
76ef36b71e0436ba94e55febc001c78879e493a323f045bbcfbb0b216e9b1fbc.
Use the pinned package command in SKILL.md; hashes are recorded for provenance,
not embedded into uv pip install syntax.
Official SimPy 4.1.2 documentation
Entry points
All accessed 2026-07-23. The examples index covers condition events, interrupts,
Resource, PreemptiveResource, Container, Store, shared events, and process waiting.
Core topical guides
All accessed 2026-07-23.
API pages
simpy.core
— Environment, run, schedule, peek, step, EmptySchedule.
simpy.events
— Event, Timeout, Process, Condition, AnyOf, AllOf, priorities.
simpy.exceptions
— Interrupt.
simpy.resources
— Resource/Priority/Preemptive, Container, Store/Filter/Priority, base events.
simpy.rt
— RealtimeEnvironment.
simpy.util
— helper processes.
All accessed 2026-07-23.
Source-level semantic finding
The 4.1.2 Environments topical guide informally says Event-based run() returns
when the Event has been processed. The 4.1.2 API docstring says "triggered."
Tagged core.py is decisive:
run(until=event) appends StopSimulation.callback;
step() sets callbacks to None, executes them, catches StopSimulation,
restores callbacks remaining after the stopping callback, and reschedules that
Event at priority -1.
Therefore the target value can be returned while target.processed is still false,
until one more step processes the rescheduled empty-callback Event. This was
reproduced under the exact PyPI 4.1.2 wheel on Python 3.13 and is covered by
tests/test_scripts.py.
Numeric run(until=time) creates an urgent internal stop Event, so normal Events at
that exact time are excluded. This was verified from both tagged source and runtime
tests.
Primary simulation-method sources
These sources describe simulation-study design and output analysis. They are not
SimPy API documentation.
- Averill M. Law, "Statistical Analysis of Simulation Output Data",
Proceedings of the 2020 Winter Simulation Conference, 2020. Defines
terminating/nonterminating analyses; independent replications;
replication/deletion; warm-up/run length; Student-t intervals; and warns against
naive single-run IID intervals. Accessed 2026-07-23.
- Pierre L'Ecuyer, "Random Number Generation with Multiple Streams for Sequential and Parallel Computing",
Proceedings of the 2015 Winter Simulation Conference, 2015,
DOI
10.1109/WSC.2015.7408151. Covers streams/substreams, one stream per random
source, replication separation, common random numbers, testing, and exact
reproducibility. Accessed 2026-07-23.
- Robert G. Sargent, "Verification and Validation of Simulation Models",
Proceedings of the 2010 Winter Simulation Conference, 2010. Defines model
verification, conceptual/data/operational validity, intended-purpose/domain
framing, sensitivity analysis, and validation evidence. Accessed 2026-07-23.
- Stewart Robinson, "Conceptual Modelling for Simulation Part I: Definition and Requirements",
Journal of the Operational Research Society 59, 278-290, 2008. Identifies
validity, credibility, utility, feasibility, and simplest-adequate-model
requirements. Publisher page accessed 2026-07-23.
- Lee W. Schruben, "Detecting Initialization Bias in Simulation Output",
Operations Research 30(3), 569-590, June 1982. Original initialization-bias
testing method. Metadata/abstract verified via
IDEAS/RePEc
on 2026-07-23.
- Stewart Robinson, "A Statistical Process Control Approach to Selecting a Warm-up Period for a Discrete-event Simulation",
European Journal of Operational Research 176(1), 332-346, January 2007.
Accessed 2026-07-23.
- Kathryn Hoad, Stewart Robinson, Ruth Davies,
"Automated Selection of the Number of Replications for a Discrete-event Simulation",
Journal of the Operational Research Society 61(11), 1632-1644,
November 2010. Replication-count/precision methodology; metadata verified
2026-07-23.
- Thomas Monks et al.,
"Strengthening the Reporting of Empirical Simulation Studies: Introducing the STRESS Guidelines",
Journal of Simulation, 2018/2019 publication record. Reporting checklists for
objectives, logic, data, experimentation, implementation, and code access.
EQUATOR record
last updated 2021-11-19; both accessed 2026-07-23.
- Averill M. Law and W. David Kelton,
"Confidence Intervals for Steady-State Simulations: I. A Survey of Fixed Sample Size Procedures",
Operations Research 32(6), 1221-1239, December 1984. Surveys replication,
batch means, autoregressive, spectral, and regenerative fixed-run methods and
cautions that adequate run length is model-dependent. Accessed 2026-07-23.
Research queries used
Parallel searches/extractions covered:
- latest SimPy stable version, Python support, PyPI files, GitLab tags/changelog;
- Environment/Event/Process/Timeout/Condition and scheduling;
- all Resource, Container, and Store variants;
- interrupts, monitoring, stepping, real-time, examples, API, and testing config;
- independent replications, confidence intervals, warm-up/transient bias,
random streams, conceptual modeling, V&V, sensitivity, and reproducibility.
No Parallel JSON artifacts were written into the repository.