Twisted

Материал из ALT Linux Wiki


Twisted — это сетевой фреймворк, написанный на Python. Он поддерживает множество протоколов, имеет модули для создания web-серверов, чат-клиентов и серверов, почтовых серверов, ssh-серверов и т. д. Twisted состоит из подпроектов, каждый из которых развивается относительно самостоятельно. Здесь можно найти их список. Twisted лицензирован под MIT Free Software licence.

Особенности сборки Twisted в Сизифе

Twisted разбит на модули-составляющие и два псевдопакета.

Модули twisted:

  • python-module-twisted-core-doc — Documentation for Twisted Core
  • python-module-twisted-core-test — Unit tests for Twisted Core
  • python-module-twisted-lore — Twisted documentation system
  • python-module-twisted-mail — A Twisted Mail library, server and client
  • python-module-twisted-names — A Twisted DNS implementation
  • python-module-twisted-news — Twisted News is an NNTP server and programming library
  • python-module-twisted-runner — Twisted Runner process management library and inetd replacement
  • python-module-twisted-web2 — Twisted HTTP/1.1 Server Framework, programmable in Python
  • python-module-twisted-words — Twisted Words contains Instant Messaging implementations
  • python-module-twisted-core — An asynchronous networking framework written in Python
  • python-module-twisted-conch — Twisted SSHv2 implementation
  • python-module-twisted-web — Twisted web server, programmable in Python

Псевдо пакеты:

  • python-module-twisted
  • python-module-twisted-mini

Структура модулей в точности повторяет структуру подпроектов Twisted, за исключением проекта TwistedСore, который разбит на три части:

  • python-module-twisted-core-doc
  • python-module-twisted-core-test
  • python-module-twisted-core

Разработчики Twisted включают в свой фреймворк и GUI-утилиты, что создаёт некоторые неудобства: владельцы серверов, устанавливающие twisted ругаются на то, что он вытягивает за собой GUI-библиотеки и прочий ненужный на сервере софт. Неплохо бы выделить эти утилиты в отдельный под-проект, или научить наш rpm «мягким» зависимостям, но это задача для светлого будущего, а пока — от всех пакетов, включающих GUI-утилиты и как следствие тянущих за собой по зависимостям GUI-библиотеки, эти зависимости отключены. Два вышеупомянутых псевдопакета предназначены для варьирования типов установки twisted.

  • python-module-twisted-mini установит Twisted без зависимостей для работы с GUI.
  • python-module-twisted — это полная установка.

Итак, у вас три варианта: установить отдельные пакеты twisted, установить python-module-twisted-mini и получить «серверный» набор или «десктопный» вариант python-module-twisted.