Анонс Python digest: Pandas 2.0 и асинхронный агностицизм
Апрель 2023 порадовал мажорным обновлением Pandas, самой известной библиотеки для анализа данных. Ещё мы рассказали о трудностях дистрибуции Python-приложений в экосистеме macOS, способах запуска приложений в браузере с помощью PyScript и асинхронном фреймворке Textual.
Самая популярная библиотека для анализа данных обновилась до версии 2.0. Основным изменением стала интеграция с Apache Arrow. Это такой унифицированный формат хранения данных в памяти. Ранее Pandas использовал только библиотеку NumPy, которая была не всегда эффективной при работе с такими структурами данных, как DataFrame.
Если у вас нет компьютера от Apple, а вы пишете приложение с открытым исходным кодом на Python в каком-нибудь VSCode или PyCharm — вы столкнётесь с рядом сложностей при попытке распространить его в экосистеме Apple. Подводных камней в этом, казалось бы, простом процессе — множество. И вовсе не все они относятся к Python. Своим опытом и размышлениями поделился разработчик Глиф Лефковиц (Glyph Lefkowitz).
Проект PyScript начался с идеи «Было бы круто иметь возможность запускать код на Python прямо внутри браузера». Давайте возьмём Pyodide (портированный CPython), прикрутим к нему WASM и используем HTML в качестве интерфейса. Немного магии и мы получаем фреймворк для создания приложений на Python, которые будут работать везде, где есть современный браузер.
У асинхронности есть недостатки. По мнению эксперта по Python, Уилла МакГугана (Will McGugan), основная проблема асинхронности в том, что она имеет тенденцию бесконтрольного размножения в коде. Разработчики начинают использовать async для одного-единственного вызова или же ещё хуже. Некоторые добавляют async просто так, на всякий случай. Но паттерн async/await вовсе не единственная асинхронная техника. Существует ещё один интересный паттерн — «Await me maybe».
Детали и примеры кода вы найдёте в полной версии нашего дайджеста.