- PVSM.RU - https://www.pvsm.ru -

Новые версии Flask и Werkzeug с поддержкой питона 3.3

Новые версии Flask и Werkzeug с поддержкой питона 3.3

Армин Ронашер опубликовал в своем блоге новость об обновлении [1] популярных веб-фреймоворков для питона: Flask и лежащего в его основе Werkzeug. Самым главным изменением стала поддержка питона 3 версии (начиная с 3.3 и выше). Также низкоуровнеый API Werkzeug был несколько изменен, чтобы с одной стороны реализовать поддержку спецификации из PEP 3333 [2], а с другой — не потерять в производительности. С новой версией теряется поддержка питона версии 2.5.

Если вы используете Werkzeug, то, с обновленной версией, возможно, придется повозиться. Что касается Flask — то тут все несколько проще, т.к. API не сильно изменился.

Важно заметить, что Flask и Werkzeug в определенном смысле несколько затянули обновлением, ведь наиболее популярные компоненты, составляющие стандартный стек фласк-приложения: шаблонный движок Jinja2 и ORM SQLAlchemy уже достаточно продолжительное время поддерживают питон третьей версии. К слову, в свое время, Армин критиковал [3] у себя в блоге слишком радикальные изменения языка, и довольно холодно отзывался о третьей версии.

Другие изменения

Werkzeug

  • Возможность отправки трейсбека ошибки из Werkzeug в приватный гист [4] на гитхабе.
  • Небольшие изменения в классах HTTP эксепшенов Werkzeug.
  • Улучшенная поддержка IRI, немного нарушающая соответствующие RFC. Это сделано чтобы реализовать парсинг существующих схем.
  • Множество вспомогательных функций, чтобы скостить разницу между PEP 333 [5] и PEP 3333 [2], а также поддержкой WSGI на версиях 2 и 3 версиях питона.

Flask

  • В Flask'е улучшен стандартный модуль json, чтобы объединить поддержку 2 и 3 версии питона, а также обеспечить различными впомогательными функциями. Он позволяет сериализовать распространенные объекты типа UUID или datetime-объекты.
  • Улучшена работа с видимостью контекста приложения. Теперь шаблоны могут быть отрендерены только из контекста приложения, и глобавльный контекст flask.g связан с ним. Это изменение упрощает работу, например с поддержкой подключения к БД не завязываясь на время жизни HTTP-запросов.
  • Улучшена согласованность обработки ошибок фремворком.
  • Добавлены параметры конфигурации JSON-сериализации. Например порядок ключей или «pretty-print» форматирование.

Текущие номера версий: Flask — 0.10, Werkzeug — 0.9.

И, для статистики, в силу постоянно растущей поддержки третьего питона различными крупными проектами, опрос (можно голосовать за несколько вариантов).

Автор: wronglink

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/python/36456

Ссылки в тексте:

[1] новость об обновлении: http://lucumr.pocoo.org/2013/6/13/werkzeug-and-flask-releases/

[2] PEP 3333: http://www.python.org/dev/peps/pep-3333/

[3] критиковал: http://lucumr.pocoo.org/2011/12/7/thoughts-on-python3/

[4] гист: https://gist.github.com/

[5] PEP 333: http://www.python.org/dev/peps/pep-0333/

[6] Источник: http://habrahabr.ru/post/183236/