При поддержке Старлетт. Это async
объявление не является обязательным. Посмотреть документацию.
В результате вы получаете приложение ASGI с предустановленным производственным сервером статических файлов, шаблонами Jinja (без дополнительного импорта) и производственным веб-сервером на основе uvloop, автоматически обслуживающим запросы со сжатием gzip.
«Очень понравился питон-ответчик. @kennethreitz в своей лучшей форме». —Рудракш МК
«ASGI собирается предоставить все виды новых высокопроизводительных веб-сервисов. Приятно видеть, что Responder начинает этим пользоваться». — Том Кристи, автор Django REST Framework.
«Мне нравится, что вы исследуете новые модели. Давай, давай!» — Дэнни Гринфилд, автор книги «Два шарика Джанго»
Дополнительные сведения о функциях, доступных в Responder, см. в обзоре функций документации.
Установите самую последнюю стабильную версию:
pip install --upgrade 'responder'
Включите поддержку всех расширений и интерфейсов:
pip install --upgrade 'responder[full]'
Отдельные дополнительные возможности установки:
Или установите прямо из репозитория:
pip install 'responder[full] @ git+https://github.com/kennethreitz/responder.git'
Ответчик поддерживает Python 3.6+ .
Основная идея здесь состоит в том, чтобы привнести тонкости, почерпнутые из Flask и Falcon, и объединить их в единую структуру вместе с некоторыми новыми идеями, которые у меня есть. Я также хотел взять некоторые примитивы API, встроенные в библиотеку Requests, и поместить их в веб-фреймворк. Итак, здесь вы найдете много параллелей с запросами.
resp.content
отправляет обратно байты.resp.text
отправляет обратно Юникод, а установка resp.html
отправляет обратно HTML.resp.media
отправляет обратно JSON/YAML ( .text
/ .html
/ .content
переопределяет это).req.headers
dict (непосредственно из запросов).resp.status_code
, req.method
, req.url
и другие знакомые друзья. response.media
, и я использовал ее здесь. Помимо поддержки JSON, я решил также поддержать YAML, поскольку Kubernetes постепенно завоевывает мир и использует YAML для всего. Согласование контента и все такое.on_get
, on_post
и т. д. Falcon, Responder имеет метод on_request
, который вызывается при каждом типе запроса, во многом аналогично Requests.См. Песочницу разработки.