Python Community
11.7K subscribers
1.45K photos
117 videos
15 files
977 links
Python Community RU - СНГ сообщество Python-разработчиков

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
⚡️ SearchPhone - open-source утилита на Python, которая автоматизирует сбор данных по телефонным номерам и формирует готовые отчёты.

Возможности

- проверка корректности телефонного номера
- определение страны и оператора связи
- поиск упоминаний через Google, Bing и DuckDuckGo
- поиск номера в открытом коде на GitHub
- поиск публикаций и обсуждений на Reddit
- создание отчётов в форматах JSON и PDF
- параллельная обработка запросов
- управление через простой CLI

Инструмент пригодится для OSINT-исследований, threat intelligence и проверки открытых источников.

Используйте его только законно и с соблюдением права на конфиденциальность.

🔗 GitHub: https://github.com/HackUnderway/SearchPhone

#OSINT #CyberSecurity #Python #OpenSource #GitHub #ThreatIntelligence #InfoSec

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

Подборка без мусора: код, поиск, браузеры, email, ошибки, API и деплой.

1. Aider
AI pair programming прямо в терминале.
https://github.com/Aider-AI/aider

2. Sourcegraph
Поиск по репозиториям и большим кодовым базам.
https://sourcegraph.com

3. Browserbase
Облачные браузеры для автоматизации, тестов и AI-агентов.
https://browserbase.com

4. Resend
Email API для транзакционных писем и React-шаблонов.
https://resend.com

5. Sentry
Ошибки, crash reporting и performance monitoring.
https://sentry.io

6. Public APIs
Большой список бесплатных публичных API для проектов и прототипов.
https://github.com/public-apis/public-apis

7. GStack
Сетап Garry Tan для Claude Code: 23 opinionated tools.
https://github.com/garrytan/gstack

8. GitHub Pages
Бесплатный хостинг статических сайтов прямо из GitHub-репозитория.
https://pages.github.com

Часть инструментов open source, часть — free tier. Вместе получается сильный dev-стек без лишних подписок.

@Python_Community_ru
👍1
🖥 Python `multiprocessing` и ловушка, о которую бьются даже опытные разрабы

В старых версиях Python на Linux multiprocessing часто стартовал процессы через fork().

И вот где начинается боль.

После fork() в дочернем процессе остаётся только один поток. Но состояние мира копируется как было:

* lock мог быть захвачен
* file descriptors всё ещё указывают на те же файлы
* сокеты и буферы могут оказаться в странном состоянии
* другой поток, который должен был отпустить lock, уже не существует

Это поведение POSIX.

Поэтому fork + threads - классический рецепт для редких, мерзких deadlock’ов.

Хорошая практика: для multiprocessing чаще выбирать spawn или forkserver, особенно если в приложении есть потоки, логгеры, сетевые клиенты или фоновые воркеры.

Важная поправка: начиная с Python 3.14, на POSIX дефолтный start method поменяли с fork на forkserver, как раз чтобы избежать части этих проблем.

Мелочь в настройке старта процесса. Огромная разница в стабильности.

@Python_Community_ru
Вышел MOSS-VL-Realtime - 11B vision-language model для потокового видео.

Не просто “загрузил ролик и получил ответ”, а режим, где модель непрерывно обрабатывает timestamped frames и может отвечать в любой момент по тому, что уже увидела.

Контекст - 256K, лицензия - Apache 2.0.

Что заявлено по бенчмаркам:

* 70.2 avg на OVOBench
* 47.2 avg на ProactiveVideoQA
* 66.0 на OmniMMI Proactive Alerting

MOSS-VL-Realtime умеет молчать, если визуальных данных пока недостаточно, а потом обновлять ответ, когда сцена меняется. Для видеоагентов это важнее, чем просто “ответить красиво”: модель должна не фантазировать раньше времени.

Есть online inference в стиле session/queue, offline API для изображений и видео, а также Instruct и Base checkpoints.

Похоже на шаг к VLM, которые работают не с готовым файлом, а с живым потоком: наблюдают, ждут, уточняют и реагируют по мере появления новых кадров.

ModelScope: https://modelscope.ai/models/openmoss/MOSS-VL-Realtime

@Python_Community_ru
⚡️ VGGT: превращает набор фотографий в геометрию 3D-сцены

Обычно реконструкция сцены требует отдельной связки для оценки камер, глубины и отслеживания точек. VGGT получает изображения и предсказывает всё это одной feed-forward моделью.

