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

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


Новый материал в ленте
  Speeding Up Data Retrieval From PostgreSQL With Psycopg

Formatting and concatenating query result columns on the PostgreSQL side and then parsing them in Python might sometimes be faster than fetching the columns as separate values.


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

(03.07.2023 - 09.07.2023)

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

Статьи

  Сводка от pythonz.net 02.07.2023 — 09.07.2023

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

  Развлечения с хеш-коллизиями

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

  Пишем логи Python при помощи библиотеки Structlog

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

  Именованные цвета в tkinter

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

  Автопостинг ВК (VK) на python

У меня есть несколько групп в ВК, в которые нужно периодически публиковать посты. В целом мое желание можно описать фразой «А когда мне это делать, если я все время не хочу». Мотивация в моем случае это лень. Я не являюсь разработчиком, но решил набросать скрипт, который будет публиковать посты.

  Как сделать Telegram-бота для проверки аптайма своего сервиса на Python (ч.3 получение графиков через телеграм)

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

  CLI Tools Hidden in the Python Standard Library

There are several modules in Python that are directly callable from the command line, including the ability to gzip and pretty print JSON. This article introduces you to what is available and how Simon discovered them.

  Binance — python. Бот для крипто сигналов в Telegram, или как ошибка бывает удачной

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

  Встроенные фикстуры Pytest

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

  See and Tell: Сервис просмотра сериалов для слабовидящих

Весной 2023 года прошел хакатон MTS True Tech Hack, на котором был представлен кейс улучшения сервиса просмотра видео для людей с ограниченными зрительными способностями. Предоставить решение во время хакатона нам не удалось, но зато за следующие два месяца мы смогли закончить пилотную версию сервиса, помогающего слабовидящим людям лучше понимать происходящее на экране. В этом посте мы решили поделиться результатами и деталями проделанной работы.

  Семантическая сегментация на основе архитектуры U-Net и определение расстояния между объектами

Возвращаясь к бытовому применению нейронных сетей, изначально была идея усовершенствовать модель детекции свободного парковочного места из предыдущей моей статьи (Определение свободного парковочного места с помощью Computer Vision), сделать возможность сегментации дороги, тротуара и исключать из парковочных мест, автомобили, которые стоят на газоне (было несколько гневных комментариев на этот счёт).

  Оформляем красивые отчеты и приложения в Streamlit и запускаем в облака

Создаем красивый отчет или веб приложение на Python при помощи Streamlit и делимся им через облачный сервис с развертыванием через GIT.

  Первые шаги в импульсных нейронных сетях

Давайте попробуем немного разобраться в теме импульсных нейронных сетей (spiking neural network, SNN). Напишем простую импульсную нейронную сеть, используя только NumPy и Pandas, для классической задачи машинного обучения с использованием кодирования рецептивными полями.

  easypy – неизвестная библиотека для борьбы с boiler-plate на python

Если занимаетесь автотестами на python, часто работаете с многопоточностью и хотите уменьшить количество boiler-plate кода в ваших тестах – имеет смысл посмотреть на библиотеку easypy.  

  Binance API и Telegram бот с уведомлениями о сделках

Возникла задача сделать уведомления в Телеграм о сделках на Binance: открытие и закрытие позиций, текущий профит, баланс и прочее. Это актуально если кто-то или что-то торгует на вашем счете и вы хотели бы быть в курсе. Задача выглядела несложной - из Binance API забираем последние сделки и шлём в Телеграм - работы на пару часов. Но на практике это превратилось в квест на пару дней в котором 90% времени ушло на изучение особенностей работы с Binance API, их довольно странную логику и жесткие лимиты.

  Анализ данных по метеорологическим станциям с помощью Pandas

В статье будет рассмотрено решение задачи анализа открытых метеорологических данных сервиса meteo.ru Федеральной службы по гидрометеорологии и мониторингу окружающей среды. Анализ будет произведен в Jupyter Notebook при помощи Python библиотеки Pandas, а также будут сделаны выводы относительно того какие изменения произошли в климате за последние 50 лет в нашей стране.

  Fastapi 0.100.0-beta1: ещё быстрее

На прошлой неделе вышла бета-версия нового FastAPI 0.100-beta1, а это значит что? Правильно, пришло время performance-тестов!

  Unlocking Performance: A Guide to Async Support in Django

This guide provides valuable insights and practical tips for new and experienced developers to leverage async programming in Django for non-blocking operations, improved scalability, and enhanced responsiveness.

  Как сделать из Python-скрипта исполняемый файл

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

Вопросы и обсуждения

  The Real Python Podcast – Episode #163: Python Crash Course & Learning Enough to Start Creating

How much Python do you need to learn to start creating projects? What's a good balance of information and hands-on practice? This week on the show, Eric Matthes is here to discuss his book Python Crash Course.

Видео

  Moscow Python Meetup №82. Руслан Дудов и Хачатур Саркисян. Как мы ищем клиента за доли секунды.

Задача поиска людей по фото — это вычислительно сложная задача нечеткого поиска. Для решения этой проблемы используются биометрические вектора, которые извлекаются из фотографий с помощью нейронных сетей. Однако, даже два вектора, полученные из разных фото одного человека, не совпадают на 100%. Поэтому, в отличие от поиска на точное совпадение, эта задача на порядки сложнее. В докладе будет рассказано о том, как мы решили эту задачу и какие сложности пришлось преодолеть, учитывая жесткие требования по скорости ответа при высокой интенсивности запросов: - Оптимизация поиска похожих биометрических векторов: сравнение инструментов и выбор наилучшего подхода. - Как быстро загрузить базу клиентов в память модуля поиска: без C++ и перерасхода памяти. - Как можно искать ещё быстрее? Индексирование базы векторов: подходы и методы для многократного ускорения поиска. Доклад будет интересен не только тем, кто сталкивается с задачами нечеткого поиска по данным с большим количеством категорий, но и для разработчиков, которые заинтересованы в понимании особенностей работы Python при обработке больших объемов данных. Слайды: https://moscowpython.ru/meetup/82/client-search/

  Moscow Python Meetup №82. Максим Безруков. Виртуальное окружение по хардкору. Жизнь без pip.

Необычный case, когда твоя компания разрабатывает операционную систему и пакеты можно устанавливать только из репозитория. Никакого pip, poetry и пр. Как же сделать коробочку со всем необходимым (python, библиотеки и прочие зависимости и запустить сервис в systemd прямо из неё. Только pyenv, virtualenv и bash. Слайды: https://moscowpython.ru/meetup/82/virtual-env/

Релизы

  jsonschema - 4.18.0

Валидатор JSON данных. Скачать можно по ссылке: https://pypi.python.org/pypi/jsonschema

  Django - 4.2.3

Мощный web-фреймворк. Скачать можно по ссылке: https://pypi.python.org/pypi/Django/

  click - 8.1.4

Фреймворк для простого создания интерфейсов командной строки.. Скачать можно по ссылке: https://pypi.python.org/pypi/click/

  numpy - 1.25.1

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

  sentry - 23.6.2

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

  lxml - 4.9.3

Мощный и быстрый модуль для обработки XML/HTML. Скачать можно по ссылке: https://pypi.python.org/pypi/lxml/

  SQLAlchemy - 2.0.18

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