Прощаемся с Python 3.6 и знакомимся с обновлённым NumPy

18 января 2022
Прощаемся с Python 3.6 и знакомимся с обновлённым NumPy

Шампанское выпито, оливье съедено. В этом году нас ждёт масса новинок, инструментов и обновлений безопасности. На связи Evrone, и мы отобрали для вас только самую полезную и важную информацию, чтобы сделать ваш день ещё интереснее, а процесс кодинга увлекательнее. Приступим!

Жизнь после Python 3.6 EOL

Всё течёт, всё меняется. Пятилетний жизненный цикл Python 3.6 завершился 23-го декабря 2021-го, значит его поддержка уже отсутствует во многих фреймворках и библиотеках. Никакие ошибки и критические уязвимости больше не будут исправляться в этой версии. Пора обновляться.

Имеет ли смысл выбрать версию 3.7? Увы, несмотря на то, что до EOL останется чуть более года — 3.7 много где убрали, причем давно. В том же Django поддержка 3.6 и 3.7 была удалена 11 месяцев назад. Так что вполне можно обратить внимание на актуальную версию 3.10, которая будет поддерживаться до осени 2026 года. Или более поддерживаемую библиотеками 3.9, в которой работа с временными зонами включена в состав языка.

Разумеется, с обновлением надо быть предельно внимательным и убедиться в том, что используемые сторонние зависимости станут корректно работать с новой версией Python и, при необходимости, решить потенциальные проблемы совместимости. Лучше потратить некоторое время и обновиться до актуальной версии, чем столкнуться с проблемами, решение которых повлечет за собой несоизмеримо большую трату ресурсов и потенциальные простои.

Подарочек от Санты — NumPy 1.22.0

За несколько часов до наступления 2022 года, когда все привычные дела были отодвинуты в сторону, было объявлено о выходе нового релиза популярной библиотеки NumPy, за номером 1.22.0. Это большое обновление включило в себя появление серверной части DLPack, позволяющей делиться массивами данных между разными фреймворками. Такой подход упростит использование одного и того же тензора в разных платформах глубокого обучения.

Сделан очередной шаг в сторону поддержки кода, легко переносимого между NumPy и основанными на нём библиотеками. Это только предварительная версия, предполагающая создание стандартной коллекции функций, которые легко можно задействовать в таких библиотеках, как CuPy и JAX. Ещё из нововведений — появление методов quantile и percentile, а также полного набора соответствующих им функций. Так что решать статистические задачи станет удобнее.

 

Эмулируем действия пользователя с помощью pyautogui

Новое — это хорошо забытое старое. Вернемся в далёкий 1997 год, когда вышла одна из первых крутейших MMORPG Ultima Online, фактически задав стандарты жанра. Прокачивать персонажа было очень интересно. Но сложно. Поэтому появились инструменты автоматизации, такие как UOPilot, который с помощью простейших скриптов позволял перемещать и кликать мышью, эмулировать нажатия клавиш и многое другое. Если вдуматься, то этот инструмент мог служить не только для создания ботов, но и для тестирования или автоматизации рутинных операций.

Библиотека pyautogui представляет собой отличную возможность автоматизации действий пользователя по такому же принципу, что и UOPilot, только в привычном Python. Она универсальна, работает в Windows, MacOS и Linux. Чтобы выполнять свою задачу в Windows она задействует WinAPI, в MacOS эксплуатирует CocoaAPI (через rubicon-objc), ну а в Linux, соответственно, X Windows System (через Xlib). Она проста для освоения и имеет неплохую документацию.

Что нас ждет в будущем релизе Keras 2.8

Когда мы слышим новости про Большой адронный коллайдер, то сразу представляем себе столкновения частиц, петабайты данных и потрясающий труд учёных. А ещё это использование открытой библиотеки для работы с искусственными нейросетями Keras, написанной на Python и представляющей собой надстройку над Tensorflow 2.

Keras даёт возможность высокоуровневого управления API Tensorflow 2 и позволяет построить нейронную сеть практически любого уровня сложности словно большой средневековый замок из кубиков Lego. Сейчас в репозитории приложения можно ознакомиться с изменениями, которые будут в релизе 2.8. Среди самых значимых:

  • новый слой для выполнения hashing trick;
  • изменения в слоях препроцессинга, в частности дополнительные режимы текстовой векторизации (standardize и split);
  • три новых API для генератора случайных чисел.

С полным набором изменений в Keras 2.8.0 RC0 можно ознакомиться в официальном репозитории проекта на GitHub.

Библиотека plotly.py обновлена до 5.5.0

Во многих проектах требуется визуально представить данных в виде графиков и диаграмм. Чаще всего эта задача решается универсальным инструментом визуализации, а именно библиотекой plotly.py. Изначально библиотека строится на JS, так что ключевым стало обновление plotly.js с версии 2.6.3 до 2.8.3.

Теперь можно использовать горизонтальные цветные полосы для визуального разделения разных графиков и диаграмм. У тепловых карт появился аргумент text_auto. Исправлены некоторые баги, такие как некорректное отображение значения y в гистограммах, а также добавлены новые атрибуты, например, texttemplate, textposition, textfont, textangle, outsidetextfont, insidetextfont, insidetextanchor, constraintext и cliponaxis. Также на Retina-дисплеях будет правильно работать масштабирование для Mapbox getView.

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

Django 4.0.1 стал безопаснее

В начале года вышло небольшое обновление фреймворка, направленное на исправление уязвимостей, одна из которых была достаточно неприятной, а именно CVE-2021-45115. Проблема была связана с увеличенными накладными расходами при валидации отправленного пароля, что потенциально открывало вектор атак типа DoS.

Остальные уязвимости имели меньший уровень угрозы, но тем не менее могли нанести некоторый ущерб. Также были исправлены некоторые баги, такие как сбой работы коллекций геометрии на ARM-платформах, например, на Mac M1.

Конкурсы для разработчиков

Онлайн

Ruby Quiz

до 28 февраля 2022

Хороший программист обычно знает несколько языков, так что предлагаем проверить себя в нашем новом квизе по языку Ruby.

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

Среди тех, кто правильно ответит на все вопросы мы разыграем приятные призы: Apple AirPods Pro, Яндекс.Станцию и увлажнитель от Electrolux.

Принять участие

Митапы

Онлайн

Python meetup

 19:00

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

Регистрация

Вакансии

Удаленка / Офис

Evrone 

Мы открыты для новых Python-разработчиков. Evrone работает удалённо с первого дня, участие в Open-source проектах оплачивается, а расти в грейдах можно с помощью честной системы проверки навыков и менторства.

Подробнее

Подписаться
на Digest →
Важные новости и мероприятия без спама
Технологии которыми вы владеете и которые вам интересны
Ваш адрес электронной почты в безопасности - вот наша политика конфиденциальности.