awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
aaugustin avatar

aaugustin/websockets

0
View on GitHub↗
5,692 stars·593 forks·Python·BSD-3-Clause·3 viewswebsockets.readthedocs.io↗

Websockets

websockets is a Python library for building WebSocket servers and clients using coroutines and the asyncio framework. It provides a complete toolkit for creating production-ready WebSocket applications, including a coroutine-based framework for handling connections, messages, and lifecycle events, as well as a client library for opening persistent bidirectional connections to remote endpoints.

The library manages the full lifecycle of WebSocket connections, including handshake, message exchange, and graceful closure, with support for path-based routing to organize server logic across multiple endpoints. It implements the WebSocket RFC 6455 protocol as a deterministic state machine, with automatic ping/pong keepalive to maintain connection health and a connection-level send queue with backpressure handling. The framework also includes a pluggable transport abstraction that separates TCP and TLS socket handling from the protocol logic.

For production deployment, websockets offers configuration for reverse proxies, Kubernetes, and cloud platforms, along with auto-reloading during development. It integrates with Django through an ASGI bridge, enabling real-time endpoints alongside traditional HTTP views. The library also supports broadcast messaging, multi-client state coordination, and includes a command-line interactive client for testing.

Features

  • Coroutine-Based WebSocket Frameworks - A coroutine-based framework for handling WebSocket connections, messages, and lifecycle events in Python.
  • WebSocket Clients and Servers - Open a persistent bidirectional connection to a remote server and exchange messages over it.
  • WebSocket Servers - Start a server that listens for WebSocket connections and handles messages asynchronously using coroutines.
  • Coroutine-Based Connection Handlers - Manages each WebSocket connection lifecycle within an async coroutine, enabling cooperative multitasking for message send/receive.
  • Connection Lifecycle Management - Manage the lifecycle of WebSocket connections, including handshake, message exchange, and graceful closure.
  • Protocol State Machines - Implements the WebSocket RFC 6455 handshake, framing, masking, and closure as a deterministic state machine.
  • WebSocket Message Exchanges - Send and receive text or binary messages through an open WebSocket connection using a simple send and receive interface.
  • WebSocket Clients - Provides a coroutine-based client library for establishing persistent bidirectional WebSocket connections.
  • Coroutine-Based Asynchronous I/O - Drives concurrent connections by awaiting coroutines on Python's asyncio event loop for non-blocking send and receive.
  • Asynchronous Event Loops - Drives concurrent WebSocket connections using Python's asyncio event loop for non-blocking I/O and coroutine-based handlers.
  • WebSocket Backends - Provides a complete coroutine-based WebSocket server and client library for real-time web applications.
  • Django ASGI Bridges - Bridges WebSocket connections into Django's ASGI interface, enabling real-time endpoints alongside HTTP views.
  • Application State Management - Provides a coroutine-based framework for managing and synchronizing application state across WebSocket connections.
  • WebSocket State Coordinators - Provides multi-client state coordination and broadcast messaging over WebSocket connections.
  • Connection-Level Send Queues - Buffers outgoing messages per connection with backpressure handling to prevent overwhelming slow consumers.
  • WebSocket Reverse Proxy Deployments - Provides configuration for reverse proxies and cloud platforms to deploy WebSocket servers reliably.
  • Server Configurations - Provides production-ready server configuration settings for reliable WebSocket deployment.
  • Broadcast Messaging - Ships a broadcast messaging capability to send messages to all connected clients simultaneously.
  • WebSocket Ping/Pong Keepalives - Maintains connection health by sending periodic WebSocket ping frames and awaiting pong responses with configurable timeouts.
  • WebSocket Path Routings - Direct incoming WebSocket connections to different handlers based on the request path, organizing server logic.
  • ASGI Bridges - Bridges WebSocket connections into Django's ASGI interface, allowing real-time endpoints alongside traditional HTTP views.
  • Path-Based Routers - Maps incoming WebSocket upgrade requests to handler coroutines based on the request URI path, enabling multi-endpoint servers.
  • WebSocket Routers - Maps incoming WebSocket upgrade requests to handler coroutines based on the request URI path.
  • Web Frameworks - Library for building WebSocket servers and clients with focus on correctness.
  • WebSocket Tools - Library for building WebSocket servers and clients.

