Python Community
12.1K subscribers
1.39K photos
104 videos
15 files
919 links
Python Community RU - СНГ сообщество Python-разработчиков

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
💼 ru-test-assignments - большая база реальных тестовых заданий от IT-компаний

ru-test-assignments - это открытая коллекция настоящих тестовых заданий, которые кандидаты получали на собеседованиях в российских IT-компаниях.

Без абстрактных задач «в вакууме» только то, что реально спрашивают.

Что внутри 👇
• Сотни заданий по направлениям:
Frontend, Backend, QA, Android, iOS, Data Science, DevOps
• Компании из топа рынка:
Avito, Яндекс, Тинькофф, Сбер, Ozon, VK и другие
• Разные языки и стеки:
Python, JavaScript, Go, Java, PHP, Ruby, C#
• Готовые задания можно прикреплять в портфолио (например, через Hexlet CV)

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

Отличный ресурс для подготовки к собеседованиям и оценки своего уровня.

https://github.com/Hexlet/ru-test-assignments

@Python_Community_ru
🧭 LLMRouter - умная маршрутизация запросов между LLM

UIUC (ULab) выложили LLMRouter - проект про то, что скоро станет стандартом в AI-продуктах:

не выбирать “одну лучшую модель”,
а маршрутизировать запросы между несколькими LLM так, чтобы было:
- дешевле
- быстрее
- точнее

Идея простая:
разные модели сильны в разном.

Одна лучше пишет код, другая - рассуждает, третья - дешёвая для рутины.
Но большинство продуктов до сих пор делают тупо:
“все запросы → одна LLM”.

LLMRouter делает наоборот:
- анализирует входной запрос
- оценивает сложность / тип задачи
- выбирает подходящую модель
- может учитывать цену, latency, качество, политики

В итоге:
обычные вопросы идут в дешёвую модель
сложные reasoning-задачи - в сильную
код/инструменты - в специализированную
и всё это автоматически

Почему это важно:
как только у тебя 3-5 моделей (OpenAI/Anthropic/Gemini/open-source),
маршрутизация превращается в экономию десятков тысяч долларов в месяц.

Короче: это “load balancer” для LLM, но с мозгами.

GitHub: https://github.com/ulab-uiuc/LLMRouter
#LLM #AI #Routing #Agents #MLOps

@Python_Community_ru
🔥1
🐸 Microsoft зарелизили FrogMini - модель для дебага и исправления багов.

Что важно:
- Базируется на Qwen3-14B
- Показала SOTA на SWE-Bench Verified: Pass@1 = 45.0% 🔥

Как обучали:
- Использовали SFT (supervised fine-tuning)
- Данные - успешные debugging trajectories (пошаговые цепочки исправлений)
- Эти траектории сгенерированы сильной teacher-моделью (например, **Claude**)
- Источники багов - микс реальных и синтетических датасетов

Идея простая, но мощная:
учим модель не просто писать код, а думать как дебаггер - шаг за шагом.

📌 Теперь Qwen3-14B + правильные траектории = реальный tool для SWE задач.

https://huggingface.co/microsoft/FrogMini-14B-2510

@Python_Community_ru
🌍 Google выпустили TranslateGemma - открытые модели перевода на базе Gemma 3

Google представили TranslateGemma - набор open-source переводчиков, построенных на Gemma 3.

Что важно:
- это не “чат-LLM, который может переводить”, а отдельная линейка моделей именно под перевод
- доступны размеры 4B / 12B / 27B
- поддержка 55 языков
- фокус на практичности: можно запускать на разном железе и встраивать в приложения

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

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

Анонс: https://blog.google/innovation-and-ai/technology/developers-tools/translategemma/
HF: https://huggingface.co/collections/google/translategemma

@Python_Community_ru
🧠 Awesome Agentic Patterns - шпаргалка по агентам, которая реально полезна

Наткнулся на репозиторий awesome-agentic-patterns - и это один из самых практичных “awesome-листов” по теме AI-агентов.

📌 Что внутри:
не теоретические рассуждения, а паттерны - мини-архитектуры и рабочие приёмы, которые используют команды, когда делают production-агентов.

Автор прямо пишет идею проекта:
> тут не про “игрушки и демки”, а про штуки, которые закрывают грязную реальность продакшена.
Почти любой агент в проде упирается в одни и те же проблемы:

