Python Community
12.3K subscribers
1.35K photos
84 videos
15 files
863 links
Python Community RU - СНГ сообщество Python-разработчиков

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
📊 Zabbix Notifications in Telegram

Инструмент для отправки уведомлений из Zabbix в Telegram с графиками и сообщениями. Поддерживает как личные, так и групповые чаты, а также каналы. Простая настройка и поддержка markdown/HTML.

🚀Основные моменты:
- Отправка графиков и уведомлений в Telegram
- Поддержка личных и групповых чатов
- Возможность использования emoji для обозначения серьезности
- Сохранение chatid в временный файл
- Простое управление через команды бота (в разработке)

📌 GitHub: https://github.com/ableev/Zabbix-in-Telegram

#python

@Python_Community_ru
⚡️ Pytest markers: ускоряем разработку и тестирование

Когда проект растёт — часть тестов становится медленной (ML-тренировка, GPU-инференс, интеграционные проверки).
Pytest позволяет помечать такие тесты и запускать только нужные группы.

В примере:
- @pytest.mark.fast — быстрые юнит-тесты
- @pytest.mark.slow — долгие тесты (например, обучение модели)
- @pytest.mark.gpu — тесты, требующие GPU

Команды:
# Запустить только быстрые
pytest -m fast

# Запустить всё, кроме slow
pytest -m "not slow"

Идеально, когда нужно:
- быстро прогнать код перед пушем
- запускать тяжёлые тесты по расписанию/в CI
- разделить ML-тесты по ресурсам (CPU/GPU)

Используйте маркеры — и ваша разработка станет быстрее и чище 🧪⚙️

#pytest #python #testing #mlengineering #unittesting #devtools

@Python_Community_ru
👍1
🧠 Дискретные диффузионные модели для генерации текста

Репозиторий предлагает аннотированную реализацию модели дискретной диффузии для генерации текста, основанную на архитектуре "baby GPT" от Андрея Карпаты. Используя подход денойзинга, модель восстанавливает и генерирует текст, обучаясь на примерах, таких как произведения Шекспира.

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

📌 GitHub: https://github.com/ash80/diffusion-gpt

#python

@Python_Community_ru
🎤 Быстрый текст-в-речь с Supertonic

Supertonic — это высокопроизводительная система текст-в-речь, работающая на вашем устройстве. Она обеспечивает молниеносное создание речи с минимальными затратами ресурсов и полным соблюдением конфиденциальности. Никаких облачных решений — всё происходит локально.

🚀Основные моменты:
- Генерация речи до 167× быстрее реального времени
- 🪶 Легковесная архитектура с 66M параметрами
- 📱 Полная обработка на устройстве без задержек
- 🎨 Обработка сложных текстов без предварительной подготовки
- ⚙️ Гибкая настройка параметров и развертывания

📌 GitHub: https://github.com/supertone-inc/supertonic

#python

@Python_Community_ru
🤖 Автономный AI-исследователь для научных экспериментов

Этот проект представляет собой автономного AI-исследователя, который разбивает исследовательскую задачу на эксперименты и запускает специализированные агенты с доступом к GPU для их выполнения. Результаты собираются и оформляются в виде научной статьи.

🚀 Основные моменты:
- Декомпозиция задач на эксперименты с распределением по агентам.
- Агенты запускают GPU-песочницы для обучения и оценки моделей.
- Окончательные результаты формируются в виде связного отчета.

📌 GitHub:

#python

@Python_Community_ru

https://github.com/mshumer/autonomous-researcher
🔥1
🖥 Python: Почему твой asyncio-код тормозит и блокируется?

Чаще всего проблема не в самом asyncio, а в том, что внутри async-функций ты вызываешь блокирующий код. Например, time.sleep, requests.get, тяжёлые циклы с вычислениями или работа с диском без специальных обёрток. Такой вызов останавливает весь event loop, и остальные корутины тупо ждут.

Главное правило: внутри async-функций каждая долгая операция должна либо быть асинхронной (через await), либо вынесена в поток или процесс. Если в корутине нет нормальных await, она вообще не отдаёт управление циклу, и твой «асинхронный» код ведёт себя как обычный синхронный.

Используй:
- асинхронные библиотеки (aiohttp вместо requests и т.п.);
- asyncio.sleep вместо time.sleep;
- asyncio.to_thread или отдельный процесс для тяжёлых синхронных задач.

Как только уберёшь блокирующие вызовы из корутин, код перестанет «залипать» и начнёт реально работать параллельно по I/O.


import asyncio
import time

async def bad_task():
print("start bad")
time.sleep(2)
print("end bad")

async def good_task():
print("start good")
await asyncio.to_thread(time.sleep, 2)
print("end good")

