Skip to main content

Python-Based GUI for Discrete Event system Specification (DEVS) Simulation

Project description

DEVSimPy

DEVSimPy: Python-Based GUI for DEVS Simulation

Status

Category Status

| Tests | Linux Windows |

What is DEVSimPy?

DEVSimPy is an open-source framework (GPL v3) designed for modeling and simulating discrete event systems (DEVS) with a graphical user interface. Developed in Python with wxPython, it simplifies interaction with PyDEVS and PyPDEVS models.

Key Features 🚀

Feature Description
Graphical Modeling Design, save, and export DEVS models easily.
Simulation & Analysis Run, suspend, and analyze simulations in real-time.
Code Editing Modify DEVS models on the fly.
Model Libraries Import/export libraries for domain-specific applications.
Command-Line Execution Run simulations via CLI with devsimpy-nogui.py.
Plugin System Extend functionality with custom plugins.
YAML Export Generate YAML models for DEVSimPy-mob.
REST API Enable remote simulation execution via DEVSimPy-REST.

Installation

Requirements

  • Python 3.10+
  • wxPython 4.0+
  • SciPy & NumPy (for spectrum analysis, optional)

Standard Installation

$ git clone --recurse-submodules -b version-4.0 --depth=1 https://github.com/capocchi/DEVSimPy.git
$ git fetch --unshallow
$ pip install -r requirements.txt

Running DEVSimPy

$ python devsimpy.py

For macOS users:

$ pythonw devsimpy.py  # Required due to wxPython dependencies

Alternative Installation Methods


Command-Line Usage

Execute DEVSimPy models without the GUI:

$ python devsimpy-nogui.py test.dsp -sim 10 -kernel pdevs

For PyDEVS kernel:

$ python devsimpy-nogui.py test.dsp -kernel PyDEVS 10

Check CLI options:

$ python devsimpy-nogui.py -h

Documentation 📖


Citing DEVSimPy 📌

If you use DEVSimPy in your research, cite it using:

@misc{capocchi2019devsimpy,
    author = {Laurent Capocchi},
    title = {DEVSimPy},
    year = {2019},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://github.com/capocchi/DEVSimPy}},
}
@INPROCEEDINGS{5990023,
    author={L. {Capocchi} and J. F. {Santucci} and B. {Poggi} and C. {Nicolai}},
    booktitle={2011 IEEE 20th International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises},
    title={DEVSimPy: A Collaborative Python Software for Modeling and Simulation of DEVS Systems},
    year={2011},
    pages={170-175},
    doi={10.1109/WETICE.2011.31},
}

Videos & Resources 🎥

For extensions, see this repository.


Contributions & Feedback 💡

We welcome contributions and feedback! Feel free to submit issues, pull requests, or join discussions to help improve DEVSimPy. 🚀

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

devsimpy-5.0.4.tar.gz (4.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devsimpy-5.0.4-py3-none-any.whl (4.9 MB view details)

Uploaded Python 3

File details

Details for the file devsimpy-5.0.4.tar.gz.

File metadata

  • Download URL: devsimpy-5.0.4.tar.gz
  • Upload date:
  • Size: 4.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for devsimpy-5.0.4.tar.gz
Algorithm Hash digest
SHA256 57b856ddd5e090fc04b7874e2da6753ab9211c82b35e0e0997ef4192bcef6ec5
MD5 25513f4e0c2283ae559fd39265055d80
BLAKE2b-256 ad1c33200e75d05b14645a9923bfb59767f3b1e7e4eccbd787e441888f2184f2

See more details on using hashes here.

File details

Details for the file devsimpy-5.0.4-py3-none-any.whl.

File metadata

  • Download URL: devsimpy-5.0.4-py3-none-any.whl
  • Upload date:
  • Size: 4.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for devsimpy-5.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f4a6c7f2ee4dad53dcee4314a7040db288f1f0cd0176b9cdef247f23a518dc7c
MD5 379ee1d1439eafa3755a41963ee9a569
BLAKE2b-256 1ac388837a57e78152bdf25f163e8828145e4a2518543790f98adafc88ba78a8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page