Pull to refresh

PyCon Russia 2021 пройдет 5-6 сентября. Принимаем заявки на доклады

Reading time 3 min
Views 977
IT-People corporate blog Python *Django *Big Data *Conferences

Этот PyCon Russia проведем в стиле (пост)апокалипсиса :) Предугадать события невозможно, но сейчас подготовка идет полным ходом: программа наполовину собрана, спикеры готовятся, огромная база отдыха на берегу Клязьменского водохранилища забронирована. Смотрите, какие темы ждем в этом году, успевайте подавать заявки и выступите на самой большой и душевной русскоязычной конференции питонистов.

Читать далее
Total votes 3: ↑3 and ↓0 +3
Comments 2

Открытый семинар: FastAPI, или как быстро добавить REST API для вашего проекта на Python

Reading time 1 min
Views 3.8K
Python *Programming *

9 декабря в 16:30 Виктор Бебнев (Xperience AI) прочитает открытый семинар на тему «FastAPI, или как быстро добавить REST API для вашего проекта на Python». 

Читать далее
Total votes 4: ↑3 and ↓1 +2
Comments 1

TechnoMeetsPython. Онлайн митап о Python-разработке

Reading time 2 min
Views 867
Python *Django *

27 апреля в 18:00 собираем питонистов на YouTube-канале «Технократии». Будем обсуждать Redis, FastAPI, SQLAlchemy и asynсio. Среди гостей Павель Мальцев из сервиса Speechki, а также Никита Архипов из Технократии. Также организуем круглый стол, за которым поговорим на тему «FastAPI vs Django. Останется только один?».

Подробнее
Total votes 2: ↑2 and ↓0 +2
Comments 0

Слёрм запускает 3-дневный интенсив по Python для инженеров и разработчиков

Reading time 2 min
Views 952
Southbridge corporate blog

24-26 июня пройдёт онлайн-интенсив для инженеров и разработчиков с опытом в Python. Вы научитесь создавать скелет веб-сервиса с фреймворком FastAPI, разберётесь в видах тестирования и поймёте, как писать под Ansible. 

Вы получите реальный опыт разработки и к третьему дню интенсива создадите полноценный цифровой проект коммерческого уровня.

Читать далее
Total votes 7: ↑6 and ↓1 +5
Comments 0

Почему Вы должны попробовать FastAPI?

Reading time 4 min
Views 98K
Python *API *
Sandbox

image Лого взято из Github репозитория FastAPI


FastAPI — относительно новый веб-фреймворк, написанный на языке программирования Python для создания REST (а если сильно постараться то и GraphQL) API, основанный на новых возможностях Python 3.6+, таких как: подсказки типов (type-hints), нативная асинхронность (asyncio). Помимо всего прочего, FastAPI плотно интегрируется с OpenAPI-schema и автоматически генерирует документацию для вашего API посредством Swagger и ReDoc


FastAPI построен на базе Starlette и Pydantic.
StarletteASGI микро-фреймворк для написания веб-приложений.
Pydantic — библиотека для парсинга и валидации данных основанная на Python type-hints.

Читать дальше →
Total votes 24: ↑24 and ↓0 +24
Comments 50

Знакомство с FastAPI

Reading time 5 min
Views 121K
Python *
Вместо предисловия

В нашей команде бытует хорошая практика фиксировать все изменения, которые отправляются в продакшен в гитхабовских релизах. Однако, не вся наша команда имеет доступ в гитхаб, а о релизах хочется знать всем. Так сложилась традиция релиз из гитхаба дублировать в рабочем чате команды в телеграме. Что хорошо, гитхаб позволяет с помощь маркдауна красиво оформить релиз с разделением на секции и ссылками на задачи, которые отправляются на выкатку. Что плохо, простым copy/paste всю эту красоту в телеграм не перенесёшь и приходится тратить время на довольно нудную работу по повторному оформлению релиза, но уже в телеграме. Ну а посколько программисты народ ленивый, я решил этот процесс автоматизировать.
 


Исходные данные:

  • Гитхаб умеет сообщать обо всём, что происходит в репозитории с помощью вебхуков
  • Вся необходимая для формирования релиза информация содержится в теле запроса, который кидает вебхук
  • Авторизация идёт через подпись запроса секретом, который проставляется в настройках вебхука

Соответственно, задача заключается в том, чтобы поднять HTTP API, который сможет принять POST запрос, проверить подпись, извлечь нужную информацию из тела запроса и передать её дальше по инстанции. Как тут не попробовать FastAPI, на который я давно глаз положил?