async def main():
await asyncio.gather(bad_task(), good_task())

asyncio.run(main())


https://www.youtube.com/shorts/LZgy5YvQR4o

@Python_Community_ru
🔥2
🏎️ F1 Race Replay: Визуализация гонок Формулы 1 🏁

Приложение на Python для интерактивного воспроизведения гонок Формулы 1 с графическим интерфейсом. Позволяет отслеживать позиции гонщиков в реальном времени, отображать текущие круги и статус водителей, а также управлять воспроизведением с помощью удобных контролов.

🚀 Основные моменты:
- Визуализация гонок с реальными позициями на треке
- Живое обновление позиций гонщиков и их состояния
- Интерактивные элементы управления воспроизведением
- Подробная информация о телеметрии выбранных гонщиков
- Возможность настройки интерфейса и обработки данных

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

#python

@Python_Community_ru
🔥1
📝 Редактирование PDF с помощью ИИ 🚀

Nano PDF - это CLI инструмент для редактирования PDF-документов с использованием естественных языковых запросов. Он позволяет изменять слайды, добавлять новые и сохранять текстовый слой благодаря OCR. Инструмент использует модель Gemini 3 Pro Image для быстрого и качественного редактирования.

🚀 Основные моменты:
- Редактирование слайдов по текстовым командам
- Генерация новых слайдов в стиле существующих
- Поддержка многопоточной обработки
- Сохранение текстового слоя PDF

📌 GitHub: https://github.com/gavrielc/Nano-PDF

#python

@Python_Community_ru
👍1
🌍🤖 GigaWorld-0: Модели мира

GigaWorld-0 - это унифицированная платформа для обучения Vision-Language-Action, использующая генерацию видео и 3D моделирование. Она обеспечивает создание разнообразных и реалистичных последовательностей, что делает её мощным инструментом для разработки эмбодированных ИИ.

🚀Основные моменты:
- Интеграция видео и 3D генерации для физической реалистичности.
- Поддержка текстовых подсказок для генерации видео.
- Модели доступны на Hugging Face для быстрого старта.
- Открытый исходный код с лицензией Apache 2.0.

📌 GitHub: https://github.com/open-gigaai/giga-world-0

#python

@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
🤯💣 PYTHON ТРЮК ПО УСКОРЕНИЮ #python

Совет по Python: если в цикле много обращений к атрибутам объекта или модуля — вынеси их в локальную переменную.

Доступ к локалам работает быстрее, чем к атрибутам, поэтому такой приём иногда ускоряет код на 20–50 процентов.


#медленно — каждый проход лезет в атрибут
for i in range(10_000_000):
x = obj.value

#быстрее — сохрани ссылку заранее
val = obj.value
for i in range(10_000_000):
x = val

#ещё пример — кешируем функцию
import math
sqrt = math.sqrt
for i in range(1_000_000):
r = sqrt(i)

@Python_Community_ru
Новая работа MIT: LLM, который видит и меняет состояние Python

В MIT предложили подход, при котором языковая модель работает не только с текстом, а напрямую с живым состоянием Python-кода - переменными, объектами в памяти и текущей точкой выполнения.

Подход называется NIGHTJAR.

Главный результат
В экспериментах NIGHTJAR сократил объем кода в среднем на 39.6% без потери корректности.

В чем была проблема
Обычная LLM:
- читает текст
- генерирует текст
- не видит реальные данные программы

Поэтому типичный пайплайн выглядит так:
- данные сериализуются в текст
- отправляются модели
- ответ парсится
- программа вручную обновляется

Много glue-кода, много мест для ошибок.

Что меняет совместное состояние
Shared state полностью меняет модель взаимодействия:
- LLM может читать и писать переменные
- изменять объекты прямо в памяти
- останавливать и пропускать циклы
- работать с текущим состоянием выполнения

Модель не «рассуждает о коде», она с ним взаимодействует.

Как это реализовано
LLM не получает прямой доступ к памяти.
Она отправляет небольшие команды:
- прочитать переменную
- записать значение
- обновить объект
- выйти из цикла

Python-обработчик выполняет эти команды.
Такой контракт авторы называют natural function interface.

Результаты
На бенчмарке SPSBench с 25 программами:
- корректность осталась на уровне ручной интеграции или выше
- код стал заметно короче
- но время выполнения иногда росло до 4.3 раза

Причина проста - каждое обращение к состоянию может требовать отдельного вызова модели.

Почему это важно
- меньше шаблонного glue-кода
- проще писать сложную логику с участием LLM
- шаг к более тесной интеграции AI и runtime
- фундамент для новых агентных и интерактивных систем

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

📌 Статья: arxiv.org/abs/2512.14805


#AI #LLM #Python

@Python_Community_ru