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

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

     03.02.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Статьи

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

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

     03.02.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Статьи

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

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

     02.02.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Статьи

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

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

     02.02.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Статьи

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

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

     02.02.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Статьи

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.

     01.02.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Статьи

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

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

     01.02.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Релизы
     05.02.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Релизы

numpy - 1.24.2

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

     05.02.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Релизы

simplejson - 3.18.3

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

     02.02.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Релизы

pylint - 2.16.1

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

     02.02.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Релизы

scrapy - 2.8.0

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

     31.01.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Статьи

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

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

     01.02.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Релизы

SQLAlchemy - 2.0.1

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

     31.01.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Статьи

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

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

     01.02.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Релизы

Django - 3.2.17

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

     31.01.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Статьи

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

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

     31.01.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Статьи

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.

     31.01.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Статьи

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

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

     31.01.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Вопросы и обсуждения

Python Bytes: #321 A Memorial To Apps Past

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