Кто такой FastAPI?


FastAPI — это фреймворк для создания лаконичных и довольно быстрых HTTP API-серверов со встроенными валидацией, сериализацией и асинхронностью,
что называется, из коробки. Стоит он на плечах двух других фреймворков: работой с web в FastAPI занимается Starlette, а за валидацию отвечает Pydantic.


Комбайн получился легким, неперегруженным и более, чем достаточным по функционалу.

Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Comments 58

Пишем веб сервис на Python с помощью FastAPI

Reading time 17 min
Views 74K
Python *Programming *
Tutorial
image

Знаю, знаю, наверное вы сейчас думаете «что, опять?!».

Да, на Хабре уже неоднократно писали о фреймворке FastAPI. Но я предлагаю рассмотреть этот инструмент немного подробнее и написать API своего собственного мини Хабра без кармы и рейтингов, зато с блэкджеком и с тестами, аутентификацией, миграциями и асинхронной работой с БД.
Читать дальше →
Total votes 24: ↑23 and ↓1 +22
Comments 27

Локальный видеохостинг. Часть 0. Определяемся с правилами

Reading time 1 min
Views 2.5K
Python *

Все мы любим кино, сериалы и прочие видосики в интернете. После не долгих размышлений, пришла идея написать небольшой и очень простой сервер с возможностью просмотра видео на разных устройствах.

Читать далее
Total votes 8: ↑0 and ↓8 -8
Comments 3

Разработчик популярного веб-фреймворка FastAPI — об истории его создания и перспективах аннотаций типов Python

Reading time 7 min
Views 9.4K
Маклауд corporate blog Open source *Python *Interview
Translation


Python-девелопер и писатель Рики Уайт взял интервью у Себастьяна Рамиреса, разработчика из Explosion AI. Но Себастьян не просто разработчик, это заметная фигура в open source сообществе, создатель популярных фреймворков FastAPI и Typer. В основном речь шла про широкие возможности применения аннотаций типов Python, историю создания фреймворка FastAPI и его дальнейшее развитие. Кроме того, Себастьян рассказал о своих планах по работе над другими open source проектами. Без лишних слов, давайте перейдем к интервью.

Рики: Спасибо, что пришёл, Себастьян. Сначала я бы хотел задать тебе те же вопросы, что и другим своим гостям. Как ты начал программировать? Когда познакомился с Python?

Себастьян: Спасибо, что пригласил [улыбается].

Я начал программировать, когда мне было пятнадцать. Я пытался создать веб-сайт для бизнеса своих родителей. Первым моим настоящим «кодом» был JavaScript внутри HTML — модальное диалоговое окно (alert) с фразой «Hello World». Я до сих пор помню, как обрадовался, увидев это маленькое окно с сообщением, и испытал чувство всемогущества от мысли, что это запрограммировал я.

Я много лет боялся изучать какой-либо другой язык, думая, что сначала должен «хотя бы» освоить JavaScript. Но потом на одном из многих онлайн-курсов, которые я проходил, возникла необходимость использовать Python для управления искусственным интеллектом в Pac-Man и для некоторых других задач. Курс состоял из одного длинного туториала по основам Python, и этого было достаточно. Мне очень хотелось попробовать.

Я быстро влюбился в Python и пожалел, что не начал раньше!
Читать дальше →
Total votes 32: ↑29 and ↓3 +26
Comments 0

Будущее аннотаций типов в Python

Reading time 8 min
Views 12K
Python *

Аннотации в Python прошли этап от необязательной, экспериментальной возможности добавления метаданных до широко используемого инструмента. Хотя изначально большинство разработчиков использовало их лишь для статического анализа кода (mypyPylance), некоторые энтузиасты нашли им применение и в период выполнения (runtime) программы (PydanticeforceFastAPI).

Однако перед релизом Python 3.10 разработчики этих библиотек забили тревогу, будущее использование аннотаций в период выполнения программы оказалось под угрозой.

Приглашаю всех, кому интересно будущее подсказок типов в Python, к прочтению данной статьи.

Читать далее
Total votes 26: ↑25 and ↓1 +24
Comments 16

Yappa: запускаем python web-приложения. Просто. Бессерверно. В Яндекс Облаке

Reading time 4 min
Views 8.6K
Python *Django *Flask *Serverless *
Sandbox

$ yappa deploy

Все. 

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

Читать далее
Total votes 8: ↑8 and ↓0 +8
Comments 8

Почему наш стартап переехал с Flask на FastAPI

