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. 🚀
Metadata
Release files for devsimpy 5.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| devsimpy-5.1.1.tar.gz | 3.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| devsimpy-5.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.7 MB
Release files / devsimpy-5.1.1.tar.gz
| Download URL | devsimpy-5.1.1.tar.gz |
|---|---|
| Size | 3.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b6074cece70a3b68a3fe812fde8dc93add083cc5f8a9368e0c19e5e3bd3ced27
|
|
BLAKE2b-256 checksum How to use checksums |
e2bf0795d0e6730f52f498407bf3b4e8b091cf3a7a5ced3c1520f023d0a59548
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / devsimpy-5.1.1-py3-none-any.whl
| Download URL | devsimpy-5.1.1-py3-none-any.whl |
|---|---|
| Size | 3.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5a903ac4c5f9f189a8b155d079dcf7b2c5608625540885914a710dea4fb6b984
|
|
BLAKE2b-256 checksum How to use checksums |
bbb7c9c714605faa73c19dbd2e6c4a0e396e66dd2fdfe75d8f14ece493a1b081
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|