Can I just check something?
The implication from https://qpid.apache.org/download.html is that the Python Qpid Messaging API <https://qpid.apache.org/components/messaging-api/index.html> is Python2 only and that same page says "Look to the newer Qpid Proton <http://qpid.apache.org/proton> for Python 3 and AMQP 1.0 support.".

As I understand it Proton is purely for AMQP 1.0, correct?

So this all seems to be saying that there is basically no Python3 AMQP 0.10 client available - is that correct?

One fairly nice thing about the Qpid Messaging API was that it was quite a high level API with quite a few parallels with JMS and it was possible to use the same "Address Strings" which was quite handy if you had a heterogenous set of Java, C++ and Python client applications connecting to brokers.

It has been a while since I last looked, but Proton has always felt that bit lower-level.


I think having Proton as the only Python3 client is somewhat de facto implying that AMQP 0.10 support is being deprecated too. I know that there is a degree of heterogeneity in the brokers, so it's not quite as stark as that, but OTOH I think that the picture is maybe a bit confusing for people looking at AMQP and trying to make informed decisions between Rabbit, Apid, ActiveMQ, whatever.

As a concrete example of that last point I'm currently working on a project where I ended up using RabbitMQ because that was what other team members were familiar with. We're using Pika as the Python client, but I ended up writing a thin wrapper round that to make it look more JMS-like (and more like Qpid messaging). TBH part of the reasoning was also that I'd have quite liked the option to switch to Qpid which *should* have been fairly straightforward, but the lack of a Python3 Qpid Messaging style API makes that more of a PITA than it really ought to be TBH.

A nice asyncio based JMS-like API in the same vein as the JMS/Qpid Messaging APIs would be kind on nice, but ho hum

Regards,

F.

On 22/01/2021 18:43, Andrew Stitcher wrote:
Python 2 has finally been declared dead (as in unsupported) by its
upstream. And every platform that is widely used has a version of
python 3 available. From what I can tell a reasonable earliest version
of python would now be 3.6 as 3.9 is out and 3.10 is not too far off.

C++11 is now 10 years old pretty much and similarly every widely used
platform has a compiler with C++11 support.

[Yes, this is pretty much dictated by the recent withdrawal in support
of RHEL 6 which was the last OS which didn't have these things

We have already removed support for python 2.6 now that RHEL 6 is no
longer important - everything else has at least python 2.7.]

So I propose that the Proton 0.34 release is the last one that supports
python 2.7 and C++03. We will remove support for them and clean up
somewhat immediately after that release and move the minimum supported
versions as C++11 and Python 3.6 for release 0.35 and on.

Thoughts, sighs of relief, disagreement...?

Andrew



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to