- контекст не помещается → нужно умно управлять памятью
- модель косячит → нужны retry/валидация/guardrails
- цепочки действий ломаются → нужна оркестрация
- непонятно, что пошло не так → нужны логи + eval
- безопасность / PII → нужен sandbox и фильтрация

И вот под это как раз собраны паттерны.

https://github.com/nibzard/awesome-agentic-patterns

@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
Сел я значит вечером подправить пет-проект и вот как-то закрутилось

@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
🕐 FastScheduler: “Celery для запуска скриптов по расписанию, но без боли”

Иногда нужно просто:
- запустить функцию каждые 5 минут
- или каждый день в 09:00
- или по cron
…и всё.

Но Celery для этого — реально оверкилл: брокер, воркеры, Redis/RabbitMQ, отдельная инфраструктура.

FastScheduler решает ровно эту задачу:
*in-process* планировщик задач (никаких Redis / брокеров)
decorator-first API — красиво и быстро
async поддержка из коробки
персистентность (состояние сохраняется, переживает рестарты)
опционально — FastAPI dashboard для просмотра задач

Пример того, как выглядит API:


@scheduler.every(5).minutes
def sync_users():
...

@scheduler.daily.at("09:00")
async def morning_report():


Философия простая:
если тебе не нужна распределённость - не бери Celery, попробуй FastScheduler.

Установка:



pip install fastscheduler[all]


📌 GitHub: https://github.com/MichielMe/fastscheduler

@Python_Community_ru
🔥2
🎨 Генерация изображений с GLM-Image

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

🚀 Основные моменты:
- Гибридная архитектура для высококачественной генерации изображений.
- Поддержка текст-в-изображение и множество задач изображение-в-изображение.
- Модуль обратной связи для улучшения семантического понимания и детализации.
- Высокая точность рендеринга текста в изображениях.
- Доступность через Hugging Face и ModelScope.

📌 GitHub: https://github.com/zai-org/GLM-Image

@Python_Community_ru
🖥 Ты бы поставил в прод пакет, который вышел 2 часа назад?

Обновлять зависимости важно - так ты получаешь новые фичи и фиксы багов.

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

В uv для этого есть опция exclude-newer
Она позволяет задать “период охлаждения” - и пропускать пакеты, которые были выпущены слишком недавно.

Как использовать:
добавь в pyproject.toml:

exclude-newer = "7 days"

И при желании поменяй срок под себя (например, 3 дня, 14 дней и т.д.).

Идея простая:
обновляйся регулярно, но не на самых горячих релизах.

https://www.youtube.com/shorts/98q0IkNrBbU

@Python_Community_ru
👍3
🤖 Автоматизация исследований с NotebookLM

Notebooklm-py — это неофициальная библиотека для работы с Google NotebookLM, позволяющая автоматизировать исследовательские процессы, генерировать контент и интегрировать AI-агентов. Подходит для прототипов и личных проектов, используя Python или командную строку.

🚀Основные моменты:
- Интеграция с AI-агентами и Claude Code
- Автоматизация исследований с импортом источников
- Генерация подкастов, видео и учебных материалов
- Поддержка работы через Python API и CLI
- Использование с неофициальными Google API

📌 GitHub: https://github.com/teng-lin/notebooklm-py

@Python_Community_ru
🐍 Самая крутая фича Python 3.14 - `sys.remote_exec()` (объясняю по-человечески)

Идея простая:
у тебя уже запущено Python-приложение (например FastAPI в Docker/K8s)
оно уже дошло до нужного состояния (в памяти есть переменные, сессии, кеши)
но тебе нужно посмотреть “что внутри” или поставить дебаггер

Раньше ты делал так:
- добавлял debugpy в код
- перезапускал приложение
- заново воспроизводил баг

Python 3.14 даёт новый чит-код:

sys.remote_exec() позволяет выполнить кусок Python-кода ВНУТРИ уже работающего Python-процесса.
То есть буквально “вколоть” скрипт в живой процесс.

Это как:
🔹 зайти внутрь процесса
🔹 выполнить print(), импорт, запись переменных
🔹 или даже подключить дебаггер
без рестарта вообще.


Пример: что можно сделать через sys.remote_exec()

Допустим у нас есть работающий процесс Python.

1) Мы хотим “добавить” туда код:
- вывести PID
- посмотреть глобальные переменные
- записать лог
- даже поменять значение переменной


