the WAMPv2 implementation in Autobahn|Python is approaching 80%.
I am excited that the original plan and design really works;)
Here is a sneak preview.
This is how WAMPv2 application code looks
Above contains an "application backend" and an "application frontend". The code should be self-explanatory.
Now, the cool thing is, you can run this in 2 ways:
Application backend runs embedded inside the server that also runs the WAMPv2 router (=Broker+Dealer).
Application backend runs as a _client_.
In both cases the frontend runs as a client.
And both variants with 100% _identical_ application code!
Also note, that this stuff can already run WAMP over WebSocket over TCP, Unix domain sockets and pipes.
In the near future WAMP will run over non-WebSocket transports as well. The machinery is totally there.
And it _already_ works with both JSON and MsgPack serialization.
Moreso: another goal is to make it work on both Twisted _and_ Asyncio.
I can't even count how many combinations of flexibility this boils down to;)