Skip to main content

Project logo

ci pypi read-the-docs

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.

Metadata

Release files for py-des-lib 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py-des-lib 0.1.5
File Size Uploaded Provenance Actions
py_des_lib-0.1.5.tar.gz 10.3 kB Without provenance Details for py_des_lib-0.1.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for py-des-lib 0.1.5
File Interpreter ABI Platform Actions
py_des_lib-0.1.5-py3-none-any.whl Python 3 none any Details for py_des_lib-0.1.5-py3-none-any.whl

Total release size: 20.9 kB

Release files / py_des_lib-0.1.5.tar.gz

Download URL py_des_lib-0.1.5.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
490f994084b652cca4168f16773e7352a1d33ca9d5507733941242e4cd9bce6d
BLAKE2b-256 checksum
How to use checksums
73a88659fbe771bcdfb35f9a081159a0a89c059449459aead45a99a96d7e435e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Release files / py_des_lib-0.1.5-py3-none-any.whl

Download URL py_des_lib-0.1.5-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a528f17194ddf6d1900274bbabb423726069c2e27130b3c957d0da4c74c0869f
BLAKE2b-256 checksum
How to use checksums
fe803732a474880698c3317d5a7b98f6c0df918a811cde47b492b1a5f8f4e767
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.9.20

Security for py-des-lib 0.1.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page