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

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

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

(30.01.2023 - 05.02.2023)

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

Статьи

  Обучите YOLOv8 на пользовательском наборе данных

Ultralytics недавно выпустила семейство моделей обнаружения объектов YOLOv8. Эти модели превосходят предыдущие версии моделей YOLO как по скорости, так и по точности в наборе данных COCO. Но как насчет производительности на пользовательских наборах данных? Чтобы ответить на этот вопрос, мы будем обучать модели YOLOv8 на пользовательском наборе данных. В частности, мы будем обучать его на крупномасштабном наборе данных для обнаружения выбоин.

  Python Дайджест: как обновиться с Python 3.4 до Python 3.11, если pip уже сломан

Python Дайджест собирает IT-новости уже 9 лет, рассказывает о концепциях, проектах, релизах. Кодовая база за это время мало изменилась и уже деградировала. Более 5 лет не хватало сил и времени, чтобы привести проект в актуальное состояние. Django с 1.9 обновилась уже до 4.1 версии, Python 3.4 не актуален, да даже обновить пакет через pip не получается, потому что сломан. В 4 частях расскажу от первого лица, как 9-летний проект из состояния outdated вернулся в actual состояние и снова набрал 100 баллов в PageSpeed. Начну с обновления до актуального Python и Django.

  Способы кодирования категориальных данных

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

  Бинарники из Python-файлов: Nuitka-компилятор, обзор и небольшое исследование

Я хочу показать, как компилировать бинарные модули расширения (.so) из python-файлов, чем они будут отличаться и как с ними работать. Делать это мы будем при помощи компилятора Nuitka. Он наиболее известен тем, что с его помощью можно создавать исполняемые файлы (.exe) для Windows. Однако, кроме того, он позволяет создавать и бинарные модули python. Всех, кому это интересно, прошу под кат.

  История одного соседа

Однажды, зайдя в чат дома между катками доты, я увидел бота, который дает возможность кикать пользователей путем голосования в чате. Нехитрое изобретение. Решив повторить тогда я впервые познакомился с Telegram Bot API. В частности с библиотекой telebot. И тут первое что хотел бы отметить. На момент написания того самого первого бота, в данной библиотеке использовалась функция polling(), для поддержки бота в сети при простое. Однако она была не идеальной и через буквально 10 минут простоя бот всё же полностью терял соединение и не принимал запросы.

  Встраиваем распознавание документов от Smart Engines куда угодно за пять минут

За всё время мы тысячу раз сталкивались с запросом “дайте какое-нибудь простое решение с API, которым нам можно было бы пользоваться”. Дело, конечно, хорошее, но функциональность у нашей системы очень богатая. Единый API, который подходил бы всем нашим заказчикам со своими разными задачами и разными сценариями использования, был бы переусложнен. В этой статье мы покажем пример того, как с помощью Docker, Python и нашего SDK самому реализовать простейшее решение для распознавания документов. 

  [Перевод] Скучный Python: качество кода

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

  Интерпретируемость в медицине

Так совпало, что я недавно прочёл статью Transparency of deep neural networks for medical image analysis и пост от канала Reliable ML про интерпретируемость. Я работаю в сфере медицины уже почти пять лет, и всё это время постоянно где‑то на орбите внимания мелькает эта тема.

  Фильтрация и пагинация в FastAPI

Недавно столкнулся с задачей написать фильтрацию на FastAPI, пошёл гуглить и нашёл замечательную библиотеку fastapi-filter, которая сильно упрощает задачу. О ней в этой статье и пойдёт речь, а также заодно покажу простой способ пагинации без библиотек.

  5 лайфхаков Python, которые сделают ваш код более читабельным и элегантным

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

  Создаем библиотеку теории игр на питоне: структура классов и их взаимодействие

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

  Python⇒Speed: Don't bother trying to estimate Pandas memory usage

You have a file with data you want to process with Pandas, and you want to make sure you won’t run out of memory. How do you estimate memory usage given the file size? At times you may see estimates like these: “Have 5 to 10 times as much RAM as the size of your dataset”, or “several times the size of your dataset”, or 2×-3× the size of the dataset. All of these estimates can both under- and over-estimate memory usage, depending on the situation. In fact, I will go so far as to say that estimating memory usage is just not worth doing. In particular, this article will: Demonstrate the very broad range of memory usage you will see just from loading the data, before any processing is done. Cover alternative approaches to estimation: measurement and streaming.

  Привет Unicode! Или как компьютеры работают с символами

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

  Мини-гайд по погашению технического долга

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

  Git scraping: методика бесплатного хостинга не совсем статических сайтов

Ни для кого не секрет, что, используя GitHub Pages, вы можете бесплатно разместить свой статический веб-сайт в сети Интернет. 1 Гбайт доступного пространства, SSL-сертификат, возможность привязать собственный домен — разве не сказка? Но что делать, если вам необходимо, чтобы содержимое вашего статического ресурса периодически обновлялось?

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

  Python Bytes: #321 A Memorial To Apps Past

Очередной выпуск англоязычного подкаста Python Bytes

Релизы

  pylint - 2.16.1

Статический анализатор Python-кода. Изменения описаны по ссылке https://pypi.org/project/pylint/2.16.1/. Скачать можно по ссылке: http://pypi.python.org/pypi/pylint/

  scrapy - 2.8.0

Гибкий фреймворк для написания web-пауков (парсеров). Изменения описаны по ссылке https://pypi.org/project/scrapy/2.8.0/. Скачать можно по ссылке: https://pypi.python.org/pypi/scrapy

  pip - 23.0

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

  numpy - 1.24.2

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

  beautifulsoup4 - 4.11.2

XML/HTML парсер. Изменения описаны по ссылке https://pypi.org/project/beautifulsoup4/4.11.2/. Скачать можно по ссылке: https://pypi.python.org/pypi/beautifulsoup4/

  simplejson - 3.18.3

Простой, быстрый, расширяемый JSON кодер / декодер для Python. Изменения описаны по ссылке https://pypi.org/project/simplejson/3.18.3/. Скачать можно по ссылке: http://pypi.python.org/pypi/simplejson/

  Django - 3.2.17

Мощный web-фреймворк. Изменения описаны по ссылке https://pypi.org/project/django/3.2.17/. Скачать можно по ссылке: http://pypi.python.org/pypi/Django/

  SQLAlchemy - 2.0.1

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