Skip to main content

Bounded control and guard primitives for EML-style contract workflows.

Project description

eml-control

eml-control is a tiny pure-Python package of bounded control and guard primitives for EML-style contract workflows.

It is useful for synthetic traces, Inspector-style requested/safe output telemetry, kernel-contract examples, and internal course fixtures.

The package boundaries are listed below and apply to every example and API.

Install From Source Tree

python -m pip install .

CLI

eml-control --help
eml-control demo clamp
eml-control demo deadband
eml-control demo hysteresis
eml-control validate examples/control_contract.json
eml-control inspect-reflex examples/reflex_inspector_frames.jsonl

Python API

from eml_control import clamp_guard, deadband, hysteresis_switch

result = clamp_guard(requested=1.25, lower=0.0, upper=1.0)
print(result.safe_output)

Primitives

  • clamp_guard
  • deadband
  • hysteresis_switch
  • saturation_with_margin
  • proportional_step
  • first_order_response_step
  • bounded_pid_step

Robotics Reflex Inspector Bridge

The inspect-reflex command compares Inspector-style guard frames with eml-control clamp semantics:

eml-control inspect-reflex examples/reflex_inspector_frames.jsonl

The bridge checks that requested/safe output fields are present, pass-through frames remain inside bounds, and clamped frames match the configured guard limit. Missing telemetry fields produce warnings where possible. The fixture is a curated simulated subset of existing Inspector-compatible frames, not live hardware evidence.

All functions are deterministic and return structured ControlResult objects.

Boundaries

The package metadata includes explicit not_claimed text:

  • not certified safety
  • not production controller
  • not robot autonomy
  • not hardware validation
  • not firmware or FPGA behavior

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

eml_control-0.1.0.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eml_control-0.1.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file eml_control-0.1.0.tar.gz.

File metadata

  • Download URL: eml_control-0.1.0.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for eml_control-0.1.0.tar.gz
Algorithm Hash digest
SHA256 331f12cf3cf17aa62e0b9afc1bfebd3f8f52f091f3bc209ae62e39b301eea897
MD5 ed60bbbde6118164a48f9d211ccd0b3e
BLAKE2b-256 93cb21cfeb0f9161862603e1ef59e0f5642facd1b27f62704d3aa22c325858f1

See more details on using hashes here.

File details

Details for the file eml_control-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: eml_control-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for eml_control-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8b0abe8cb8d3534079582211228d2330e9139a0e81d7dee413a8f4c60d0a60ba
MD5 c5ad556ba1cf73c819f2aeaf0cbb4f93
BLAKE2b-256 f5d3228fef36063259f09622bc39fce63ef3281ae30facf7b57f009d928ecd72

See more details on using hashes here.

Supported by

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