Introduction¶
Autobahn|Python is a subproject of Autobahn and provides open-source implementations of:
for Python 3.9+, running on Twisted and asyncio.
What is WebSocket?¶
WebSocket is a protocol for creating bidirectional, real-time communication channels between browsers (or other clients) and servers.
Unlike HTTP, which is request-response based, WebSocket provides:
Full-duplex communication
Low latency
Persistent connections
Efficient binary and text messaging
What is WAMP?¶
WAMP (Web Application Messaging Protocol) is an open standard protocol that provides two messaging patterns:
Remote Procedure Calls (RPC) - Call procedures on remote peers
Publish/Subscribe (PubSub) - Subscribe to topics and receive events
WAMP runs over WebSocket (and other transports) and provides:
Unified application messaging
Routed RPC and PubSub
Built-in authentication and authorization
Multiple serialization formats (JSON, MessagePack, CBOR, FlatBuffers)
Why Autobahn|Python?¶
Dual Framework Support: Works on both Twisted and asyncio
Complete Implementation: Full WebSocket and WAMP support
Production Ready: Used in production by many organizations
Well Tested: Comprehensive test suite and conformance testing
Active Development: Regular updates and improvements
Key Features¶
WebSocket Features¶
Client and server implementations
RFC 6455 compliant
Per-message compression (permessage-deflate)
Automatic ping/pong handling
Binary and text message support
WAMP Features¶
WAMP Basic Profile and Advanced Profile support
Multiple serializers (JSON, MessagePack, CBOR, FlatBuffers, UBJSON)
Authentication methods (Anonymous, Ticket, WAMP-CRA, WAMP-SCRAM, Cryptosign)
End-to-end encryption
Progressive call results
Call cancellation
Caller/publisher identification and disclosure
Next Steps¶
Installation - How to install Autobahn|Python
Getting Started - Quick start guide
Programming Guide - Detailed programming guides