На вход можно подать один кадр, несколько снимков или сотни ракурсов. На выходе модель строит:

- внутренние и внешние параметры камер
- карты глубины
- плотные карты 3D-точек
- траектории выбранных точек между кадрами

Результаты можно экспортировать в формат COLMAP, дополнительно обработать через bundle adjustment и использовать в пайплайнах NeRF или Gaussian Splatting через gsplat.

Запуск занимает несколько строк:


model = VGGT.from_pretrained("facebook/VGGT-1B").to(device)
images = load_and_preprocess_images(image_names).to(device)

with torch.no_grad():
predictions = model(images)


https://github.com/facebookresearch/vggt

@Python_Community_ru
Hugging Face собрала open-source стек для локальных голосовых агентов

Репозиторий speech-to-speech содержит модульный пайплайн с низкой задержкой:

VAD → STT → LLM → TTS

Каждый компонент можно заменить. Для распознавания речи поддерживаются Parakeet TDT, Whisper, Faster Whisper и Paraformer. Для генерации голоса доступны Qwen3-TTS, Kokoro, Pocket TTS, ChatTTS и MMS.

LLM можно запускать через облачный OpenAI-совместимый API либо локально через Transformers, MLX, vLLM или llama.cpp. Весь стек способен работать на собственном железе без передачи аудио внешнему сервису.

Сервер поддерживает протокол OpenAI Realtime и WebSocket-эндпоинт /v1/realtime. Это позволяет подключать существующие клиенты с потоковой передачей аудио, транскрипцией, прерыванием ответа и tool calling.

Запуск:


pip install speech-to-speech
speech-to-speech


По умолчанию используются Parakeet TDT для распознавания и Qwen3-TTS для синтеза речи. Есть отдельные режимы для локального микрофона, WebSocket, TCP и Docker. Проект уже используется как разговорный бэкенд для тысяч роботов Reachy Mini.

Лицензия: Apache 2.0.

https://github.com/huggingface/speech-to-speech

@Python_Community_ru
PyPI закрыл опасную лазейку в старых релизах

Теперь PyPI запрещает загружать новые файлы в релиз спустя 14 дней после его публикации. Старую версию пакета больше нельзя внезапно дополнить новым wheel или архивом.

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

Изменение затронет мало проектов: среди 15 000 популярных пакетов лишь 56 добавляли wheel для Python 3.14 позже установленного срока.

Разработчикам теперь придётся выпускать новую версию пакета, даже когда нужно лишь добавить сборку для свежей версии Python. В будущем PyPI планирует формально разделить релизы на открытые и закрытые через Upload 2.0 API.


https://blog.pypi.org/posts/2026-07-22-releases-now-reject-new-files-after-14-days/

@Python_Community_ru
👍1
🖥 Git bisect - для поиска багов

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

Запускаем:


git bisect start
git bisect bad
git bisect good


Git будет делить историю пополам и просить отметить каждый найденный коммит:


git bisect good
git bisect bad


Через несколько шагов он покажет коммит, в котором появился баг.

Можно автоматизировать:


git bisect run pytest


Тогда Git сам прогонит тесты и найдёт виновника.

@Python_Community_ru
CLI-Anything: как дать AI-агентам руки для обычных приложений

Идея простая: CLI-Anything генерирует командные интерфейсы для реального софта, чтобы агент мог не «тыкать мышкой», а вызывать понятные команды.

Так можно управлять CAD-инструментами, 3D-редакторами, редакторами субтитров, браузером, Blender, FreeCAD, GIMP, Inkscape, Obsidian, Kdenlive, OBS и другими приложениями. В репозитории уже есть десятки agent-harness’ов под разные программы.

Как это выглядит:

* агент получает задачу
* вызывает CLI
* приложение делает работу
* результат можно проверить и повторить

Есть и CLI-Hub: установка через pip install cli-anything-hub, дальше можно ставить готовые CLI через cli-hub install .

GitHub: https://github.com/HKUDS/CLI-Anything

@Python_Community_ru
🔥1
🔥 За одну неделю вышло сразу 6 интересных open-weight моделей

Пока все ждут веса Kimi K3 и Ling 3.0, в LLM Architecture Gallery Себастьяна Расчки появилось несколько свежих архитектур.

1. Nanbeige 4.2 3B
Всего 3B non-embedding параметров, но используется Looped Transformer: один и тот же стек слоёв проходит дважды. Больше эффективной глубины без удвоения весов.

