11 новых веб-фреймворков Python, которые могут стать популярными

вебфреймворки Python

Python считается одним из самых популярных языков для создания веб-сервисов. За его плечами как скорые, небрежные RESTful API, так и полноценные веб-приложения, обслуживающие миллионы пользователей. Работающие в данной сфере наверняка уже использовали некоторые популярные фреймворки для создания сайта — Django, Flask, Falcon, Tornado или CherryPy.

Содержание

За последние пару лет появилось довольно много неплохих фреймворков, и создается впечатление, что ветеранам скоро придется подвинуться. Новые веб-фреймворки используют свежий подход к решению проблем, делая акцент на производительности и выразительности API. Рассмотрим 11 новых веб-фреймворков Python, на которые вам стоит обратить внимание при создании следующего сайта.

Sanic Python Framework

Веб-фреймворк Python Sanic

Sanic позиционирует себя как веб-сервер и веб-фреймворк, созданный для быстрого запуска. Он позволяет использовать синтаксис async/await, добавленный в Python 3.5. По этой причине код не блокируется и отличается скоростью выполнения. Sanic использует uvloop и ujson, когда нужно помочь с производительностью, однако данные пакеты являются опциональными.

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

Установка Sanic

Пример Hello world на Sanic

Sanic на GitHub »

Starlette Python Framework

Веб-фреймворк Python Starlette

Starlette является легким фреймворком ASGI, что идеален для создания высокопроизводительных сервисов asyncio. Он может использоваться как самостоятельный фреймворк, так и как инструментарий ASGI. Поставляется вкупе с обширным ассортиментом инструментов, поддерживает WebSockets, GraphQL, внутрипроцессовые фоновые задачи, а также текстовый клиент, построенный на Requests Python.

Установка Starlette

Пример Hello world на Starlette 

Starlette на GitHub »

Masonite Python Framework

Веб-фреймворк Python Masonite

Masonite является веб-фреймворком Python, сконцетрированном на разработке. Он стремится соответствовать подходу «все включено». Это отличный инструментарий программиста с огромным количеством функционала и чрезвычайно растяжимой архитектурой.

У Masonite простой и выразительный механизм маршрутизации, несложная система миграции, что работает без всяких «танцев с бубном», а также отличный стиль Active Record ORM под названием Orator. Так же можете ознакомиться с Peewee ORM.

Установка Masonite

Masonite на GitHub »

Fastapi Python Framework

Веб-фреймворк Python FastAPI

FastAPI является современным, высокопроизводительным веб-фреймворком для создания API на Python 3.6+ основанный на подсказки типов Python. Создан поверх Starlette и является одним из самых быстрых и доступных фреймворков Python.

FastAPI базируется, а также является совместимым, с открытыми стандартами для API — OpenAPI (ранее известный как Swagger) и JSON Schema.

Установка FastAPI

Пример Hello world на FastAPI

FastAPI на GitHub »

Responder Framework Python

Веб-фреймворк Python Responder

Responder также основан на Starlette. При создании Responder главной идеей было совместить лучшие аспекты Flask и Falcon внутри одного-единcтвенного фреймворка.

У него есть встроенный статический сервер для продакшена, автоматические gzip-ответы, нативная поддержка GraphQL и встроенный клиент для тестов, использующий модуль Requests.

Установка Responder

Пример Hello world на Responder

Responder на GitHub »

Molten Python Framework

Веб-фреймворк Python Molten

Molten является минималистичным, расширяемым, быстрым и производительным фреймворком для создания HTTP API на Python. Molten автоматически проверяет запросы на соответствие с предопределенными схемами, гарантируя, что обработчики будут запускаться только при наличии правильного ввода.

Molten поддерживает промежуточное программное обеспечение на основе функций и внедрение зависимостей, а также включает пакет molten.contrib, что содержит различные функциональные возможности, которые обычно требуются API на практике.

Это могут быть файлы конфигурации, метрики Prometheus, ID запросоы, сессии, SQLAlchemy, шаблоны, вебсокеты и многое другое.

Установка Molten

Пример Hello world на Molten

Molten на GitHub »

Веб-фреймворк Python Japronto

Japronto является быстрым, масштабируемым, асинхронным HTTP инструментарием для Python 3.5+, интегрированным с конвейерным HTTP-сервером, базирующимся на uvloop и picohttpparser.

Он предназначен тех, кому важна скорость, внимательность к деталям и новые разработки. На данный момент нет особых новостей касательно разработки Japronto, однако о том, что проект заброшен, создатели также не сообщали.

Установка Japronto

Пример Hello world на Japronto

Japronto на GitHub »

Микро-фреймворк Python Klein

Klein — это микро-фреймворк для разработки веб-сервисов на Python. Klein отличается минималистичным API, что похож на Bottle и Flask. Стоит отметить, что он зависим от дополнительных инструментов вне стандартной библиотеки.

Причина в том, что Klein создан на широко используемых и хорошо протестированных компонентах, таких как Werkzeug и Twisted.

Установка Klein

Пример Hello world на Klein

Klein на GitHub »

Quart Python Framework

Микро веб-фреймворк Python Quart

Quart является Python ASGI веб-микрофреймворком. Он предназначен для того чтобы предоставить самый простой способ использования асинхронных функций в веб-контексте, особенно с уже существующими приложениями Flask.

Это становится возможным, благодаря тому, что Quart API является супер-набором для API Flask. Quart позиционирует себя в качестве полноценного веб-микрофреймворком. Он поддерживает HTTP/1.1, HTTP/2 и вебсокеты.

Установка Quart

Пример Hello world на Quart

Quart на GitHub »

BlackSheep Python Framework

Web-Framework Python BlackSheep

BlackShepp является асинхронным веб-фреймворком для создания веб-приложений Python, которые не блокируются и в основе которых лежат события. Вдохновлен Flask и ASP.NET Core.

BlackSheep поддерживает автоматическую связку значений с обработчиками запросов, задействуя аннотации типа или конвенции. Он также поддерживает внедрение зависимостей и имплементацию стратегий для обработки аутентификации и авторизации, используя внешние библиотеки.

Установка BlackSheep

Пример Hello world на BlackSheep

BlackSheep на GitHub »

Web-Framework Python Cyclone

Cyclone является веб-фреймворком, который реализует Tornado API в виде протокола Twisted. Идея в соединении элегантного и ясного Tornado API с циклами событий Twisted, что позволяет использовать огромное количество поддерживаемых протоколов.

Эта комбинация обеспечивает основу для создания гибридных серверов, способных очень эффективно обрабатывать HTTP, а также одновременно использовать электронную почту, ssh, sip, irc, причем одновременно.

Установка Cyclone

Cyclone на GitHub »