crossbario

autobahn-python: Build WebSocket and WAMP Applications

A Python library for building asynchronous WebSocket clients and servers, plus WAMP applications with remote procedure calls and publish-subscribe messaging. It supports Twisted and asyncio and requires Python 3.11 or later.

Stars
2.5k
Forks
769
Stars, last 8 days
-1
Last commit
today
Contributors
100+

Our take

Activeregular commits and releases

Health score

79/100

How it is scored
Activity
79
Community
82
Issues
86
Pull requests
68

-1 stars in the last 8 days

  • Releases more often than 93% of the projects we track
  • Closes issues faster than 83% of the projects we track
  • More contributors than 77% of the projects we track

Autobahn|Python is an actively maintained option for Python real-time messaging, with frequent releases and contributions from a broad contributor base, though teams should verify its licensing and testing setup before adopting it.

Good fit if

  • Your Python application needs WebSocket communication or WAMP's routed RPC and pub-sub features.
  • You use Twisted or asyncio and can target Python 3.11 or later.
  • You want a project with recent commits and releases, and activity spread across many contributors rather than concentrated in one person.

Look elsewhere if

  • Your environment must support Python versions earlier than 3.11.
  • You need WAMP without operating or choosing a compatible router.
  • You require a clearly confirmed license from repository metadata before evaluating the code.
All health signals
Last commit2026-10-06 (today)
Commits, last 90 days41
Releases, last 12 months100+ (latest master-202610061538, 2026-10-06)
Contributors100+ (top contributor: 44% of commits)
Issues closed, last 90 days15 (typically closed in 0 days)
Project age15 years

Checked on 2026-10-06 with the GitHub API.

Overview

Autobahn|Python is a networking library for Python applications that need bidirectional WebSocket communication or WAMP messaging. WebSocket provides the connection; WAMP adds routed publish-subscribe events and remote procedure calls, so applications can exchange messages and invoke operations through a WAMP router.

It supports both Twisted and asyncio, making it relevant to teams building real-time clients and services in either ecosystem. WAMP requires a router, which can be Crossbar.io or another WAMP-compatible option.

Key Features

  • WebSocket client and server APIs, including message, frame, and streaming interfaces.
  • WAMP support for asynchronous remote procedure calls and publish-subscribe messaging.
  • Twisted and asyncio integration.
  • TLS support and WebSocket compression options.
  • WAMP serializers including JSON, MessagePack, CBOR, and FlatBuffers.
  • Optional WAMP authentication mechanisms, including cryptosign and SCRAM.
  • Optional native vector extensions for WebSocket masking and UTF-8 validation, described as alpha in the README.

Use Cases

  • Python service teams can use WebSocket clients and servers for live, bidirectional updates between applications.
  • Teams connecting distributed services can use WAMP when they need routed events and remote procedure calls over WebSocket.
  • Developers maintaining Twisted applications can add WebSocket or WAMP communication without switching frameworks.
  • Asyncio application developers can build real-time clients and servers using the same library's asyncio integration.

What you need

Detected in the repository

  • Python >=3.11 (from pyproject.toml)
  • Automated checks on GitHub Actions

Getting Started

Install the package with:

python -m pip install autobahn

See the README and documentation for framework-specific setup and examples.

License in Plain Words

No standard license was detected. Without a license, the default copyright rules apply: you may read the code, but not reuse it. Check the repository or ask the authors.

Alternatives

  • websockets: websockets focuses on WebSocket protocol support, while autobahn-python also provides WAMP RPC and publish-subscribe features.
  • tornado: Tornado is a broader Python web framework and networking library with WebSocket support, rather than a WAMP-focused library.
ProjectLanguageLicenseStarsStatus
autobahn-pythonPython–2.5kActive
websocketsPythonBSD-3-Clause5.7kActive
tornadoPythonApache-2.022.2kActive

Considerations

  • The current release line requires Python 3.11 or later, which may rule out older application environments.
  • WAMP is routed, so WAMP deployments need a compatible router in addition to this library.
  • The README describes NVX, its native acceleration feature, as alpha; teams considering it should treat it as unfinished.
  • The repository health data indicates active development, with commits and releases in the past year, and contributions from at least 100 contributors. It is not concentrated around one contributor. The measured issue data shows issues being closed recently, with a same-day median time to close.
  • GitHub reports the license as NOASSERTION, while the README claims an MIT license. Confirm the applicable license in the repository before adoption.
  • CI is configured, but the available project facts do not indicate that tests were detected.

Found this useful?

Share it with someone who would like autobahn-python.

Comparisons