Skip to main content

DEVSimPy

DEVSimPy: Python-Based GUI for DEVS Simulation

Category Status
Builds & Tests Linux Windows
PyPI PyPI Version Supported Versions Supported Implementations Wheel
Activity Last Commit Commits Since Maintained PyPI Downloads
QA CodeFactor Flake8 & mypy
Other License Language Requirements

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


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 📖


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)

Source distribution for devsimpy 5.1.1
File Size Uploaded
devsimpy-5.1.1.tar.gz 3.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for devsimpy 5.1.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

5.1.1 This release

2 release files

5.1.0

2 release files

5.0.4

2 release files

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