IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте нас в Twitter


Новый материал в ленте
  psutil - 6.1.0

Модуль для управления процессами в ОС. Скачать можно по ссылке: https://pypi.python.org/pypi/psutil/


Python Дайджест. Выпуск 555

(29.07.2024 - 04.08.2024)

поделиться выпуском 
Дайджест python,

Статьи

  Быстрая оценка эффекта рекламы/события на ключевые показатели: Python + Causal Impact

Сегодня я хочу поделиться, пожалуй, самым простым и быстрым способом оценки эффекта рекламы/события на ключевые показатели. Способ заключается в использовании библиотеки pycausalimpact для Python.

  Как ускорить интеграцию API с помощью библиотеки и продвигать свои услуги

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

  История оптимизации Python сервиса: пара простых системных улучшений

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

  Как мы перешли с оффсетной пагинации на курсорную, или о проблемах динамической фильтрации

В процессе работы нашей команде пришлось споткнуться о проблему динамической фильтрации. Сначала мы получали данные, потом их фильтровали, но не знали, сколько отдадим в итоге. Для Звука и отдачи мета-информации эта проблема оказалась очень актуальной. 

  Опыт автоматизации рутины: подсчет спецификации при помощи python

Так случилось, что работал я инженером-проектировщиком в небольшой компании, занимающейся архитектурным освещением. Работа включала в том числе разработку узлов крепления светильников, что требовало, заодно, посчитать все элементы для этого требующиеся. Подсчет в редакторе таблиц без применения макросов меня решительно не устраивал. Найденные альтернативы были слишком громоздкими и/или платными. Так я и пришел к идее взяться за программирование и изобрести свой велосипед.

  Моржовый оператор := в Python

В Python 3.8 появился моржовый оператор (:=), который стал причиной бурных споров в сообществе. О нем и пойдет речь в этой статье. А начнем мы с истории о том, как моржовый оператор довел Гвидо ван Россума, создателя Python, до ухода с должности "великодушного пожизненного диктатора" проекта по разработке языка.

  Введение в MLflow

MLflow - это инструмент для управления жизненным циклом машинного обучения: отслеживание экспериментов, управление и деплой моделей и проектов. В этом руководстве мы посмотрим, как организовать эксперименты и запуски, оптимизировать гиперпараметры с помощью optuna, сравнивать модели и выбирать лучшие параметры. Также рассмотрим логирование моделей, использование их в разных форматах, упаковку проекта в MLproject и установку удаленного Tracking Server MLflow.

  Как оптимизировать аккумуляторную батарею

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

  Сводка от pythonz net 28.07.2024 — 04.08.2024

А теперь о том, что происходило в последнее время на других ресурсах.

  Создание меню/кнопок в pyTelegramBotAPI на основе SQL запроса

В данной статье планирую поделиться с вами своей наработкой, которая позволяет создавать меню и кнопки вашего Telegram бота на основе данных хранящихся в БД. Реализовывать все это будем на Python и нам потребуются библиотеки.

  Кастомные email-оповещения в Apache Airflow

Они должны собирать необходимую информацию на всех стадиях пайплайна, то есть в каждой из задач DAG'a, а в зависимости от успешного выполнения или при отклонении алгоритма, формировать тело email-сообщения. Например: в задаче происходит ошибка валидации данных и в этом случае должна сообщаться конкретная причина падения DAG. Информация должна быть полезной и понятной для бизнеса.

  HowTo: базовая геоаналитика

Хочу поделиться примером‑инструкцией как получить инсайты из геоданных без регистрации, смс (только open‑source и бесплатные инструменты: OSM, python, Портал открытых данных Правительства Москвы, DataLens). Как сделать так, чтобы дашборд не "умер" от количества точек и тяжелых полигонов, работал сравнительно быстро и давал пользователю представление общей картины.

  Создание полного Fast-API сервиса с фронтендом и деплоем за полчаса

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

  Различные вычисления, многопоточность, асинхронность и мультипроцессность в Python

Эта статья рассчитана на людей, которые уже знакомы с Python, хотя бы на уровне junior+. Я объясню, какие есть отличия и особенности в многопоточности, асинхронности и мультипроцессорности в Python, где и когда они используются. Как говорится в пословице: «Всё познаётся в сравнении», именно в таком стиле я подготовил примеры. Кроме этого, буду специально делать ошибки и рассматривать неправильные подходы, чтобы можно было сразу разобраться, убедиться и запомнить, почему так делать нельзя и какой другой подход в этом случае нужно использовать.

  Давайте сделаем крупное приложение на Flask (язык Python)

Я объединил все эти фичи в реальный проект с открытым исходным кодом, чтобы у вас сложилась целостная картина. Мы с вами создадим UX/UI на Figma, напишем фронтенд на HTML, CSS, SASS, Bootstrap и JavaScript, создадим ER-диаграмму в MySQL Workbench, напишем бекэнд на Flask, создадим регистрацию через социальные сети OAuth 2.0 в один клик, используем брокер сообщений и асинхронную очередь Celery для отправки писем на электронную почту, сделаем WYSIWYG-редактор, реализуем полнотекстовый поиск Elasticsearch, закешируем Redis, покроем тестами pytest и запустим в Docker-контейнерах, поговорим о многопроцессности для WSGI-шлюза Gunicorn.

Видео

  Разблокируй это! Что такое nogil?

