Event discrete, process based simulation for Python.
Project description
Welcome to Py-DES
py-des is a Python package designed to simplify the process of discrete event simulation, providing users with an intuitive and efficient framework for modeling and analyzing complex systems. Built upon the principles of simplicity, flexibility, and performance, py-des aims to offer a streamlined solution for simulation tasks across various domains, including operations research, computer science, and manufacturing.
Key Principles
-
Simplicity: py-des prioritizes ease of use, allowing users to quickly define simulation models and scenarios without unnecessary complexity.
-
Flexibility: With py-des, users have the flexibility to customize simulation through the usage of predefined and custom
Components
. From simple simulations to complex scenarios involving multiple entities and interactions, py-des adapts to diverse use cases with ease.
Getting Started
To begin using py-des, simply install the package via pip (coming soon):
pip install py-des-lib
First define your main process extending the Component
and defining a main
method.
First define your main process extending the Component
and defining a main
method.
from pydes import Component, Simulator
class Process(Component):
def __init__(self, sim: Simulator):
self.sim = sim
def main(self):
for _ in range(10):
self.sim.record(self.id, "start waiting")
self.sim.record(self.id, "start waiting")
self.sim.sleep(2)
self.sim.record(self.id, "end waiting")
self.sim.record(self.id, "end waiting")
Now schedule the main process object and run simulation
sim = Simulator()
p = Process(sim)
sim.schedule(p)
sim.run()
Start your journey looking at the documentation in the quick-start section or check out the examples for guidance on how to create simulation environments, schedule events, and analyze simulation outcomes. Start your journey looking at the documentation in the quick-start section or check out the examples for guidance on how to create simulation environments, schedule events, and analyze simulation outcomes.
Feedback and Support
If you have any questions, suggestions, or feedback regarding py-des, feel free to reach out via GitHub issues or the official communication channels. Your input is invaluable in shaping the future development of the library and ensuring that it meets the needs of its users.
Todos/Ideas
- more docs
- add simulation speed
- add predefined records on components
- add components: Server, Source, Sink ...
- add a Network module with nodes and links.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file py_des_lib-0.1.5.tar.gz
.
File metadata
- Download URL: py_des_lib-0.1.5.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 490f994084b652cca4168f16773e7352a1d33ca9d5507733941242e4cd9bce6d |
|
MD5 | 4e8d9b3a0c6171ff9db24ec1f89fa2f4 |
|
BLAKE2b-256 | 73a88659fbe771bcdfb35f9a081159a0a89c059449459aead45a99a96d7e435e |
File details
Details for the file py_des_lib-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: py_des_lib-0.1.5-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a528f17194ddf6d1900274bbabb423726069c2e27130b3c957d0da4c74c0869f |
|
MD5 | e7c63c41643be09addae5754f9b93c36 |
|
BLAKE2b-256 | fe803732a474880698c3317d5a7b98f6c0df918a811cde47b492b1a5f8f4e767 |