Субъективно интересное из мира Python за январь-2023

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Раз в месяц мы в Moscow Python Podcast собираемся и обсуждаем новые релизы, PEP, заинтересовавшие нас инструменты и статьи. В этом выпуске для вас говорили Михаил Корнеев и Илья Лебедев.

Вы также можете посмотреть на нас:

Или послушать на платформах —  Apple Podcasts,  Google Podcasts, Spotify, Яндекс.Музыка, сайт подкаста

Асинхронный фреймворк Robyn с Rust-рантаймом

В одном из предыдущих выпусков подкаста нам задавали вопрос по поводу будущего Python-фреймворков. Рекомендуем посмотреть на Robin. Он показывает новые веяния в фреймворкостроении на питончике. 

Обычно, когда мы запускаем какой-то фреймворк, нам нужен WSGI/ASGI-сервер: Gunicorn, uWSGI или Uvicorn, например. У Robin этого нет. Сразу идет рантайм, написанный на Rust, который реализует WSGI-сервер. С помощью PyO3 он интегрируется с питоном и вызывает питоновские функции. Он делает разбор и роутинг запроса на Rust. И это работает быстрее чем в Python.

Пока Robyn не предназначен для продакшена. Во-первых, в нем нет того, за что мы любим популярные фреймворки: кучи модулей, которые делают практически что угодно, включая совершенно безумные вещи. Во-вторых, в команде сразу нужен будет человек, знающий Rust так же хорошо, как и Python.

Но посмотреть стоит. Детали тут.

PEP 703

Речь про возможность скомпилировать Python без GIL. Необязательный флаг компиляции — кажется разумный способ затащить GIL-версию, живущую отдельно, внутрь основной кодовой базы. И начать потихоньку с ней жить. От введения этого PEP,  если его примут, до реального отказа от GIL еще сто верст лесом. 

Однако, это решение даст потрогать noGIL версию Python тем, кому актуально. Это как минимум авторы библиотек. Они смогут собрать для себя версию без GIL и посмотреть, как оно вообще работает. Обычному разработчику от этого пока ни горячо, ни холодно. Те же юзкейсы в PEP описывают в основном проблемы датасаентистов. Почитать можно тут.

Релиз SQLAlchemy 2.0

«Алхимия» издревле была известна двумя вещами: 

  • Это что-то для олдов. 

  • А ее документацию как будто написали инопланетяне, и только потом кто-то перевел на английский. 

И тут такая новость. Во-первых, документацию переписали и она стала лучше (но впереди все равно еще большой путь). А в-главных, в Алхимии 2.0 куча новинок. Правда, коллеги рассказывают, что мигрировать на нее довольно болезненно. Много чего придется переписывать. 

А в остальном, прикиньте, data-классы в SQLAlchemy! Жаль, aiopg еще не поддерживается. Но будем надеяться, что вскоре нужный пул реквест будет вмержен. 

PEP 701

Думаю, многие сталкивались с тем, что внутри f-строки не получается впихнуть все необходимое. Теперь f-строки предлагают доработать, чтобы они жрали буквально все. 

Это прекрасный пример странной фичи. Для чего нужны f-строки? У тебя есть словарик и ты хочешь вывести: Hello, {first name}{last name}! По ключу вытащил last name, first name и был таков. В худшем случае, какой-то метод вызвал. А тут что? Люди начнут в f-строки запихивать все подряд, если им это позволить. 

Когда в f-строки пытаются запихнуть какое-то выражение, читать его становится тяжелее. А читабельность кода важна. Да, с точки зрения полноты языка и возможностей синтаксиса в доработке f-строк есть какое-то количество смысла. Но может быть подумать и над тем, чтобы выводить warning на уровне выполнения кода, если в строке много всего? 

Топ-10 библиотек для питониста в 2022 году

С 2015 года Tryolabs выпускают списки самых прикольных библиотек для Python. Неочевидно, как их выбирают. Вот очередной список, а вот его лидеры:

  • 1-ое место - Ruff, линтер на Rust

  • 2-ое место - python-benedict. Позволяет делать safe extraction. Не всегда очевидно, где и для чего применить. Но выглядит забавно. 

  • 3-е место - Memray. Это memory профайлинг, очень умный. 

Особенно порадовал Memray. Профилировать память приходится довольно редко. Но когда приходится, это не доставляет много радости. Появление еще одной удобной тулы это хорошо. 

Короткой сторокой

Два новых эпизода Moscow Python Podcast. В январе мы обсудили взгляд иностранного нанимающего менеджера на российских веб-разработчиков и как работать со звездными разработчиками.

В феврале готовим еще два эпизода:

  • про Python 3.12 — смотрите нас 10 февраля

  • про Copilot для Python-разработчика — выйдет в эфир 23 февраля. 

PEP 704требующий наличия виртуального окружения при установке пакетов. Смотря на то, что происходит с packaging в Python, расстраиваешься. Есть куча PEP, есть куча package-менеджеров и нет понимания, что такое хорошо, а что такое плохо. Вспомнить PEP о dunder packages, предлагавший, чтобы пакеты ставились а-ля mode models. Его типа приняли. Но есть только один или два package-менеджера, которые это поддерживают. И для чего это?

Malware в nightly-билдах Pytorchесли кто-то использует nightly-билды на проде, то кажется он сам выиноват. А в целом - не забывайте пинить зависимости и хэши, всегда проверяйте, тот ли пакет, который нужно вы ставите.

Python 2.7 убрали и из Debianскоро Python 2.7 останется только в Яндексе. Простите за сарказм. 

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Самая интересная новость за январь
0% Асинхронный фреймворк Robyn с Rust-рантаймом 0
25% PEP 703 1
25% Релиз SQLAlchemy 2.0 1
0% PEP 701 0
0% Топ-10 библиотек для питониста в 2022 году 0
25% PEP 704 1
25% Malware в nightly-билдах Pytorch 1
50% Python 2.7 убрали и из Debian 2
Проголосовали 4 пользователя. Воздержался 1 пользователь.
Источник: https://habr.com/ru/post/715646/


Интересные статьи

Интересные статьи

Штош. В этой статье я научу вас делать кроссплатформенное приложение генератор паролей с графическим интерфейсом. Мы будем использовать язык Python и библиотеку PySide6 - привязку к инструментарию фре...
Прим. перев.: в этом материале, опубликованном прошлой весной в блоге Dropbox, инженеры компании рассказывают о том, какие проблемы были у их монолита, жившего аж с 2007 года, что они предприняли для ...
Мы в Playrix с 2015 года перешли на систему, когда сотрудники могут сами выбирать, где им удобнее работать — в офисе или удаленно. Когда в прошлом году на дистанционную работу перешли все, уже имеющий...
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него. Читать дальше →
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.