Питонические атаки
1.2K subscribers
183 photos
4 videos
1 file
459 links
Всяческие заметки про программирование на Python и другие весёлые истории.
Download Telegram
Люблю следить за состоянием экосистемы, поэтому вот результаты очередного опроса за 2020 год среди питонистов, проведенного PSF и JetBrains.

Радует, что доля Python 2 с каждым годом становится всё меньше.

FastAPI стал третьим по популярности веб-фреймворком после, ожидаемо, Flask и Django.

https://www.jetbrains.com/lp/python-developers-survey-2020/

#jetbrains #fastapi #flask
Flask готовится выпустить большое обновление. На данный момент уже доступна релиз-кандидат версия 2.0.0rc1. Судя по ченджлогу, это прям супер-крутой релиз. Обновляйтесь, пробуйте и отправляйте обратную связь разработчикам!

Из нового:
* прекращена поддержка Python 2, и благодаря этому в коде стали появляться тайп-аннотации;
* появилась возможность делать асинхронные хэндлеры.

Полный ченджлог: https://github.com/pallets/flask/blob/master/CHANGES.rst

Оригинальный пост: https://www.reddit.com/r/Python/comments/msbt3p/flask_20_is_coming_please_help_us_test/

#flask
NASA опубликовало список опенсорс зависимостей, которые использовались при разработке софта для Ingenuity — первого аппарата, взлетевшего не в земной атмосфере. Примечательно, что добрая часть этих зависимостей нам всем хорошо знакома — это самые обычные библиотеки на Python, которыми мы пользуемся постоянно, в том числе boto3, requests, attrs, Flask, и, конечно же, научный набор — numpy и scipy. GitHub в свою очередь раздал контрибуторам этих проектов бэйджи-ачивки. Такие бэйджи получило примерно 12 тысяч человек со всего мира.

Пост в блоге: https://github.blog/2021-04-19-open-source-goes-to-mars/
Список библиотек: https://docs.github.com/en/github/setting-up-and-managing-your-github-profile/personalizing-your-profile#list-of-qualifying-repositories-for-mars-2020-helicopter-contributor-badge

Иногда думается, что опенсорс нужен только для того, чтобы впечатлять рекрутеров зелёной стеной активности на гитхабе, но вот в такие моменты понимаешь, что это всё реально важно. Опенсорс движет человечество вперёд 🦾

#flask
Судя по списку библиотек, можно подумать, что Ingenuity — это веб-сервер с API на Flask, который при этом ещё и пользуется какими-то сервисами с AWS (S3?), попутно перемножая матрицы, перемалывая все известные форматы данных (JSON, YAML, TOML и XML), нарезая какие-то картинки. У всего этого есть тесты на pytest, а где-то сбоку ещё GUI на Tkinter. Логи складываются в ElasticSearch, который тоже лежит где-то неподалёку.

Казалось бы, как вот это может взлететь? Но ведь летает!

#flask
Как сообщают в чате, вышел мажорный релиз Flask 2.0 и других связанных с ним библиотек (Werkzeug, Jinja, Click, ItsDangerous).

https://palletsprojects.com/blog/flask-2-0-released/

* Python 2 больше не поддерживается;
* Добавлены тайп-аннотации;
* Можно делать асинхронные обработчики запросов;
* Добавлены удобные декораторы-шорткаты для объявления обработчиков запросов с разными HTTP-методами.

Пора обновляться! Ну, или хотя бы аккуратно начинать задумываться об обновлении.

#flask
This media is not supported in your browser
VIEW IN TELEGRAM
Мигель Гринберг — широко известный в кругах пользователей Flask автор библиотек, туториалов и статей — изобрёл ещё одну классную штуку под названием Turbo-Flask. Этот плагин интегрирует во Flask-приложение фронтендовую библиотеку turbo.js, которая слушает команды от сервера через WebSocket и обновляет части страницы динамически. Похоже, что в итоге можно сделать практически какую угодно динамическую логику на фронтенде, не написав ни одной строчки на JS. Если не учитывать того, что рендеринг всё-таки происходит на бэкенде, то выглядит это прям как настоящее SPA (Single Page Application).

https://blog.miguelgrinberg.com/post/dynamically-update-your-flask-web-pages-using-turbo-flask

#flask
А вот как обстоят дела с веб-фреймворками.

Что видно:
* FastAPI — самый прогрессивный. По очевидным причинам у него вообще нет пользователей на Python 2. Довольно много людей уже перешли на 3.9. Ветка 3.8 доминирует.
* Django тоже держится молодцом. Они всегда раньше всех отказываются от поддержки старых версий интерпретатора — например, у них в ветке main (это следующая мажорная версия фреймворка) уже поддерживаются только 3.8 и 3.9. Сообщество активно обновляется, поэтому тоже много установок с 3.8 и 3.9, но и более старые версии питона тоже все ещё много используются. На ветке 3.10 активнее всего тестируется именно Django (больше всего установок), так что к моменту релиза наверняка всё будет сразу же работать.
* У Flask и Tornado доминирует ветка 3.7.

#fastapi #flask
А ещё в этом году в списке питонячьих веб-фреймворков, наряду с Flask и Django, впервые появился FastAPI. И сразу же попал в рейтинг самых любимых фреймворков на третье место. По уровню восторга он конкурирует с гигантами из других экосистем. Он совсем чуть-чуть отстал от Svelte (JS) и ASP.NET Core.

#fastapi #flask
Веб-фреймворк Quart, который создавался как асинхронный Flask, присоединился к проекту Pallets.

Теперь у Pallets есть и WSGI, и ASGI микрофреймворк, а в итоге они в какой-то момент хотят слить их вместе. Думают над созданием универсальных плагинов, которые будут подходить к обоим фреймворкам.

https://palletsprojects.com/blog/quart-pallets/

#flask
Ещё в тему Flask. Зафиксировано невероятное: в большом популярном (75 млн установок в месяц) проекте нет открытых подвисших PR и issue. Ну не чудо ли?

#flask