Tool · Simulator

asyncua uaserver --populate

VendorFreeOpcUa (opcua-asyncio)
CostOpen source
PlatformsAny platform with Python (Linux, Windows, macOS)
TypeSimulator

asyncua ships a uaserver command that starts a demo OPC UA server, and its populate option fills the address space with sample nodes. It is the fastest way to get a local server for a client test: one pip install and one command, with no container runtime, installer or registration.

What you actually use it for

  • Getting any OPC UA server running in under a minute so a client test is not blocked.
  • Unit and integration tests in Python projects, where the server can be started and stopped from the test harness.
  • Teaching, where every participant needs a private server and the only shared prerequisite is Python.
  • Reproducing a client bug in isolation against a server you can modify in a few lines of Python.
  • Pairing with asyncua's CLI tools (uals, uaread, uawrite, uasubscribe, uacall) for a complete command-line loop.

Walkthrough

  1. Install asyncuapip install asyncua into a virtual environment. This gives you the server, the library and the CLI client tools together, so both ends of every test come from the same version.
  2. Start the demo server with a populated address spaceRun uaserver with the populate option to get a server with sample nodes. Note the endpoint URL it prints, including the port and path, and use that exact string in your client.
  3. Browse it from the command lineUse uals against the endpoint to list nodes, then uaread on a specific NodeId. Doing this before you write client code confirms that the server, the endpoint string and your environment are all sound.
  4. Exercise write and call pathsUnlike the read-only public servers, this one is yours. Use uawrite and uacall to test writes and method calls, including the failures: write the wrong type on purpose and read the status code you get back.
  5. Subscribe and watch the revised parametersuasubscribe gives you a quick subscription. Request an aggressive publishing interval and see what the server revises it to, so your production client learns to read the revised values rather than assume.
  6. Graduate to a scripted server when the demo model runs outWhen you need specific types, structures or a companion specification, write a small asyncua server that imports a NodeSet2 file. The CLI server is a starting point, not a modelling tool.

What it will not do

  • Generic sample nodes only: no companion specification semantics, no state machines, no realistic machine model.
  • Not a performance or scalability reference; do not use it to size a production server.
  • Alarms, conditions, historical access and PubSub coverage is limited or absent.
  • Security defaults are development-oriented; a client that connects here has not proven it can survive a properly secured server.
  • CLI option names have changed across asyncua versions, so a command from older documentation may not work.

Alternatives

Instead of thisWhen
microsoft-opc-plc-simulatorWhen you want a container in a pipeline rather than a Python process on a laptop.
umati-sample-serverWhen the test needs real machinery companion specification types.
prosys-simulation-serverWhen you want a GUI to create nodes and configure users and security interactively.
consolereferenceserverWhen you need reference-implementation behaviour rather than a convenience server.
Verify before you rely on this: The exact CLI names and options for uaserver and the client tools, and the minimum Python version, change between asyncua releases. Check the current project readme and the installed tool's help output for the correct flags rather than copying a command from older material, and confirm the library's licence terms before embedding it in a distributed product.

Last verified 7 September 2026 against OPC UA 1.05.07. OPC UA Connect is an educational resource and is not affiliated with the OPC Foundation.

Free download
OPC UA Server Acceptance Test Pack
A 40-check acceptance test you run against a vendor's server before commissioning sign-off. Weighted scoring, three hard gates, and a one-page verdict for the supplier meeting.
Get the free test pack →
Free, no course, no login