Industrial IoT / SCADA · SDK / protocol

asyncua

FreeOpcUa

Integrate OPC UA systems with an asynchronous Python library.

Official documentationDownload development spec

Repository and documentation introduction disagree on Python minimum versions. Current repository says Python >=3.10; pin a release and verify its package metadata. Deprecated security policies are not recommended.

FREEOPCUA / OPCUA-ASYNCIO / DEVELOPER FIELD GUIDE

Choose an interface. Define a verifiable result.

Company or project context, ten technical entry points and a practical analysis of every reference.

2026-10-08 · Integration not tested

Company / project overview

Original summary of official company or project statements; use the source for the full original page.

FreeOpcUa / opcua-asyncio · About
Projectopcua-asyncio is the FreeOpcUa asyncio-based OPC UA client/server library for Python. It offers high-level objects, lower-level protocol structures and a synchronous wrapper.
Developer fitUseful for Python telemetry adapters, industrial test applications and custom OPC UA servers. The application owns event-loop behavior, trust configuration and data interpretation.
Complete official About page ↗
About reference — TA analysis
AudienceBuyers, partners and product owners shortlisting an AI provider.
Our assessmentUse positioning and company history for initial fit. Obtain project-specific deployment, support and commercial terms separately.

Official sources reviewed; no live API, inference or benchmark was run. Expected results are proposed internal contracts.

Top 10 technical entry points

Ten documented technical entry points selected by developer task; not ten separate SDKs or an official ranking.

Choose by the work you need to complete
InterfacePurpose and audience
01 · Async ClientAPI / SDK / developer guideConnect sessions and access remote services.Python integration developers
02 · Async ServerAPI / SDK / developer guideHost an OPC UA address space.Equipment simulator developers
03 · Node data accessAPI / SDK / developer guideRead DataValue metadata or node values.Telemetry adapter engineers
04 · Subscription and handlersAPI / SDK / developer guideMonitor data changes and events.Streaming telemetry developers
05 · Security policiesAPI / SDK / developer guideConfigure cryptographic policies and certificates.Secure OPC UA integrators
06 · Synchronous wrapperAPI / SDK / developer guideUse a synchronous facade over async operations.Existing synchronous Python application teams
07 · High availability clientAPI / SDK / developer guideManage non-transparent server redundancy.Redundant server integrators
08 · UA types and status structuresAPI / SDK / developer guideRepresent OPC UA typed structures.Protocol adapter authors
09 · CLI toolsAPI / SDK / developer guideUse command-line discovery, browse and data tools.Developers diagnosing OPC UA endpoints
10 · Minimal server tutorialAPI / SDK / developer guideCreate objects, variables and callable methods.Teams learning address-space construction

Reference analysis

Capabilities summarize official documentation. Constraints and proposed tests are our engineering assessment.

01

API / SDK / developer guide

Async Client

Async Client · TA
Target audiencePython integration developers
Documented capabilityConnect sessions and access remote services.
Input → outputEndpoint and credentials → client session/results.
Execution environmentPython asyncio.
Our decision constraintAwait operations and close sessions.
Our suggested validationVerify endpoint security and connection failure handling.
Official reference · Async Client ↗
02

API / SDK / developer guide

Async Server

Async Server · TA
Target audienceEquipment simulator developers
Documented capabilityHost an OPC UA address space.
Input → outputEndpoint/model configuration → running server.
Execution environmentPython asyncio process.
Our decision constraintDefault settings require deployment-specific review.
Our suggested validationCheck lifecycle cleanup and allowed user operations.
Official reference · Async Server ↗
03

API / SDK / developer guide

Node data access

Node data access · TA
Target audienceTelemetry adapter engineers
Documented capabilityRead DataValue metadata or node values.
Input → outputNodeId → value/status/timestamps.
Execution environmentClient or server Node object.
Our decision constraintBad status can raise; value-only reads lose metadata.
Our suggested validationPreserve quality and namespace identity.
Official reference · Node data access ↗
04

API / SDK / developer guide

Subscription and handlers

Subscription and handlers · TA
Target audienceStreaming telemetry developers
Documented capabilityMonitor data changes and events.
Input → outputNodes and handler → notifications.
Execution environmentAsync subscription callbacks.
Our decision constraintDo not block the event loop.
Our suggested validationSeparate silent healthy periods from disconnects.
Official reference · Subscription and handlers ↗
05

API / SDK / developer guide

Security policies

Security policies · TA
Target audienceSecure OPC UA integrators
Documented capabilityConfigure cryptographic policies and certificates.
Input → outputPolicy/key/certificates → secured channel configuration.
Execution environmentPython crypto support.
Our decision constraintBasic128Rsa15 and Basic256 are marked deprecated.
Our suggested validationReject untrusted certificates and incompatible policies.
Official reference · Security policies ↗
06

API / SDK / developer guide

Synchronous wrapper

Synchronous wrapper · TA
Target audienceExisting synchronous Python application teams
Documented capabilityUse a synchronous facade over async operations.
Input → outputBlocking-style call → wrapped result.
Execution environmentPython sync wrapper.
Our decision constraintChoose concurrency boundaries deliberately.
Our suggested validationMeasure blocking impact during later application tests.
Official reference · Synchronous wrapper ↗
07

API / SDK / developer guide

High availability client

