Build one edge component. Deploy it natively across Greengrass, Host, and Kubernetes.
Docs | Core SDK | Component registry | Get started
EdgeCommons is the portable component SDK for industrial edge teams that want shared component contracts without flattening every deployment environment into one runtime.
Use EdgeCommons when you want to write component logic once, in Java, Python, Rust, or TypeScript, then deploy to the target that fits the site: AWS IoT Greengrass, a host process, or Kubernetes. Each target keeps its native lifecycle, packaging, operations model, and platform capabilities.
- A common component contract across Java, Python, Rust, and TypeScript.
- Built-in patterns for configuration, messaging, metrics, heartbeat, logging, credentials, parameters, and streaming.
- Templates and a CLI for starting components with the same operational shape.
- A registry-driven ecosystem of adapters, processors, sinks, bridges, services, and consoles.
| Repository | Purpose |
|---|---|
| edgecommons | Core libraries, CLI, component templates, config schema, and documentation site |
| registry | Machine-readable component catalog used by the CLI and this org profile |
Adapters — southbound protocol ingestion
| Component | Language | Protocol | Status | Deployment targets |
|---|---|---|---|---|
| camera-adapter | Rust | ONVIF / RTSP / GenICam | Experimental | Greengrass · Host · Kubernetes |
| ethernet-ip-adapter | Rust | EtherNet/IP (Allen-Bradley CIP; explicit polling + class-1 implicit I/O) | Experimental | Greengrass · Host · Kubernetes |
| modbus-adapter | Python | Modbus (TCP / RTU / RTU-over-TCP) | Beta | Greengrass · Host · Kubernetes |
| opcua-adapter | Java | OPC UA | Beta | Greengrass · Host · Kubernetes |
Processors — edge compute and stream processing
| Component | Language | Status | Deployment targets |
|---|---|---|---|
| telemetry-processor | Rust | Experimental | Greengrass · Host · Kubernetes |
Sinks — northbound delivery
| Component | Language | Status | Deployment targets |
|---|---|---|---|
| file-replicator | Rust | Experimental | Greengrass · Host · Kubernetes |
Bridges — site bus and namespace integration
| Component | Language | Status | Deployment targets |
|---|---|---|---|
| uns-bridge | Rust | Experimental | Host · Kubernetes |
Services — shared edge runtime services
| Component | Language | Status | Deployment targets |
|---|---|---|---|
| config-component | Rust | Experimental | Greengrass · Host · Kubernetes |
Consoles — edge operations and visibility
| Component | Language | Status | Deployment targets |
|---|---|---|---|
| edge-console | Rust | Experimental | Host · Kubernetes |
Tools — developer & operations utilities
| Component | Language | Status | Deployment targets |
|---|---|---|---|
| ec-secrets | Rust | Experimental | Host |
| ec-uns-cmd | Rust | Experimental | Host |
pipx install edgecommons
edgecommons list-components
edgecommons create-component -n com.example.MyAdapter -l PYTHONRead the full docs at docs.edgecommons.mbreissi.com. Building a component? Start with the org contributing guide.
