Все публикации с тегом “Twisted”

Играемся с twisted.plugins

Продолжаем тему плагинов. Сегодня разговариваем о системе плагинов в Twisted.

продолжить чтение

Развертываем WSGI приложение…

Статья, обобщение которой войдет в доклад для RuPyRu2007.

Итак, вопрос развертывание WSGI-приложений. Тема, а особенно на русском, не особенно развита. Краткий обзор решений.

продолжить чтение

Twisted 2.5 готов

Сегодня обновляя Twisted с svn, заметил, что поменялась версия с 2.4.0 на 2.5.0. Это означает что фактически Twisted-2.5 готов. Да, новости на еще нет и в twisted-python всё тихо, но фактически релиз близок. Я думаю, разработчики еще скажут о новых возможностях Twsited, однако что я уже заметил по сравнению с 2.4:
  • К уже существующим схемам развертывания Twisted-приложения добавилась новая — “безтапочная”. Я уже говорил об этом. Хотя бы ради этого следует использовать 2.5 вместо 2.4
  • По изменениям в коде, вроде как улучшили поддержку различного типа реакторов (epoll, kevent, CFRunLoops)
Что касается обратной совместимости, то вроде всё в порядке. По крайней мере, в своих (двух) проектах я не заметил проблем. В любом случае, ждем официального анонса Twisted-2.5.Однако хотелось бы предостеречь поклонников Twisted от преждевременной радости. Дело в том, что смена версии в первую очередь касается Twisted Core. Все остальные компоненты увеличивают minor-версию на единичку скорее по инерции, чем по необходимости. Настораживает еще тот факт, что Twisted Matrix lab перестала выпускать release-версии (например, 2.4.1), а сразу меняет minor-версии (т.е. 2.4.0 на 2.5.0). С другой стороны, особых альтернатив Twisted нет (ни Medusa, ни Kamaelia не выглядят “аппетитно”), так что ждем-с.Upd: нашел в trac новые фишки Twisted-2.5 (помимо вышеупомянутых):
  • Добавлена поддержка Python-2.5
  • Подчищен старый (остатки от Twisted-1.3) код интерфейсов (с версии 2.0 используется zope.interface)
  • Добавлен протокол AMP (Asynchronous Messaging Protocol), эдакий “ответ XMLRPC от Twisted Matrix”
В общем и целом, 2.5 — “эволюционный” релиз Twisted, ничего принципиально нового добавлено не было.

Покрытие кода тестами

Юнит-тесты хороши, когда покрывают весь ключевой код. Однако если проект чуть больше, чем “Hello, world!”, то оценить степень покрытия весьма проблематично. Существуют инструменты, которые помогают это делать. Для Python я знаю два таких:
  • — каркас юнит-тестов, часть Twisted
  • — модуль Неда Бачелдера
продолжить чтение

Развертывание Twisted-приложения

Вот twisted-приложение написано, отлажено и готово к сдаче заказчику. Как же правильно развертывать twisted-приложение? Об этом я расскажу сегодня.

продолжить чтение