finds.dev← search

// the find

mitigate-dev/opcua-client-ruby

★ 5 · C · MIT · updated Feb 2023

Incomplete OPC-UA client library for Ruby

A thin Ruby wrapper around open62541, the C OPC-UA library, for reading and writing process variables on industrial PLCs and SCADA systems. The README literally says 'incomplete', which is accurate — it covers only string-named nodes and a handful of numeric types. For Ruby shops doing light industrial automation, it might be enough.

Bundles open62541 as a vendored C file so there's no system-level dependency to manage. The multi-write batch methods are a practical touch — writing 10 int32 values in one call matters when you're talking to hardware. Subscription and monitored-item support exists, which puts it ahead of most Ruby OPC-UA attempts. Ships a working test server in C++ so you can run specs without real hardware.

Last touched February 2023 and open62541 has shipped multiple releases since then, including security fixes — the vendored open62541.c is frozen in time. Node addressing is string-only; OPC-UA also uses integer and GUID node IDs, both common in real deployments, and neither is supported. No authentication beyond anonymous connections — no username/password, no certificate-based security, which is a hard blocker for anything beyond a lab bench. Five stars and named 'incomplete' by its own author: this is a prototype someone put on GitHub, not a production library.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →