@@ -13,12 +13,12 @@ This library has also [sync wrapper](https://github.com/FreeOpcUa/opcua-asyncio/
## Motivation
The primary goal of opcua-asyncio is to create an asynchronous OPC UA client based on asyncio and remove hacks for support of python 2 and older python 3 versions.
opcua-asyncio is an asyncio-based asynchronous OPC UA client based on python-opcua, removing hacks for support of python < 3.6.
Asynchronous programming allows for simpler code (e.g. less need for locks) and potentially performance gains.
---
OPC UA binary protocol implementation is quasi complete and has been tested against many different OPC UA stacks. API offers both a low level interface to send and receive all UA defined structures and high level classes allowing to write a server or a client in a few lines. It is easy to mix high level objects and low level UA calls in one application.
OPC UA binary protocol implementation is quite complete and has been tested against many different OPC UA stacks. API offers both a low level interface to send and receive all UA defined structures and high level classes allowing to write a server or a client in a few lines. It is easy to mix high level objects and low level UA calls in one application.
Most low level code is autogenerated from xml specification, thus adding missing functionality to client or server is often trivial.
...
...
@@ -33,16 +33,15 @@ With pip
# Usage
We assume that you already have some experience with the asyncio module, the async / await syntax and the concept of
asyncio Tasks.
We assume that you already have some experience with Python, the asyncio module, the async / await syntax and the concept of asyncio Tasks.
## Client
## Client class
The `Client` class provides a high level API for connecting to APU UA servers, session management and access to basic
address space services.
The client can be used as a context manager. The client will automatically connect before the code inside the `with`
statement is executed. When your code leaves the `with` statement the client will disconnect. If you want to keep the
connection open (e.g. for listening to a subscription) you could write something like this:
statement is executed. When your code leaves the `with` statement the client will disconnect.
```python
fromasyncuaimportClient
...
...
@@ -56,28 +55,17 @@ async with Client(url='opc.tcp://localhost:4840/freeopcua/server/') as client:
Of course you can also call the `connect`, `disconnect` methods yourself if you do not want to use the context manager.