Python Community
11.5K subscribers
1.5K photos
125 videos
15 files
1.05K links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
PyTorch экономит память при обучении LLM и лучше использует GPU на Mac

OpenTeams рассказала о своём вкладе в PyTorch за 2026 год. Несколько изменений, которые пригодятся на практике:

- Меньше разрывов в `torch.compile`. Dynamo перестраивают по образцу внутренних механизмов CPython, чтобы он точнее обрабатывал обычный Python-код. Это сокращает ситуации, когда компиляция прерывается и выполнение возвращается в Python.

- До 4 раз меньше пиковой памяти на расчёте loss. В PyTorch 2.13 появился LinearCrossEntropyLoss: он обрабатывает данные частями, не создавая целиком огромный тензор оценок по всему словарю. Особенно полезно при обучении языковых моделей.

- Больше операций на GPU Apple Silicon. MPS получил нативные реализации дополнительных операций. По замерам команды, native_group_norm на M4 ускорился в среднем более чем в 10 раз.

- Экспериментальная компиляция комплексных вычислений. В PyTorch 2.14 комплексные операции можно разложить на операции с вещественными тензорами и передать существующим механизмам оптимизации.

Для PyTorch 2.15 также подготовлены поддержка Python 3.15 в `torch.compile` и API отдельных MPS-потоков. Они позволят отправлять работу в несколько очередей GPU на Mac.

https://openteams.com/engineering-blog/pytorch-year-in-review-2026/

@Python_Community_ru
Нововведения Python 3.15 превратили в игру: чтобы пройти дальше, придётся писать код.

whatsnewt - терминальный квест от Барри Уорсо. Вы просыпаетесь внутри интерпретатора и проходите 15 комнат с 18 головоломками, посвящёнными возможностям Python 3.15.

По пути встретятся ленивые импорты, frozendict, sentinel, распаковка в comprehensions, изменения типизации и другие нововведения.

Ответы запускаются в настоящем Python 3.15. Для заданий на типизацию используется pyrefly. Проверяется не только результат, но и способ решения: обойти новую конструкцию привычным циклом не всегда получится.

Внутри есть карта, инвентарь, подсказки за очки, ссылки на документацию и автосохранение.

Запуск через uv:


uvx --python 3.15 whatsnewt


Любопытная деталь: по словам автора, значительная часть игры написана совместно с Claude.

Хороший повод изучить релиз на практике: каждая новая возможность становится задачей, которую нужно решить самому.

https://pypi.org/project/whatsnewt/

@Python_Community_ru
🔥1
‍Генерировать видео и менять происходящее текстовыми командами прямо на ходу - одна из возможностей LongLive от NVIDIA.

Сейчас репозиторий объединяет четыре исследовательских проекта:

- LongLive 1.0 - интерактивная генерация длинных видео: пользователь меняет промпты по мере появления кадров.
- LongLive 2.0 — инфраструктура обучения и генерации с квантизацией NVFP4 и распределением вычислений между GPU.
- LongLive-Plug — перенос возможностей, полученных при дистилляции базовой модели, на совместимые производные модели без повторного обучения.
- Long-WAM — модели для робототехники, которые используют визуальную историю при выборе действий. Есть обучение, тестирование и демонстрации на реальных роботах.

Для каждого направления опубликованы код, документация и веса моделей. Можно скачать только нужный проект.

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

Репозиторий для тех, кто исследует длинные видеопоследовательности, интерактивные миры и обучение роботов.

https://github.com/NVlabs/LongLive

@Python_Community_ru
Вопросы на собеседовании Python Senior: 100 вопросов с ответами (2026)

Вопросы на собеседовании Python Senior с ответами: 100 вопросов и примеры кода — CPython, GIL, asyncio, метаклассы, типизация, производительность, Python 3.14.


https://uproger.com/voprosy-na-sobesedovanii-python-senior/

@Python_Community_ru
🐍 Когда стандартного `sqlite3` в Python становится мало, есть APSW.

Another Python SQLite Wrapper даёт доступ к полному C API SQLite из Python.

Что можно использовать:

• Виртуальные таблицы для подключения собственных источников данных.
• VFS для управления тем, как SQLite работает с файлами.
• Session API для записи и применения наборов изменений.
• Полнотекстовый поиск, JSON и передачу массивов через CArray.
• Синхронный код и поддержку асинхронных фреймворков.

Для обычных SQL-запросов встроенного sqlite3 часто достаточно. APSW полезен, когда нужны расширенные возможности SQLite и более глубокий контроль над движком.

Установка: pip install apsw

https://github.com/rogerbinns/apsw

@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
Python 3.15: что выведет lazy import? Задача с подвохом