https://huggingface.co/Nanbeige/Nanbeige4.2-3B

2. Laguna S 2.1
118B MoE, только 8B активных параметров, 48 слоёв и контекст 1M токенов. Сделана Poolside с упором на coding agents и длинные задачи.

https://huggingface.co/poolside/Laguna-S-2.1

3. Motif-3-Beta
Огромный 314B-A13B MoE: 384 routed experts, 8 активируются на токен, контекст 256K.

https://huggingface.co/Motif-Technologies/Motif-3-Beta

4. Solar Open 2
250B-A15B MoE от Upstage с 1M контекстом. Архитектура чередует три linear-attention слоя с одним обычным softmax-attention слоем. Модель рассчитана на длинные agentic workflows.

https://www.upstage.ai/blog/en/solar-open-2

5. Antares 1B
Компактная security-модель Cisco для анализа репозиториев и поиска потенциально уязвимого кода. Основана на Granite и дообучена под agentic terminal workflows.

https://huggingface.co/fdtn-ai/antares-1b

6. BTL-3
Rank-32 LoRA для Qwen3.6-27B, заточенная под coding agents и tool calling. Авторы заявляют 95,1% HumanEval и 88,5% BFCL v4 AST.

https://huggingface.co/badtheorylabs/BTL-3

Полная галерея архитектур:

https://sebastianraschka.com/llm-architecture-gallery/

@Python_Community_ru
ProtoLink - лёгкий Python-фреймворк для мультиагентных систем с A2A в основе

ProtoLink строит архитектуру вокруг самих агентов, а не цепочек вызовов LLM. Каждый агент имеет собственные capabilities, tools, lifecycle и может напрямую передавать задачи другим агентам через Agent-to-Agent (A2A).

Что есть внутри:

* OpenAI, Anthropic, Gemini, DeepSeek, Ollama, llama.cpp и другие модели;
* native Python tools и MCP;
* HTTP, SSE, WebSocket и gRPC;
* SQLite state и хранение запусков;
* telemetry через Langfuse и LangSmith;
* auth, policies, approvals, budgets и replay;
* Pipeline, Parallel, Router и Graph для детерминированных workflow.

Фреймворк local-first: можно поднять агента вообще без API-ключа и облачной модели, а затем подключить Ollama или другой backend без переписывания tools и логики взаимодействия. Базовый пакет зависит только от Pydantic.

GitHub:
https://github.com/nMaroulis/protolink

Лицензия: MIT.

@Python_Community_ru
🔥 `Agents-cli` от Google - полный конвейер разработки AI-агентов из терминала

Инструмент добавляет coding-агентам вроде Claude Code, Codex и Antigravity CLI готовые навыки для работы с Google ADK и облачной инфраструктурой. Сам agents-cli моделью или отдельным coding-агентом не является.

Что умеет:

• создавать каркас агентного проекта
• запускать агента локально
• генерировать датасеты для eval
• оценивать и сравнивать трассы
• находить типичные причины ошибок
• автоматически оптимизировать промпты
• добавлять RAG, CI/CD и observability
• деплоить в Cloud Run, GKE или Agent Runtime
• публиковать агента в Gemini Enterprise

Для локальной разработки Google Cloud необязателен — достаточно Gemini API через AI Studio. Для облачного деплоя уже потребуется собственный проект Google Cloud.

Установка:


uvx google-agents-cli setup


Можно установить только skills:


npx skills add google/agents-cli


Лицензия Apache 2.0.

🔗 https://github.com/google/agents-cli

@Python_Community_ru
🎙 Kyutai открыла готовый стек для потоковых голосовых агентов

Delayed Streams Modeling — репозиторий с моделями и примерами для streaming STT и TTS. Аудио обрабатывается частями: агент начинает распознавать речь и генерировать ответ, не дожидаясь окончания записи.

Что внутри:

• потоковая транскрибация с временными метками для каждого слова
• модель 1B EN/FR с задержкой около 0,5 секунды и semantic VAD
• английская модель 2.6B с задержкой около 2,5 секунды
• PyTorch-ноутбуки для экспериментов
• Rust-сервер с WebSocket для продакшена
• MLX-реализация для Mac и iPhone
• streaming TTS, который принимает текст и сразу выдаёт звук частями.

На H100 разработчики заявляют обработку до 400 одновременных STT-потоков, а Rust-сервер на L40S обслуживает 64 подключения быстрее реального времени.

