FreeOpcUa / python-opcua

LGPL Pure Python OPC-UA Client and Server
http://freeopcua.github.io/
GNU Lesser General Public License v3.0
1.32k stars 661 forks source link

[DEPRECATED LIBRARY] python-opcua is deprecated - please switch to opcua-asyncio #1475

Closed swamper123 closed 1 year ago

swamper123 commented 1 year ago

Hello together,

since issues or discussions are started here from time to time, I wanted to add another note here for future requests. No, it doesn't mean that you can't use python-opcua anymore, but since many things have been changed, fixed and updated it is recommended to switch. You can still make PRs and open issues, no problem, but keep in mind that bigger problems won't be fixed here anymore and (if it even exist in opcua-asyncio) be fixed there.

Cheers!

From README.md:

Please switch to : opcua-asyncio which also has a sync-wrapper, with very few changes in API**

PR to fix bugs to python-opcua are welcome, but if you want to write new fancy features or architectural changes, please look at opcua-asyncio

Why asyncio? because it makes code easier to read and safer(read: less chances for bugs) and since python is monoprocess it might even be faster. It is also a good timing to remove all Python2 code

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.

Most low level code is autogenerated from xml specification, thus adding missing functionality to client or server is often trivial.

coverage.py reports a test coverage of over 95 % of code, most of non-tested code is autogenerated code that is not used yet.