Open-source

websockets — WebSocket-серверы и клиенты на Python

Обзор по документации проекта · Проверено

websockets — изображение проекта

websockets — библиотека для создания серверов и клиентов WebSocket на Python. Она ориентирована на корректность, простоту, надёжность и производительность.

Возможности и состав проекта

Библиотека построена на asyncio, стандартном фреймворке асинхронного ввода-вывода Python, и предоставляет API на основе сопрограмм. Также доступны реализации на основе threading и Trio, а также Sans-I/O слой для интеграции в сторонние проекты. Для ускорения операций используется расширение на C, предварительно скомпилированное для Linux, macOS и Windows.

Начало работы и требования

Установите пакет в поддерживаемую Python-среду и выберите API под приложение: asyncio, threading, Trio либо Sans-I/O. Начать можно с echo-примера README, затем отдельно настроить жизненный цикл соединений и обработку ошибок.

Ограничения и выбор сценария

Это библиотека WebSocket, а не полноценный HTTP-фреймворк: HTTP-возможности ограничены служебными задачами. Наличие C-расширения не гарантирует одинаковую скорость на любой системе. Лимиты сообщений, аутентификация, TLS и поведение при медленных клиентах требуют настройки приложения. Для нового приложения сначала определите способ конкурентной обработки: asyncio, потоки и Sans-I/O дают разные границы ответственности за соединения и сетевой ввод-вывод.

Лицензия и условия использования

GitHub определяет лицензию репозитория как BSD-3-Clause. Перед использованием и распространением проверьте полный текст LICENSE и отдельные условия зависимостей, данных или моделей: лицензия репозитория не заменяет их лицензии.

Источники и документация