High availability client · TA
Target audienceRedundant server integrators
Documented capabilityManage non-transparent server redundancy.
Input → outputHA mode and server URLs → selected serving client.
Execution environmentAsync HA manager.
Our decision constraintServers need aligned NodeIds, address space, service-level logic and time.
Our suggested validationTest failover data continuity; HA is not a zero-loss promise.
Official reference · High availability client ↗
08

API / SDK / developer guide

UA types and status structures

UA types and status structures · TA
Target audienceProtocol adapter authors
Documented capabilityRepresent OPC UA typed structures.
Input → outputPython/UA fields → NodeId, Variant or DataValue.
Execution environmentPython UA package.
Our decision constraintRetain explicit types rather than JSON-only assumptions.
Our suggested validationValidate integer ranges and namespace serialization.
Official reference · UA types and status structures ↗
09

API / SDK / developer guide

CLI tools

CLI tools · TA
Target audienceDevelopers diagnosing OPC UA endpoints
Documented capabilityUse command-line discovery, browse and data tools.
Input → outputCLI arguments → diagnostic output.
Execution environmentInstalled asyncua command-line environment.
Our decision constraintWrite/call tools can have equipment side effects.
Our suggested validationStart with authorized read-only diagnostics.
Official reference · CLI tools ↗
10

API / SDK / developer guide

Minimal server tutorial

Minimal server tutorial · TA
Target audienceTeams learning address-space construction
Documented capabilityCreate objects, variables and callable methods.
Input → outputNamespace and sample model → tutorial server.
Execution environmentAsync Python tutorial application.
Our decision constraintA tutorial configuration is not a production deployment checklist.
Our suggested validationReview variable write access and method arguments.
Official reference · Minimal server tutorial ↗

Documentation introduction

Documentation introduction · Supporting reference analysis
TATeams choosing Python support
Our validation adviceIntro still says Python 3.7+ while current repository says 3.10+; use the pinned package metadata as the installation authority.
Official reference · Documentation introduction ↗

04 / INPUT · EXPECTED OUTPUT · ACCEPTANCE

Expected results before implementation

Illustrative Python OPC UA adapter results; no endpoint connection, subscription or equipment write was performed.

Illustrative contract · no API call or model execution · not measured provider output

Metadata-preserving read

Expected behavior — illustrative, not executed
InputExample variable read via DataValue.
Expected resultInternal value=21.5 with type/status and nullable timestamps.
AcceptanceDo not label missing source timestamps as fresh telemetry.

Empty browse

Expected behavior — illustrative, not executed
InputSuccessful browse with no matching children.
Expected resultInternal status=empty, children=[].
AcceptanceBadNodeId or connection failure must remain errors.

Bad quality read

Expected behavior — illustrative, not executed
InputDataValue reports a bad status or read raises.
Expected resultInternal status=error with actual status/exception category.
AcceptanceDo not publish the last numeric value as healthy.

Subscription disconnect

Expected behavior — illustrative, not executed
InputConnection is lost after monitored items were established.
Expected resultInternal status=disconnected and stale=true; last value retained separately.
AcceptanceReconnect must revalidate session/subscriptions and avoid invented updates.

Map the expected result to your application

Map the actual SDK or service response into this proposed internal contract after integration. All IDs and values below are invented examples; no credentials or live requests are included.

Expected output JSON — illustrative, not measured · AsyncUA-expected-results.json
{
  "schema_version": "1.0.0",
  "example": true,
  "provider": "FreeOpcUa / opcua-asyncio",
  "status": "ok",
  "input_id": "sample-001",
  "data": {
    "node_id": "ns=2;s=Example.Temperature",
    "value": 21.5,
    "variant_type": "Double",
    "status_code": "Good",
    "source_timestamp": null,
    "stale": false
  },
  "error": null,
  "verification": "illustrative-only;not-provider-response"
}
Download specification, example and acceptance plan
Engineering handoff — our proposed contract and gates
Result interpretationSuccessful transport or execution does not establish model accuracy. Preserve valid empty results separately from operational failure.
ReproducibilityRecord model, runtime, configuration and input identifiers; agree quality and latency criteria before representative tests. No measured performance is claimed.
Operation boundaryIllustrative Python OPC UA adapter results; no endpoint connection, subscription or equipment write was performed.

Development assessment

Python equipment tag monitor

Development concept · integration not tested

Provider capabilities above are based on official documentation or repositories. The proposed product, inputs, deliverable and acceptance criteria below are our development assessment.

Integration pilot

Validate runtime, schemas or hardware together before estimating a deployable product.

Proposed inputs
A test device or simulator, a tag map and documented units.
Proposed deliverable
Timestamped device values with freshness, unit and connection state.
Acceptance criterion
Verify scaling and timestamps against the source; a disconnected device must not appear healthy.
Dependencies
A gateway or service account, an equipment schema and access to a test environment.

Integration condition

Repository and documentation introduction disagree on Python minimum versions. Current repository says Python >=3.10; pin a release and verify its package metadata. Deprecated security policies are not recommended.

Development sequence

  1. Confirm access to asyncua, license and the exact supported version.
  2. Prepare the sample above and implement one documented operation for “Python equipment tag monitor”.
  3. Normalize the result with source, time and explicit error state; keep the provider response for review.
  4. Run the acceptance criterion before estimating rollout effort or committing a customer deliverable.

How to validate demand

Record product views, documentation clicks, specification downloads and contextual hub clicks. These are event counts, not unique people or completed integrations.

This feasibility assessment uses implementation conditions. No traffic-based rank or delivery-time promise is assigned.

Related products