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

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


Новый материал в ленте
  coverage - 7.4.2

Утилита позволяющая измерить процент покрытия тестами. Скачать можно по ссылке: https://pypi.python.org/pypi/coverage/


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

(17.04.2023 - 23.04.2023)

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

Статьи

  Асинхронный файловый api-сервис

Идея написать данную статью родилась после моего фейла по разработке данного сервиса. Суть задачи была проста - написать сервер с базовыми методами сохранения и отдачи файлов и сервисными методами по специфичной обработке файлов. Обмен данными (тело запроса, возвращаемые данные) я реализовал через json, про асинхрон идею упустил. По началу всё было хорошо, файлы не превышали размер нескольких мегабайтов, методы использовались редко. Но буквально через пару месяцев размеры файлов стали измеряться десятками мегабайт, количество запросов сотни в минуту. Сервис стал тормозить, возникали ошибки совместного доступа к файлам. «Никогда Штирлиц не был так близок к провалу». В этом кейсе я покажу как я переписал код сервиса.

  Геопространственные технологий для управления паспортом медицинского участка

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

 

  Тайна исчезающих сообщений: зачищаем Telegram в автоматическом режиме

На фоне новостио датасатанисте, который "клонировал" своих друзей в цифровое пространство, обучив LLM на 500.000 сообщений в групповом чате (на самом деле не только, но причину каждый найдёт для себя сам), будем кормить паранойю и пошагово разбираться, как же уничтожить свой "цифровой след" в мессенджере Telegram.

  Пишем полезный сервис на Python для получении ИНН

В этой статье хочу рассказать о том, как написать полезный сервис, для получения ИНН по персональным данным (паспортные данные). ИНН физического лица получаем с использование сайта https://service.nalog.ru/. Похожая функциональность, скорее всего, уже где-то и кем-то была реализована. Основная идея статьи - поделиться опытом работы с Python в части создания законченного проекта с использованием контейнера зависимостей, создания слушателей для RabbitMQ и работой с базой данных MongoDB. Работа с клиентами сервиса реализована через RabbitMQ в режиме непрерывного чтения очереди, отправкой результата в выходную очередь. Сервис будет жить в Kubernetes, что требует наличие liveness и readiness проб. Для этого используется веб-сервер.

  403, 404 или 405. Разбираемся со статусами во ViewSet’ах DRF

Идея делать нормальный REST на Django – утопия, но некоторые моменты настолько логичные и нет одновременно, что об этом хочется писать. Ниже история про то, как мы сделали ViewSet от GenericViewSet и пары миксинов в DRF, покрыли это все тестами и получили местами странные, но абсолютно обоснованные коды ответов.

Текст может быть полезен новичкам (или чуть более прошаренным) в Django, дабы уложить в голове формирование url’ов и порядок вызова методов permission-классов. Ну а бывалые скажут, что все это баловство и надо было использовать GenericApiView.

  Проверяем ветхозаветную историю происхождения человечества от Адама и Евы с помощью популяционной модели

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

  Создай своего ИИ-ассистента с помощью Streamlit

В последнее время эти ИИ, вроде ChatGPT, врываются прямо во все сферы. И вот благодаря увлечению Data Science можно использовать этих ботов, чтобы помогать людям, да ещё и пообщаться с ними на разные темы. ChatGPT действительно впечатляет. Он не только общается на разные темы, но еще и стихи сочинять умеет. Здорово, правда? Вот один из примеров, которые я получил недавно:

  Real-time аналитика в Учи.ру: как смотреть сложные метрики

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

  Как подключить платежную систему с Payments к Telegram

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

  Пакетное тестирование скоринговых моделей

Как проверить корректность расчета модели? Ну да, верно — скормить ей входные данные со строго определенными параметрами. Звучит не очень сложно, правда? А если факторов более полутора сотен? И часть из них оказывают влияние только при определенном взаимодействии с другими факторами? Такое количество вариантов входных данных вручную придется готовить не один день.

  Пишем простой ML веб-сервис на FastAPI

Данный туториал пошагово разбирает процесс создания веб-приложения для определения тональности текста на основе NLP-модели. Мы будем использовать модель из библиотеки Hugging Face Hub, но описанный подход подойдет для любой задачи машинного обучения. План:1. Загрузка и подготовка модели машинного обучения для использования в веб-сервисе.2. Создание веб-сервиса с помощью FastAPI.3. Изучение пользовательского интерфейса FastAPI для удобного ручного тестирования и демонстрации работы приложения.4. Написание автоматических тестов с помощью библиотеки pytest.5. Запуск приложения в Docker-контейнере.Код доступен на GitHub.

  Полезные TreeMap визуализации для MSSQL, Postgres и MySQL

Я очень люблю визуализации. Человек лучше всего воспринимает информацию через образы. Для трех часто встречающихся баз (MSSQL, Postgres и MySQL) я смастерил плагины к проекту Bell, хотя этот код на Python можно использовать и отдельно. Поэтому для каждой визуализации я буду в скобочках писать имя файла из репозитория GitHub - вы можете этот файл вытащить и использовать его отдельно от проекта (для этого нудны минимальные модификации).

Релизы

  psutil - 5.9.5

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

  sentry - 23.4.0

Мощная система логгирования и платформа агрегации ошибок. Скачать можно по ссылке: https://pypi.python.org/pypi/sentry/

  Pygments - 2.15.1

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

  django-cms - 3.11.2

Легкая в использовании и удобная для разработки CMS. Скачать можно по ссылке: https://pypi.python.org/pypi/django-cms/

  django-rosetta - 0.9.9

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

  pip - 23.1.1

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

  virtualenv - 20.22.0

Инструмент создания виртуального рабочего окружения. Скачать можно по ссылке: https://pypi.python.org/pypi/virtualenv

  selenium - 4.9.0

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

  SQLAlchemy - 2.0.10

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

  tornado - 6.3.1

Масштабируемый, не блокирующий web-сервер. Скачать можно по ссылке: https://pypi.python.org/pypi/tornado/

  numpy - 1.24.3

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