Reading time 8 min
Views 21K
Конференции Олега Бунина (Онтико) corporate blog Datafold corporate blog Python *Programming *Big Data *

Как так оказалось, что стартап решил поменять стек? Это же затраты и все возникающие при этом сложности переезда. Но если хочешь получить короткий, эргономичный, хорошо читаемый код, приходится идти на жертвы. Но давайте по порядку.

Алекс Морозов, co-founder & CTO в компании Datafold, рассказал, как они переехали с Flask на FastAPI и поделился собственным опытом такого переезда. Это не только то, что пишут в документации, а конкретные проблемы, с которыми они столкнулись при переезде, и как они их обошли. На примерах посмотрим, что стоит сделать, а каких решений лучше избегать.

Читать далее
Total votes 24: ↑22 and ↓2 +20
Comments 8

Python микросервисы с Kafka без боли

Reading time 10 min
Views 23K
Python *API *Data Engineering *
Sandbox

В этой статье я бы хотел поделиться способом написания асинхронных микросервисов на Python, в основе которых библиотека Faust. А в качестве брокера сообщений Kafka. Ну и немного мониторинга с Prometheus и Grafana.

Читать далее
Total votes 23: ↑23 and ↓0 +23
Comments 7

Как настроить SQLAlchemy, SQLModel и Alembic для асинхронной работы с FastAPI

Reading time 9 min
Views 27K
Python *SQL *
Sandbox
Translation

В этом руководстве предполагается, что у вас есть опыт работы с FastAPI и Postgres с помощью Docker. Вам нужна помощь, чтобы ускорить работу с FastAPI, Postgres и Docker?

Читать далее
Total votes 5: ↑4 and ↓1 +3
Comments 7

FastAPI очень быстрый CRUD

Reading time 3 min
Views 13K
Python *
Sandbox

Всем привет это моя первая статья на habr надеюсь это будет кому-то интересно. На последнем проекте я как всегда делал какой-то REST API и вдруг меня посетила мысль что я что-то много копирую и вставляю одного и того же кода. И я решил почему бы не сделать генератор этого кода это оказалось не сложно.

Сразу оговорюсь что я использую https://github.com/tiangolo/full-stack-fastapi-postgresql и содержимое репозитория нужно положить в директорию backend/app/app что бы все заработало.

Думаю в чистом FastAPI проекте это тоже должно сработать.

По умолчанию в проектах этого типа есть два типа пользователей superuser и обыкновенный user соответсвенно CRUD будет создаваться относительно двух этих пользователей. Для генерации CRUD достаточно создать просто модель.

Читать далее
Total votes 28: ↑0 and ↓28 -28
Comments 19

Как написать генератор изображений, который вас понимает

Reading time 13 min
Views 22K
SkillFactory corporate blog Website development *Python *Programming *Machine learning *
Tutorial
Translation

Автор статьи рассказывает, как за неделю создал Text2Art.com — генератор изображений на основе VQGAN+CLIP, способный рисовать пиксель-арт и живопись, а также изображать то, что вы напишете в текстовом поле.

Для интерфейса используется Gradio, модель работает на сервере FastAPI, а системой очереди сообщений служит Firebase. Подробностями делимся к старту курса по ML и DL.

Читать далее
Total votes 16: ↑14 and ↓2 +12
Comments 22

Использование Ariadne и его интеграция c FastAPI и Starlette

Reading time 9 min
Views 2.8K
Website development *Python *Programming *

С недавнего времени в Starlette прекращена поддержка GraphQL. Так что если вы, как и мы, занимались разработкой сервиса на FastAPI, то обновления до последней версии Starlette вас неприятно удивили.

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

Читать далее
Total votes 3: ↑3 and ↓0 +3
Comments 2

AMP: шаблон личного кабинета на базе FastAPI

Reading time 2 min
Views 4.3K
Python *GitHub *Development Management *
AMP desktop view

Опубликовал в публичном доступе свой маленький проект AMP. AMP — это шаблон «админки» на базе FastAPI. В качестве ORM использую peewee, в шаблонах bootstrap и графическую библиотеку C3(на базе D4). В AMP существует механизм авторизации пользователей (это ж админка), группы пользователей, локализация (английский и русский языки), установка часовых поясов. В статье покажу Вам, как это выглядит с экрана десктопа, мобильного устройства, небольшое демо(видео), дам ссылку на репозиторий, ну и конечно отвечу на вопрос «К чему нам еще одна админка ?».

Читать далее…
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Comments 9
1