Python-Based GUI for Discrete Event system Specification (DEVS) Simulation
Project description
DEVSimPy: Python-Based GUI for DEVS Simulation
| Category | Status |
|---|---|
| Builds & Tests | |
| PyPI | |
| Activity | |
| QA | |
| Other |
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)
From PIP
$ pip install devsimpy
and to start:
$ devsimpy
From Repo (for dev)
$ git clone --recurse-submodules -b version-4.0 --depth=1 https://github.com/capocchi/DEVSimPy.git
$ git fetch --unshallow
$ pip install -r requirements.txt
and to start:
$ python devsimpy.py
or for macOS user:
$ pythonw devsimpy.py # Required due to wxPython dependencies
Alternative Installation Methods
- Conda Environment: Use the
conda_devsimpy_env.ymlfile. - Portable Version: Use Portable Python with PyScripter.
- Virtual Machine: Download a preconfigured XUbuntu 19.10 VM with DEVSimPy here (Login:
devsimpy-user/devsimpy).
Command-Line Usage
Execute DEVSimPy models without the GUI:
$ python devsimpy-nogui.py test.dsp -sim 10 -kernel pdevs
or
$ python devsimpy.py --nogui 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 📖
- DEVSimPy User Guide v2.8 (French)
- S. Toma Ph.D. Thesis (English) (Winner of the 2014 DEVS PhD Dissertation Award)
- Technical Report (Polish)
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
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file devsimpy-5.1.0.tar.gz.
File metadata
- Download URL: devsimpy-5.1.0.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a375c5f44e8097908f1912c4fb10a19419dc212b95fdf2058da3e005f44b6102
|
|
| MD5 |
5756d707c35f1515ba904d01a8102406
|
|
| BLAKE2b-256 |
7170de5c5676610a0a719971efc494d63d6ad3e9cf880cb63fb08a92e35900e5
|
File details
Details for the file devsimpy-5.1.0-py3-none-any.whl.
File metadata
- Download URL: devsimpy-5.1.0-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a17a2c58ec86c6aed27c48094d5a56add97af2bd5d639659f62bf0a2fde7728
|
|
| MD5 |
d89fe61d4d4cdd1a76e7c431c6b21e3f
|
|
| BLAKE2b-256 |
d23fe3646f7304b7b43b0e9ada74c06fd3609a9516954b083109497365a1cb5d
|