Over the past months I've been reworking the Qpid Proton Python support to only use the Qpid Proton Core library APIs and to do all IO with the built in Python facilities.
This work has been sitting in a PR [1] for a month now and I'm ready to merge it with the Qpid Proton master branch. I'll leave it a few days after this mail goes out for some more comments - after I merge it you'll have to raise a bug report if there is anything you don't like! Here is what I wrote in the PR: ' This is a reworking of the Python binding to Proton to avoid using APIs outside the Proton Core library. Thus the Python based reactive code has been rewritten so that the proton.reactor and proton.handler modules use only core APIs. Necessarily this is a large change to the Python binding code, but a lot of effort has gone into maintaining the existing proton.reactor and proton.handler APIs. However any code that relied on functionality of the Proton-C reactor APIs directly will no longer work as these APIs aren't available from Python any longer. One area that may be different and is still not 100% solid is in the area of error/exception handling. I think that you will get exceptions in the same cases as before, but they could very probably be different exceptions. It is also possible that some errors are handled differently. Please raise bugs for any differences/problems found. This code has been tested with the integrated tests and passes on Linux, MacOS and Windows on CI systems. Some tests (related to SSL/TLS) fail on some Windows systems, but the same tests fail previous to these changes on the the same systems - the failures don't seem due to these changes. The included python examples all run with this reworked binding. It has also been tested with the quiver benchmark tool and is broadly the same performance as the previous binding. Please try this with your Python code and let me know of any problems. ' Andrew [1] https://github.com/apache/qpid-proton/pull/173 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
