Python Community
12K subscribers
1.37K photos
105 videos
15 files
879 links
Python Community RU - СНГ сообщество Python-разработчиков

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
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
Media is too big
VIEW IN TELEGRAM
🚀 Вышла интересная open-source модель - MiniCPM-o 4.5

MiniCPM-o 4.5 позиционируется как full-duplex omni-modal LLM.
Проще говоря, модель может:

- одновременно видеть (видео/изображение)
- слушать (аудио)
- говорить

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

Не только отвечает, но и проявляет инициативу

Заявлена поддержка проактивного поведения - модель может не просто реагировать на вопросы, а, например, сама инициировать напоминания или действия в рамках диалога.

По метрикам

С 9B параметрами модель показывает 77.6 на OpenCompass и, по авторам, обходит GPT-4o и Gemini 2.0 Pro в ряде vision-language задач. Для такого размера это сильный результат.

Практический момент

Главный плюс - это open-source, и всё можно крутить локально на ПК, а не только через облачные API.

https://huggingface.co/openbmb/MiniCPM-o-4_5

@Python_Community_ru
🖥 Вы неправильно считываете JSON в Python.

Большинство делает так - и теряет скорость, память и контроль над данными.

Ошибка №1 - читать огромный JSON целиком
json.load() загружает ВСЁ в память. На больших файлах ты сам создаёшь себе OOM.

Ошибка №2 - не валидировать структуру
Ты думаешь, что поле есть. Прод думает иначе.

Ошибка №3 - парсить стандартным json там, где нужна скорость
Стандартный модуль медленный для high-load задач.

Как правильно:

- Большие файлы → читать потоково (ijson / построчно)
- Критичная скорость → использовать orjson
- Важные данные → сразу проверять ключи и типы
- API → оборачивать в try/except, а не надеяться

Продакшн-код работает не потому что “JSON простой”,
а потому что ты контролируешь объём, структуру и ошибки.

@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
🕘 Таймер продуктивности на Python с использованием threading

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


import threading
import time
def timer(duration, break_duration):
print(f"Начинаем работу на {duration} минут.")
time.sleep(duration * 60) # Длительность работы в секундах
print("Время на перерыв!")
time.sleep(break_duration * 60) # Длительность перерыва в секундах
print("Перерыв закончен, продолжайте работу!")
# Задайте длительность работы и перерыва
work_duration = 25 # в минутах
break_duration = 5 # в минутах
# Запускаем таймер
threading.Thread(target=timer, args=(work_duration, break_duration)).start()

@Python_Community_ru
👎2👍1
⚡️ Экосистема AI-агентов превратилась в настоящий джунгли.

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

KISS Multi-Agent Evolutionary Framework 0 небольшой Python-фреймворк, который следует принципу: *Keep It Simple, Stupid*.

Что в нём интересного:

- Почти никакой магии - обычный Python и один run()
- Обычная функция с type hints автоматически становится tool через нативный function calling модели
- Без декораторов, лишних аннотаций и glue-кода
- Код читается и отлаживается как обычный Python

Агент работает по циклу ReAct:
думает → вызывает инструмент → анализирует результат → повторяет, пока не достигнет цели.

Нужно несколько агентов?
Всё просто: вызываете их последовательно в Python.

researcher → writer → editor
Можно использовать разные модели и строить пайплайны без сложной оркестрации.

Фреймворк также сохраняет trajectory-лог:
- шаги агента
- использование токенов
- время выполнения
- стоимость

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

Но самая сильная часть — автоэволюция.

AgentEvolver
- создаёт множество вариантов агента
- применяет мутации и кроссовер
- выбирает лучшие по качеству, скорости и стоимости

GEPA (Genetic-Pareto)
- агент сам анализирует свои ответы и переписывает промпты
- используется Pareto-фронт
- сохраняется несколько оптимальных стратегий, а не одна

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

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

https://github.com/ksenxx/kiss_ai

@Python_Community_ru
🖥 Если ищете идеи и готовые решения для LLM-проектов — есть полезный репозиторий.

awesome-llm-apps - это коллекция production-готовых AI-приложений, которые можно запустить уже сегодня.

Что внутри:

→ Нужен RAG? Есть готовый код
→ Нужны AI-агенты? Есть примеры
→ Нужны multimodal-приложения? Тоже есть
→ Хотите собрать AI-SaaS? Базовая архитектура уже реализована

Главное отличие — здесь нет:
- учебных Hello World
- игрушечных демо
- упрощённых примеров

Только реальные приложения:
- с архитектурой
- интеграциями
- рабочей логикой
- которые можно доработать и задеплоить

Хороший вариант, если:
- не знаете, что строить на LLM в 2026
- хотите быстрее собрать MVP
- ищете референсы production-подходов

100% бесплатно
100% Open Source

Repo: https://github.com/Shubhamsaboo/awesome-llm-apps

@Python_Community_ru
🔥2
Это репозиторий с реализацией DensePose через Wi-Fi-сигналы — то есть попытка получать плотные представления (DensePose) тела людей на основе Wi-Fi-данных, а не обычной камеры.

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

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


🔗 Есть интересный проект: https://github.com/ruvnet/wifi-densepose

@Python_Community_ru
👎1
This media is not supported in your browser
VIEW IN TELEGRAM
LuxTTS - очень быстрый и компактный TTS с клонированием голоса

Модель со ставкой на скорость + реализм, при этом она остается лёгкой и доступной по ресурсам.