Новая фича Python 3.15: lazy import (PEP 810). Импорт несуществующего модуля не падает при старте, а ошибка всплывает позже. Разбираем задачу с подвохом по шагам и показываем ограничения lazy. Сохрани, чтобы не ошибиться.

https://youtube.com/shorts/LorWGMBuokk?feature=share

@Python_Community_ru
‍OpenBMB выпустила две OCR-модели: одна распознаёт документы, другая проверяет, насколько результату можно доверять.

MiniCPM-OCR 1.0 – модель на 1,3 млрд параметров для китайских и английских документов. Обрабатывает текст, таблицы, формулы, графики и печати, преобразуя PDF и изображения в Markdown или JSON.

По данным команды, она набирает 93,68 на Real5-OmniDocBench и 54,7 на OCRBench v2. Поддерживает сложные снимки: перекошенные и изогнутые страницы, фотографии и повторно снятые документы.

MiniCPM-OCR Jev – проверяющая модель на 2 млрд параметров. Получает изображение и результат OCR, затем выставляет оценку качества от 0 до 1 для отдельных областей. Помогает находить текст, формулы и таблицы, требующие ручной проверки.

Jev работает и с другими распознавателями. На JevOCRBench её AUROC составляет 93,6 против 93,8 у Qwen3.5-397B-A17B. Это показатель различения правильных и ошибочных результатов, а не процент безошибочно распознанных страниц.

С ускорением DSpark авторы сообщают о пропускной способности в 1,49 раза выше PaddleOCR-VL-1.6 и в 3,62 раза выше MinerU2.5 Pro в своих тестах.

Доступны vLLM, SGLang, llama.cpp и Ollama, квантованные версии, SDK и инструкции по дообучению.

https://github.com/OpenBMB/MiniCPM-OCR

@Python_Community_ru
‍Разобраться в коде старой игры без исходников: retro-kit автоматизирует работу с Ghidra

Открытый инструмент помогает исследовать 32-битные игры примерно 1993–2010 годов: DOS-программы на Watcom C/C++ и Windows-игры в формате Win32 PE.

На выходе - C-подобный декомпилированный код, список функций, граф вызовов, строки и таблицы указателей. Это материал для анализа, а не восстановленный оригинальный исходник.

Что умеет retro-kit:

- Показывать имена методов DirectX, вызываемых через COM-таблицы.
- Распознавать библиотеки эпохи: Miles, Smacker, Bink, FMOD, BASS и другие.
- Восстанавливать сведения о C++-классах из MSVC RTTI.
- Переносить найденные имена функций между родственными версиями игры.

Есть MCP-сервер для ИИ-агентов: можно подключить Claude Code, исследовать функции и связи между ними, сохранять заметки и возвращать уточнённые имена в Ghidra.

Базовый запуск:


retrokit info GAME.EXE
retrokit analyze GAME.EXE


Понадобятся Ghidra 12.x, JDK 21+ и Python 3.10+. Лицензия - Apache 2.0.

https://github.com/nautilusbits/retrokit

@Python_Community_ru
Python выпустил внеплановые обновления безопасности: 3.15.1, 3.14.9 и 3.13.17. Причина – инцидент с сертификатами eMudhra / emSign.

Во всех трёх релизах встроенный pip обновлён до 26.2.2, включающего certifi 2026.10.19 с обновлённым набором доверенных сертификатов.

Для Python 3.13 сделали исключение: ветка уже перешла в режим исправлений безопасности, но разработчики выпустили специальное обновление с установщиками и новым pip.

Обновить сам Python недостаточно: команда отдельно просит обновить pip и uv во всех существующих виртуальных окружениях.

В анонсе приведена команда безопасного обновления pip по прямой ссылке на wheel с проверкой SHA-256.

Дополнительно установщики для macOS используют предварительную версию Tk, исправляющую возможное зависание приложений с tkinter, включая IDLE, на macOS 27.0.

https://blog.python.org/2026/10/python-3151-3149-31317/

@Python_Community_ru
🔎 Xiaomi открыла модель для разбора документов размером всего 0,8 млрд параметров

Xiaomi-OCR-0 объединяет распознавание текста, разбор структуры документа, извлечение ключевой информации и ответы на вопросы по содержимому.

То есть задача модели шире обычного «перепечатать текст с картинки»: она помогает превратить документ в данные, с которыми можно работать дальше.

По данным разработчиков:

- 95,24 балла на Real5-OmniDocBench.
- 83,2 балла в среднем на пяти тестах вопросов и ответов с опорой на распознавание текста.
- Первое место среди моделей меньше 1B параметров по качеству разбора документов на OmniDocBench v1.6.