Star history

Star history chart for aaugustin/websocketsStar history chart for aaugustin/websockets

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Websockets

Similar open-source projects, ranked by how many features they share with Websockets.
  • python-websockets/websocketspython-websockets avatar

    python-websockets/websockets

    5,692View on GitHub↗

    websockets is a Python library that provides both client and server implementations for the WebSocket protocol, enabling real-time, bidirectional communication between applications. At its core, it offers the fundamental primitives for establishing persistent connections, managing their lifecycles, and exchanging text or binary messages asynchronously using coroutines. The library distinguishes itself through comprehensive support for various messaging patterns, including broadcast messaging to all connected clients, targeted messaging to specific clients, and shared application state synchro

    Pythonpythonpython3websocket
    View on GitHub↗5,692
  • boostorg/beastboostorg avatar

    boostorg/beast

    4,801View on GitHub↗

    Beast is a C++ library for implementing low-level HTTP and WebSocket clients and servers. It functions as an asynchronous networking framework designed to compose non-blocking I/O operations and layered stream stacks for managing concurrent network traffic, specifically utilizing the Boost.Asio asynchronous model. The library provides a comprehensive implementation of the HTTP/1.1 and WebSocket protocols. For HTTP, it includes primitives for parsing and serializing messages with support for chunked transfer encoding, incremental body reading, and request pipelining. Its WebSocket implementati

    C++asioasync-programmingboost
    View on GitHub↗4,801
  • sta/websocket-sharpsta avatar

    sta/websocket-sharp

    6,067View on GitHub↗

    websocket-sharp is a C# library implementation of the WebSocket protocol used for building bidirectional client and server applications. It enables real-time data exchange between endpoints via persistent connections. The library provides specialized networking capabilities, including SSL encrypted networking for secure transport and certificate validation. It also features HTTP proxy tunneling to route traffic through intermediary servers using basic or digest authentication. The project covers a broad range of capabilities, including the implementation of both WebSocket clients and servers

    C#
    View on GitHub↗6,067
  • theturtle32/websocket-nodetheturtle32 avatar

    theturtle32/WebSocket-Node

    3,784View on GitHub↗

    WebSocket-Node is a server-side implementation of the WebSocket protocol for Node.js environments. It serves as a framework for establishing persistent, bidirectional communication channels and low-latency data exchange between clients and servers. The project provides a secure socket implementation using transport layer security and includes an integrated client for establishing outbound encrypted connections. It utilizes a formal protocol-state machine and an event-driven connection framework to manage high-concurrency network streams. The framework covers server-side infrastructure includ

    JavaScript
    View on GitHub↗3,784
See all 30 alternatives to Websockets→

Frequently asked questions

What does aaugustin/websockets do?

websockets is a Python library for building WebSocket servers and clients using coroutines and the asyncio framework. It provides a complete toolkit for creating production-ready WebSocket applications, including a coroutine-based framework for handling connections, messages, and lifecycle events, as well as a client library for opening persistent bidirectional connections to remote endpoints.

What are the main features of aaugustin/websockets?

The main features of aaugustin/websockets are: Coroutine-Based WebSocket Frameworks, WebSocket Clients and Servers, WebSocket Servers, Coroutine-Based Connection Handlers, Connection Lifecycle Management, Protocol State Machines, WebSocket Message Exchanges, WebSocket Clients.

What are some open-source alternatives to aaugustin/websockets?

Open-source alternatives to aaugustin/websockets include: python-websockets/websockets — websockets is a Python library that provides both client and server implementations for the WebSocket protocol,… boostorg/beast — Beast is a C++ library for implementing low-level HTTP and WebSocket clients and servers. It functions as an… sta/websocket-sharp — websocket-sharp is a C# library implementation of the WebSocket protocol used for building bidirectional client and… theturtle32/websocket-node — WebSocket-Node is a server-side implementation of the WebSocket protocol for Node.js environments. It serves as a… ithewei/libhv — libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP,… tootallnate/java-websocket — Java-WebSocket is a collection of classes for implementing WebSocket clients and servers using pure Java. It provides…