Главные фишки:

- До 150× realtime при генерации речи
- 🎙️ Хорошая передача эмоций и естественности
- 🧬 Качественное voice cloning
- 💾 Влезает примерно в 1 ГБ VRAM
- 🖥️ Работает и на CPU - 2–6× realtime

Подходит для:
- голосовых ассистентов
- озвучки приложений
- быстрых прототипов без тяжёлой инфраструктуры

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

Repo: https://github.com/ysharma3501/LuxTTS
Модель: https://huggingface.co/YatharthS/LuxTTS

@Python_Community_ru
🤖 LingBot-VLA - это прогрессивная модель, объединяющая визуальные, языковые и действия для роботов.

Она обучена на 20,000 часов реальных данных и демонстрирует высокую эффективность и производительность в симуляциях и реальных задачах.

🚀 Основные моменты:
- Обширные данные для предобучения
- Превосходные результаты по сравнению с конкурентами
- Увеличенная скорость обучения на 1.5-2.8x

📌 GitHub: https://github.com/Robbyant/lingbot-vla

#python

@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Python-совет: не проверяйте длину — проверяйте объект


Python умеет проверять «пустоту» объектов напрямую - быстрее и читаемее.

Многие новички пишут так:


if len(items) > 0:
process(items)


Это лишняя операция.

Правильный способ — использовать truthiness.

Почему это лучше:
- Короче и понятнее
- Работает для списков, строк, словарей, set и других коллекций
- Соответствует Pythonic-стилю
- Не делает лишний вызов len()

Пример:


# Плохо
if len(items) > 0:
process(items)

# Хорошо
if items:
process(items)

# Проверка на пустоту
if not items:
print("Empty")

# Работает для разных типов
data = {}
if data:
print("Has data")

@Python_Community_ru
🚀 REAL-TIME СЕРВЕРЫ БЕЗ ЛИШНЕЙ СЛОЖНОСТИ

Если нужно быстро запускать веб-приложения с высокой производительностью и минимальной задержкой - посмотрите на WebRockets.

WebRockets — это лёгкий и быстрый фреймворк для создания веб-приложений и API с акцентом на скорость, простоту и минимальный overhead. Он подойдёт для проектов, где важны real-time взаимодействие и высокая нагрузка.

Когда полезно:

- Real-time приложения (чаты, уведомления, стриминг данных)
- Высоконагруженные API
- Dashboards и live-аналитика
- Backend для игр или trading-систем
- Любые сервисы, где важна низкая задержка

Что умеет:

- Работа через WebSocket для постоянного соединения
- Минимальная задержка и высокая пропускная способность
- Простая настройка и запуск
- Подходит для real-time архитектур
- Лёгкая интеграция в существующие backend-системы

Главная идея:

Обычный HTTP работает по принципу «запрос-ответ».
WebSocket держит постоянное соединение, позволяя серверу отправлять данные мгновенно без новых запросов — это основа современных real-time сервисов.


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

# Установка зависимостей (если используется Node.js)
npm install

# Запуск сервера
npm start

# Пример простого WebSocket-сервера
const WebSocket = require("ws");

const wss = new WebSocket.Server({ port: 3000 });

wss.on("connection", (ws) => {
console.log("Client connected");

ws.send("Welcome!");

ws.on("message", (message) => {
console.log("Received:", message.toString());
ws.send(`Echo: ${message}`);
});
});

console.log("WebSocket server running on port 3000");

https://github.com/ploMP4/webrockets

@Python_Community_ru
Python-баг, который выглядит безобидно… но ломает логику 👇


fruits = ["apple", "lime", "orange",
"pineapple", "orange"]

for f in fruits:
if f == "orange":
fruits.remove(f)

print(fruits)


Ожидание: оба orange удалятся.

Реальность: один orange остаётся.

Почему так происходит?

Ты изменяешь список во время итерации.
После удаления элементы сдвигаются, и цикл пропускает следующий элемент.

Это классический сценарий продакшн-багов:

• код выглядит правильно
• тесты могут пройти
• но данные обрабатываются неправильно

Правильный вариант:

fruits = [f for f in fruits if f != "orange"]


Мораль:
Изменяешь коллекцию во время обхода -Deploy first. Pray later.

#junior #python

@Python_Community_ru
🚀 Погружение в алгоритмы AI без магии

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

🚀 Основные моменты:
- Один файл — один алгоритм, без внешних зависимостей.
- Полное обучение и предсказание в каждом скрипте.
- Читаемый код с обязательными комментариями для понимания.
- Работает на обычном CPU за разумное время.

📌 GitHub: https://github.com/Mathews-Tom/no-magic

#python

@Python_Community_ru
🎥 Генерация видео с FireRed-OpenStoryline

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

🚀 Основные моменты:
- 🌐 Умный поиск и организация медиа
- ✍️ Интеллектуальная генерация сценариев
- 🎵 Рекомендации по музыке и озвучке
- 💬 Редактирование через разговорные команды
- Архивирование навыков редактирования

📌 GitHub: https://github.com/FireRedTeam/FireRed-OpenStoryline

@Python_Community_ru
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Регулярные выражения для извлечения ссылок из HTML с помощью Python

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



import re
import requests
def extract_links(url):
response = requests.get(url)
html_content = response.text
links = re.findall(r'href=["\']?(https?://[^"\'>]+)', html_content)
return links
url = 'https://example.com'
all_links = extract_links(url)
print(all_links)

@Python_Community_ru