Лицензии разделены по компонентам: Python и web — MIT, Rust backend — Apache 2.0, веса STT — CC BY 4.0.

🔗 https://github.com/kyutai-labs/delayed-streams-modeling

@Python_Community_ru
🐍 collections.Counter: больше, чем подсчёт частот

Большинство используют Counter только ради most_common(), хотя у него есть куда более интересные возможности.


from collections import Counter

a = Counter("abracadabra")
b = Counter("barbecue")


Можно складывать и вычитать частоты:


a + b
a - b


Пересечение и объединение счётчиков:


a & b # минимальные значения
a | b # максимальные значения


Удалить элементы с нулевой и отрицательной частотой:


clean = +a


Получить общее число элементов:


a.total()


Развернуть счётчик обратно в последовательность:


list(a.elements())


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

#Python #Collections #Backend

@Python_Community_ru
🔥1
🚀 NVIDIA открыла единый фреймворк для обучения и запуска world models

Cosmos Framework объединяет полный цикл работы с моделями Cosmos 3: обучение, дообучение, инференс и онлайн-сервинг.

Что внутри:

• распределённое обучение через FSDP, TP, CP и PP
• импорт и экспорт Hugging Face safetensors
• поддержка JSONL, WebDataset и LeRobot
• инференс через Diffusers, Transformers и vLLM
• batch-генерация и сервер на Ray + Gradio
• готовые Agent Skills для Claude Code, Codex CLI и Cursor

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

Примеры обучения протестированы на 8× H100 80 ГБ, а облегчённую Cosmos3-Nano можно запускать на одной GPU.

🔗 https://github.com/NVIDIA/cosmos-framework

@Python_Community_ru
🐍 Python-совет: как объединить списки разной длины и не потерять данные

Обычный zip() останавливается на самом коротком списке:


numbers = [1, 2, 3, 4, 5]
letters = ["a", "b", "c"]

print(list(zip(numbers, letters)))
# [(1, 'a'), (2, 'b'), (3, 'c')]


Элементы 4 и 5 просто исчезнут. Чтобы сохранить их, используйте zip_longest():


from itertools import zip_longest

result = zip_longest(
numbers,
letters,
fillvalue="нет значения",
)

print(list(result))


Результат:


[
(1, "a"),
(2, "b"),
(3, "c"),
(4, "нет значения"),
(5, "нет значения"),
]


А когда списки обязаны иметь одинаковую длину, в Python 3.10+ лучше включить проверку:


zip(numbers, letters, strict=True)


Вместо тихой потери данных Python сразу выбросит ValueError.

Полезно при обработке таблиц, CSV, результатов API и параллельных наборов данных.

#Python #Programming #PythonTips

@Python_Community_ru
🎬 Seedance 2.0 превратили в полноценную операционную систему для ИИ-режиссёра

Seedance 2.0 Skill OS - открытый набор навыков и пайплайнов, который помогает создавать видео не через набор слов вроде «cinematic, epic, beautiful», а через режиссёрскую постановку сцены.

Система определяет драматическую задачу эпизода и согласует под неё:

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

Есть отдельные модули для text-to-video, image-to-video, продолжения роликов, первого и последнего кадров, устранения проблем и сохранения персонажей между сценами.

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

Также внутри есть готовые процессы для раскадровки, монтажа, цветокоррекции, локализации, звука и финального контроля качества. Поддерживается работа на русском языке. Проект распространяется под MIT License.

GitHub:
https://github.com/Emily2040/seedance-2.0

@Python_Community_ru
🔥1
🚀 LoopX удерживает ИИ-агента в одной задаче более 200 часов

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

LoopX выносит состояние за пределы LLM и хранит его в отдельной контрольной плоскости:

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

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

В открытых демонстрациях циклы исправления Issue/PR в OpenViking и AutoML-эксперимента сохраняли состояние более 200 часов. Это время всей траектории с ожиданием, ревью и повторными запусками, а не непрерывная работа модели.

По сути, LoopX - это Kanban-доска, превращённая в систему выполнения для агентов. Её состояние напрямую определяет следующий допустимый шаг.

Поддерживаются Codex, Claude Code, Cursor, OpenCode и собственные рантаймы. Проект распространяется по лицензии MIT.

https://github.com/huangruiteng/loopx

#AI #AIAgents #OpenSource #Codex #ClaudeCode #Automation

@Python_Community_ru