Когда Python был совсем маленьким, мир был другим. Компьютеры были в большинстве своем одноядерными, а одновременная работа потоков невостребована. С тех пор железо сделало огромный шаг вперед, но Python остался прежним. Добавленный еще на заре языка GIL строго запрещал нам параллельную работу потоков, но из этого правила было много исключений и способов обхода, и такая ситуация устраивала всех. Почти всех. Нам предстоит вспомнить, зачем в наш любимый язык добавлена глобальная блокировка, как она работает, какие ограничения и способы их обхода у нас есть. Также мы обсудим самые горячие новости из мира python, а именно pep-703, принятый совсем недавно. Он обещает нам свободу от оков GIL, но сможет ли он нам её дать?

  Распознать за 3 секунды. Узнать автоответчик до тарификации

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

  Есть ли геймдев на Python?

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

  Чистый код: антипаттерны в питоне, и как с ними бороться

Код читают чаще, чем пишут. Каждая строчка, написанная нами и отправленная в "долгое плавание", будет прочитана — может, нашими коллегами, может, совершенно незнакомыми разработчиками. Поэтому код — это в том числе и время разработчиков, которые будут с этим кодом работать. Давайте сделаем этих людей чуточку счастливее! В докладе рассмотрим самые распространённые антипаттерны и ошибки на Питоне, как с ними бороться и, главное, как заставить компьютер помогать нам в этой борьбе.

  Аль Амин Ужахов. Как внутри работает Litestar?

На рынке постоянно появляются новые фреймворки, многие исчезают с радаров так же быстро, как и появились. Можно подумать, что не стоит даже задумываться об этом и искать альтернативы существующим решениям, пока они не появятся в требованиях вакансий. Но Litestar это совершенно другое дело. Это восходящий более быстрый конкурент FastAPI с сommunity-driven философией и кучей функциональности внутри (от кэширования до Dependency Injection и MessagePack), который определённо заслуживает вашего внимания.

  База, код и два стейджа: бета и прод

У долгоживущего проекта рано или поздно может возникнуть потребность проверки новых фич на группе пользователей до выкатки на всех. Как следствие, требуется одновременное существование разных версий приложения, работающих с одной базой данных. Расскажу, как мы в Яндексе решали эту задачу, а именно: В чём польза такого решения для бизнеса С какими техническими проблемами столкнулась команда в процессе перехода: на уровне БД и на уровне кода Какие решения применили и к чему это привело

  Распознавание данных по фото СТС

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

  Управление пакетами — хорошее, плохое, злое?

Экосистема пакетов Python существует очень давно, и в этом есть как плюсы, так и минусы. С одной стороны, мы имеем один из самых больших репозиториев пакетов на все случаи жизни. С другой — почти каждый месяц выходит очередной новый менеджер пакетов, который уж точно должен исправить все фатальные недостатки предыдущих, но получается не очень. Давайте взглянем на корни проблем и на качественные достижения, которые происходят в системе управления пакетами, а также пофантазируем на тему того, что будет дальше.

  Готовим спагетти для графа

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

  Pythonoкартография

Pythonoкартография, или как заставить беспилотный автомобиль соблюдать ПДД Рассмотрю кейсы использования Python для создания высокоточных карт (HDMap) в беспилотной технологии и как мы автоматизируем большое количество задач по оцифровке локаций SberAuotTech. Слайды: https://moscowpython.ru/meetup/91/python-mapping/

  Переиспользование go-шной библиотеки малой кровью.

В этом докладе будет рассказ о том, как ленивые разработчики не захотели писать и поддерживать один и тот же фукнционал на языках Golang и Python, и решили вызывать гошный код из питона. Какой подход обмена структурами можно использовать, если методы принимают и возвращают "сложные структуры"? Сильно ли отличается скорость выполнения нативной реализации на питоне от примененного подхода? Слайды: https://moscowpython.ru/meetup/91/go-in-python/

  Опыт обучения и прим. нейросетей.

Опыт обучения и применения нейросетей в качестве модуля российской DCAP системы.  Для анализа неструктурированных данных необходимо применять нейросети. Я хочу рассказать о проблемах, с которыми мы столкнулись при создании нейросетей, от этапа сбора и разметки данных и до создания нескольких микросервисов. Слайды: https://moscowpython.ru/meetup/91/neuro-for-dcap/

Релизы

  SQLAlchemy - 1.4.53

Библиотека работы с базами данных. Скачать можно по ссылке: https://pypi.python.org/pypi/SQLAlchemy/

  django-filter - 24.3

Django-приложение для гибкой фильтрации объектов модели (querysets). Скачать можно по ссылке: https://pypi.python.org/pypi/django-filter/

  django-taggit - 6.0.0

Приложение для поддержки тегов в Django. Приложение будет крайне полезно на сайте с новостями, которые необходимо помечать тегами, так же можно легко реализовать сортировку по тегам.. Скачать можно по ссылке: https://pypi.python.org/pypi/django-taggit/

  Sphinx - 8.0.2

Python генератор документации. Скачать можно по ссылке: https://pypi.python.org/pypi/Sphinx/

  aiohttp - 3.10.0

http клиент/сервер для asyncio. Скачать можно по ссылке: https://pypi.python.org/pypi/aiohttp

  redis - 5.0.8

Python клиент для Redis. Скачать можно по ссылке: https://pypi.python.org/pypi/redis/

  pip - 24.2

Утилита для управления модулями в Python. Скачать можно по ссылке: https://pypi.python.org/pypi/pip/

  Sphinx - 8.0.0

Python генератор документации. Скачать можно по ссылке: https://pypi.python.org/pypi/Sphinx/