# Этот код выполняется СНАРУЖИ и запускает инжект внутрь процесса
import sys

target_pid = 12345 # PID запущенного Python процесса

payload = r"""
import os
import time

print(" Injected into running process!")
print("PID:", os.getpid())
print("Time:", time.time())

# Пример: читаем что есть в глобальном пространстве
g = globals()
print("Globals keys sample:", list(g.keys())[:10])

# Пример: создаём переменную прямо в процессе
INJECTED_FLAG = True
"""

# Новое API Python 3.14
sys.remote_exec(target_pid, payload)



Пример 2: инжектим debugpy (дебаг без рестарта)

Самая хайповая штука - можно подключить debugpy в уже живое приложение.
То есть приложение уже крутится, у него есть состояние, и ты просто включаешь “прослушку” дебаггера на порту.


import sys

target_pid = 12345 # PID работающего uvicorn / fastapi процесса

payload = r"""
import debugpy

HOST = "0.0.0.0"
PORT = 5679

debugpy.listen((HOST, PORT))
print(f"🐞 debugpy is listening on {HOST}:{PORT}")

# если хочешь остановить выполнение и ждать пока подключишь IDE:
# debugpy.wait_for_client()
# print(" debugger attached!")
"""

sys.remote_exec(target_pid, payload)


Дальше:
- ты делаешь port-forward (если Docker/K8s)
- подключаешь VS Code / PyCharm / nvim к localhost:5679
- ставишь breakpoints и дебажишь как обычно


Что важно

1) Это не “удалённое выполнение” как ssh.
Это прям “внутри процесса” - доступ к памяти, переменным, импортам.

2) Это опасно для продакшена.
Требует прав уровня SYS_PTRACE (можно читать/менять процессы) - поэтому только для локалки/стендов.

3) Это может стать стандартом для отладки контейнеров:
- баг воспроизводится только в k8s
- рестарт = баг пропал
- а тут просто подключился и посмотрел

