usim
usim copied to clipboard
Lightweight Python Simulation Framework
**Short description of the feature** Cancelling a task currently a) allows the task to delay/ignore the cancellation and b) does not wait for completion. This means the cancelling task has...
**Description of the bug** When a loop ends and leaves behind objects, collecting them after a new loop starts transfers state between the two loops. This is because `usim` objects...
**Short description of the feature** Allow to pause the simulation and later on resume it. **Describe the solution you'd like** Simulation code should be able to pause at any time....
**Short description of the feature** Provide a context that postpones exactly once, even when nested. This would allow combining multiple high-level calls as a quasi-atomic async operation. This is intended...
**Description of the bug** The asynchronous ``Resource.claim`` operation does *not* postpone when claiming fails. This violates ``usim``'s guarantee to always postpone on an asynchronous operation. This issue may apply to...
**Short description of the feature** The usim documentation introduced in #58 is organised into topics, but mostly only includes the raw, automatic object documentation. Manual documentation on how objects can...
The ``InterruptScope`` is currently available as ``usim.until``: ``` async with until(time==20): ... ``` This gives the appearance that it works like a loop (``while`` vs. ``until``) and does not reflect...
Porting SimPy resources (#51 and #50) made it pretty obvious that uSim's ``Resources`` type is a bit awkward when there really is just one type of resources. ```python3 resources =...
In #44 there was the question how code that is repeatedly used in documentation files could be reused. See metronome example in about (https://github.com/MaineKuehn/usim/blob/dff719c209ba8d275cd1133a0c447a361fce4486/usim/__about__.py#L15), index.rst (https://github.com/MaineKuehn/usim/blob/master/docs/index.rst) and README.rst (https://github.com/MaineKuehn/usim/blob/master/README.rst).
The documentation does not seem to show inherited methods from super classes. This should be improved as one cannot work with the documentation itself but requires the actual code to...