Skip to main content

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.

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.

Project details


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 details)

Uploaded Source

Built Distribution

secsgem-0.3.0-py3-none-any.whl (398.7 kB view details)

Uploaded Python 3

File details

Details for the file secsgem-0.3.0.tar.gz.

File metadata

  • Download URL: secsgem-0.3.0.tar.gz
  • Upload date:
  • Size: 117.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.0 Linux/6.5.0-1025-azure

File hashes

Hashes for secsgem-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9e21059dfb278799e254bab071c164e56ba624530e4900f4893e6787bbdab4f2
MD5 4a1e2bec2348e3aabb06840a7a4dbace
BLAKE2b-256 d25e640f53c54f79d540f75d511bd49a27035385d21418ef589d30bcdc21173d

See more details on using hashes here.

File details

Details for the file secsgem-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: secsgem-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 398.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.0 Linux/6.5.0-1025-azure

File hashes

Hashes for secsgem-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e1b89d5d47239de86d9da9d103736a7a86b57d28746f166dca88348f1776f960
MD5 a21676baafa78830fa06b5d4d9234e6a
BLAKE2b-256 08f55a2d32db683bb05db87ec251801d3177fa7f95f248d0de8064b358d124a0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page