📌 Статья на эту тему (https://savannah.dev/posts/the-coolest-feature-in-314/)

@Python_Community_ru
🔥1
🎙️ NVIDIA выпустила PersonaPlex-7B - open-source голосовая диалоговая модель, которая умеет то, что обычно недоступно классическим пайплайнам: **слушать и говорить одновременно**.

Модель:
- 🔓 бесплатная и полностью открытая (MIT)
- 🤗 веса доступны на Hugging Face
- 🧠 full-duplex conversational model (двусторонний “живой” диалог)

Обычно Voice AI устроен так:
ASR → LLM → TTS
Сначала распознаём речь, потом думаем, потом озвучиваем.
Работает эффективно, но диалог получается “роботным”:
говоришь по очереди, без перебиваний, без живой реакции.

PersonaPlex-7B меняет подход.
Она работает на непрерывных аудио-токенах и использует dual-stream transformer, который генерирует текст и аудио параллельно, а не переключает управление между модулями.

Это даёт:
- мгновенные “угу / да / понял” реакции (back-channel)
- естественные перебивания и уточнения
- нормальный ритм разговора, как у человека

Ещё один плюс: управление “персоной” работает zero-shot, без дополнительного дообучения.

Если ты делаешь голосового ассистента или саппорт-агента с низкой задержкой - это очень сильный шаг вперёд.

https://github.com/NVIDIA/personaplex

@Python_Community_ru
🔥3
🧠 Продвинутые советы по работе с Regex в Python

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


import re
RE_EMAIL = re.compile(r"\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b", re.I)
emails = RE_EMAIL.findall(text)


Используй raw-строки и re.VERBOSE, чтобы regex был читаемым, а не выглядел как случайный набор символов.



RE_DATE = re.compile(r"""
\b
(?P\d{4})-(?P0[1-9]|1[0-2])-(?P0[1-9]|[12]\d|3[01])
\b
""", re.VERBOSE)


Если группа не нужна в выводе - делай её non-capturing (?:...). Это уменьшает расходы памяти и путаницу с индексами групп.



re.findall(r"(?:https?://)?(?:www\.)?example\.com/\S+", text)


Используй правильные якоря. \A и \Z безопаснее для валидации, чем ^ и $, которые зависят от флага MULTILINE.



re.match(r"\A\d+\Z", "123\n")


Контролируй код и ставь ограничения.

Бесконтрольный .* — частая причина зависаний и ReDoS.



re.search(r"]{0,2000}>", html)


Lookahead и lookbehind позволяют искать текст без захвата. Это мощный инструмент для точных выборок.


m = re.search(r"(?

@Python_Community_ru
🎨 Генерация изображений с GLM-Image

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

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

📌 GitHub: https://github.com/zai-org/GLM-Image

@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
NVIDIA показала новый разговорный ИИ - PersonaPlex

Суть фичи в том, что модель старается звучать максимально “живым” собеседником, а не просто отвечать по очереди.

Что умеет PersonaPlex:
· Переключать стиль общения (persona) - например строгий учитель, дружелюбный консультант, бармен и т.д.
· Говорить и слушать одновременно - меньше задержек и пауз в диалоге
· Поддакивать на фоне (“угу”, “ок”, “понятно”), пока человек говорит - чтобы разговор был ближе к реальному
· Проект открыт - исходники доступны, можно брать и пробовать самому

GitHub (https://github.com/NVIDIA/personaplex)
Hugging Face (https://huggingface.co/nvidia/personaplex-7b-v1)

@Python_Community_ru
Теперь даже HRы на питоне пишут!

@Python_Community_ru
🔥5👍2🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Python ищет дубликаты файлов

Когда папка разрастается, дубликаты начинают тихо съедать место - особенно если ты сохраняешь одно и то же под разными именами.

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


import os, hashlib

m = {}
for n in os.listdir("."):
if os.path.isfile(n):
with open(n, "rb") as f:
h = hashlib.md5(f.read()).hexdigest()
m.setdefault(h, []).append(n)

for v in m.values():
if len(v) > 1:
print("DUP:", v)

@Python_Community_ru
🚀 RenderCV: Open-Source AI для создания CV/резюме на лету

RenderCV - это GitHub-проект, который автоматизирует генерацию профессионального резюме с помощью AI. Он берет базовые данные (например, профиль, опыт, навыки) и формирует красиво отформатированный CV с умным распределением разделов, прицелом на ATS-системы (системы автоматического трекинга резюме) и внимание к деталям.

🔍 Основные фишки
- 💡 AI-генерация контента - на основе вводимых данных автоматически создаются описания опыта, навыков и достижений
- 📄 Готовые шаблоны — вывод резюме в структурированном виде, готовом для печати или публикации
- ⚙️ Настраиваемость — легко адаптировать под свой стиль, менять поля и формат
- 🤖 Поддержка AI-логики для переработки сухих фактов в интересные, читабельные формулировки

Простой рабочий цикл:
1) Вводишь базовые данные (имя, опыт, навыки)
2) AI дописывает грамотные описания
3) Получаешь готовое резюме без лишних усилий

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

🛠 Пример использования (в духе проектов этого класса):


# Клонируем репозиторий
git clone https://github.com/rendercv/rendercv.git

# Переходим в папку
cd rendercv

# Устанавливаем зависимости и запускаем
# (инструкции могут отличаться в зависимости от реализации)
npm install
npm start



https://github.com/rendercv/rendercv

@Python_Community_ru
🖥 PYTHON МАТЕМАТИКА КАК У ПРОФИ

Ппрофессиональный подход к математике в Python строится не вокруг «посчитать формулу», а вокруг правильного стека инструментов и воспроизводимости. Всегда разделяй символьную математику, численные методы и работу с данными.

Для аналитики и вывода формул используй SymPy, для быстрых численных расчётов - NumPy, для научных алгоритмов - SciPy, для больших таблиц экспериментов - Pandas.

Никогда не смешивай «магические числа» в коде - все параметры выноси в переменные. Работай в Jupyter или VS Code с ноутбуками, фиксируй версии библиотек и обязательно проверяй устойчивость решений через разные методы (например, интеграл численно и аналитически). Так код становится не просто расчётом, а научным инструментом.


import numpy as np
import sympy as sp
from scipy import integrate

# 1. Символьная математика
x = sp.symbols('x')
expr = sp.sin(x) / x
analytic_integral = sp.integrate(expr, (x, 1, 10))

# 2. Численная математика
f = lambda x: np.sin(x) / x
numeric_integral, error = integrate.quad(f, 1, 10)

# 3. Векторизация вместо циклов
arr = np.linspace(1, 10, 1_000_000)
fast_result = np.sin(arr) / arr

print("Analytic:", analytic_integral)
print("Numeric:", numeric_integral, "Error:", error)

@Python_Community_ru