В открытый доступ выложили веса, код инференса, интерактивное демо, MCP-сервис и Agent Skill. Последние два компонента позволяют подключать обработку документов к рабочим процессам ИИ-агентов.

Компактный размер делает модель интересной для собственной инфраструктуры. Но качество на конкретных сканах, языках и сложных таблицах стоит проверять отдельно: результаты бенчмарков не гарантируют точность на любых документах.

🤗 Huggingface: https://huggingface.co/xiaomi-research/Xiaomi-OCR-0
🔗 GitHub: https://github.com/xiaomi-research/Xiaomi-OCR-0
📄 Demo: https://huggingface.co/spaces/loongwayX/Xiaomi-OCR-0-demo #XiaomiAI #OCR #OpenSource

@Python_Community_ru
⚡ pyfastlogging- быстрый неблокирующий логгер для Python

pyfastlogging — Python-обёртка над fastlogging, где запись логов вынесена в фоновые потоки. За счёт этого основной код меньше блокируется на I/O.

Что умеет:

- thread-safe логирование
- несколько writers на один logger
- консоль, файлы, TCP, syslog и callbacks
- ротация и сжатие логов
- AES-шифрование сетевого логирования
- multiprocessing и threads
- конфигурация через JSON, XML и YAML
- экспорт логов в OpenTelemetry по OTLP/HTTP

Установка:


pip install pyfastlogging


python
from pyfastlogging import TRACE, Logging, ConsoleWriterConfig

logger = Logging(
TRACE,
"main",
[ConsoleWriterConfig(TRACE, True)],
)

logger.info("Hello")
logger.shutdown()


Поддерживается Python 3.10+. Актуальный релиз - 0.9.0, лицензия - MIT OR Apache-2.0. PyPI
Хороший вариант для сервисов, где обычное логирование уже начинает влиять на latency.

https://pypi.org/project/pyfastlogging/

@Python_Community_ru
‍👾 Русскоязычный каталог из 2118 проектов по декомпиляции игр: от Ocarina of Time до Xbox 360

На GitHub появился awesome-список, собранный на русском: проекты, которые восстанавливают игры из машинного кода. Это декомпиляции, статические рекомпиляции, порты на исходниках и ремейки движков. Задача простая: помочь найти проект под нужную игру и платформу и объяснить, как всё это устроено.

Масштаб впечатляет. В каталоге около 2118 проектов для примерно 1829 игр, из них 1771 активных. По типам: 786 декомпиляций, 525 статических рекомпиляций, 269 портов на исходниках, 238 ремейков движков, 234 дизассемблирования, 57 браузерных портов и 9 инструментов.

По платформам лидирует ПК с 295 проектами, дальше Nintendo 64 (190), Xbox 360 и PlayStation 1 (по 161). Следом идут DOS, GameCube, PS2, Game Boy Advance и Wii. Среди примеров Zelda (Ocarina of Time, Majora's Mask, Twilight Princess), Mario 64, Sonic, Diablo, Morrowind, OpenRA и OpenRCT2.

Внутри не просто список. В README есть топ-25, отдельный список браузерных портов, каталоги по типам и платформам, раздел о том, как начать декомпилировать самому, FAQ и глоссарий. Из инструментов упоминаются N64Recomp, XenonRecomp, RT64, splat, decomp.me, objdiff и m2c. Каталог обновляется автоматически через GitHub Actions.

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

Репозиторий: https://github.com/justxor/awesome-decomp-games-ru

@Python_Community_ru
‍🏎 Всю Формулу-1 можно воспроизвести на Python. Нашёл проект с 7000 звёзд на GitHub

F1 Race Replay позволяет заново просматривать реальные гонки Формулы-1 в интерактивном режиме, отслеживая перемещения болидов и телеметрию пилотов.

Проект написан на Python и использует библиотеку FastF1 для получения исторических данных гонок.

Что умеет:

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

Позволяет останавливать гонку, перематывать назад и вперёд, а также менять скорость воспроизведения от 0,1x до 256x.

Отображает скорость пилотов, передачи, состояние DRS, времена кругов и секторов. Можно выбирать нескольких гонщиков и сравнивать их телеметрию.

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

Всё запускается локально:


git clone https://github.com/IAmTomShaw/f1-race-replay
cd f1-race-replay
pip install -r requirements.txt
python main.py


Внутри используются Python 3.11+, FastF1, Arcade, PySide6 и NumPy. Можно создавать собственные панели телеметрии и подключать их к потоку данных.

Хороший проект для тех, кто хочет попрактиковаться в Python, визуализации данных и анализе спортивной телеметрии.

GitHub: https://github.com/IAmTomShaw/f1-race-replay

@Python_Community_ru
👍1