Python SECS/GEM implementation
Project description
secsgem
Simple Python SECS/GEM implementation
This module is still work in progress. I'd love to get your input, your use case, whether you are experienced in SECS or not.
Installation
To install the latest official release (0.3.0, 2024-09-14, https://pypi.python.org/pypi/secsgem):
$ pip install secsgem
To install the current development code (might be instable):
$ pip install git+git://github.com/bparzella/secsgem
Sample
import logging
import code
import secsgem.common
import secsgem.gem
import secsgem.hsms
from communication_log_file_handler import CommunicationLogFileHandler
class SampleHost(secsgem.gem.GemHostHandler):
def __init__(self, settings: secsgem.common.Settings):
super().__init__(settings)
self.MDLN = "gemhost"
self.SOFTREV = "1.0.0"
commLogFileHandler = CommunicationLogFileHandler("log", "h")
commLogFileHandler.setFormatter(logging.Formatter("%(asctime)s: %(message)s"))
logging.getLogger("communication").addHandler(commLogFileHandler)
logging.getLogger("communication").propagate = False
logging.basicConfig(format='%(asctime)s %(name)s.%(funcName)s: %(message)s', level=logging.DEBUG)
settings = secsgem.hsms.HsmsSettings(
address="127.0.0.1",
port=5000,
connect_mode=secsgem.hsms.HsmsConnectMode.PASSIVE,
device_type=secsgem.common.DeviceType.HOST
)
h = SampleHost(settings)
h.enable()
code.interact("host object is available as variable 'h'", local=locals())
h.disable()
Contribute
This project is still at its beginning. If you can offer suggestions, additional information or help please contact me.
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
secsgem-0.3.0.tar.gz
(117.5 kB
view hashes)
Built Distribution
secsgem-0.3.0-py3-none-any.whl
(398.7 kB
view hashes)