Skip to main content

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.

Test Coverage Maintainability Tests Image

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.

Release files for secsgem 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for secsgem 0.3.0
File Size Uploaded
secsgem-0.3.0.tar.gz 117.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for secsgem 0.3.0
File Interpreter ABI Platform
secsgem-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 516.2 kB

Release files / secsgem-0.3.0.tar.gz

Download URL secsgem-0.3.0.tar.gz
Size 117.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9e21059dfb278799e254bab071c164e56ba624530e4900f4893e6787bbdab4f2
BLAKE2b-256 checksum
How to use checksums
d25e640f53c54f79d540f75d511bd49a27035385d21418ef589d30bcdc21173d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.0 Linux/6.5.0-1025-azure

Release files / secsgem-0.3.0-py3-none-any.whl

Download URL secsgem-0.3.0-py3-none-any.whl
Size 398.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e1b89d5d47239de86d9da9d103736a7a86b57d28746f166dca88348f1776f960
BLAKE2b-256 checksum
How to use checksums
08f55a2d32db683bb05db87ec251801d3177fa7f95f248d0de8064b358d124a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.0 Linux/6.5.0-1025-azure
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