https://github.com/darcato/pysmlib
A library to create event driven finite state machines for EPICS
https://github.com/darcato/pysmlib
control-system epics finite-state-machine python
Last synced: about 1 month ago
JSON representation
A library to create event driven finite state machines for EPICS
- Host: GitHub
- URL: https://github.com/darcato/pysmlib
- Owner: darcato
- License: gpl-3.0
- Created: 2018-08-28T14:21:27.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-12-27T15:10:44.000Z (about 1 year ago)
- Last Synced: 2025-08-27T13:37:36.729Z (7 months ago)
- Topics: control-system, epics, finite-state-machine, python
- Language: Python
- Homepage: https://darcato.github.io/pysmlib/docs/html/
- Size: 7.9 MB
- Stars: 8
- Watchers: 1
- Forks: 6
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# pysmlib
## Python Finite State Machines for EPICS
_Developers_: Damiano Bortolato - Davide Marcato @ Laboratori Nazionali di Legnaro - INFN
Main Repository: https://github.com/darcato/pysmlib
Full documentation: https://darcato.github.io/pysmlib/docs/html/
### Main features
- Easy to use and fast development of complex event based fsm - just code the states!
- Full EPICS Channel Access integration via PyEpics.
- High expandability as provided by all the libraries of Python.
- Integrated configurable logging systems.
- Convenient methods to access all the information on I/O.
- Timers can be used to execute actions after a time delay.
- Integrated watchdog logic.
- Multi-threading: each fsm is executed on a different thread, sharing I/O.
- Convenient loader to launch a daemon with multiple fsm.
- Possibility to apply a configurable naming convention on I/O.
## Installation
To install simply run:
``` bash
pip install pysmlib
```
or download the latest release/sources from github, unpack it and run:
``` bash
cd pysmlib
pip install .
```
### Dependencies
Requires Python 3.6+. Pyepics is
required and automatically installed by pip. Sphinx and its theme "Read the
Docs" are required to build the documentation.
## Example
