🔍 OmniParser (https://github.com/microsoft/OmniParser?tab=readme-ov-file) — это инструмент от Microsoft, предназначенный для разбора и анализа интерфейсов приложений на основе скриншотов
🌟 OmniParser позволяет распознавать и структурировать элементы интерфейса, обеспечивая, чтобы визуальные агенты на основе GPT могли ориентироваться и взаимодействовать с различными GUI-компонентами. OmniParser поддерживает модель для обнаружения интерактивных областей и описания иконок, делая возможным создание агентов, ориентированных на визуальное восприятие
🔐 Лицензия: CC-BY-4.0
🖥 Github (https://github.com/microsoft/OmniParser?tab=readme-ov-file)
@Python_Community_ru
🌟 OmniParser позволяет распознавать и структурировать элементы интерфейса, обеспечивая, чтобы визуальные агенты на основе GPT могли ориентироваться и взаимодействовать с различными GUI-компонентами. OmniParser поддерживает модель для обнаружения интерактивных областей и описания иконок, делая возможным создание агентов, ориентированных на визуальное восприятие
🔐 Лицензия: CC-BY-4.0
🖥 Github (https://github.com/microsoft/OmniParser?tab=readme-ov-file)
@Python_Community_ru
Кто-то разобрал Claude Code почти до винтика
learn-coding-agent - репозиторий для тех, кто хочет понять, как устроены современные coding agents не на уровне промо-страниц, а на уровне архитектуры.
Автор собрал разбор Claude Code по публичным источникам: цикл агента, систему инструментов, разрешения, работу с контекстом, сессии, подпроцессы, MCP, удалённые настройки, телеметрию и скрытые флаги.
Получился не “гайд по использованию”, а карта внутренней логики CLI-агента: как он принимает решение, когда просит разрешение, как вызывает инструменты, как хранит историю и как расширяется через внешние интеграции.
https://github.com/justxor/Claudecourse/
@Python_Community_ru
learn-coding-agent - репозиторий для тех, кто хочет понять, как устроены современные coding agents не на уровне промо-страниц, а на уровне архитектуры.
Автор собрал разбор Claude Code по публичным источникам: цикл агента, систему инструментов, разрешения, работу с контекстом, сессии, подпроцессы, MCP, удалённые настройки, телеметрию и скрытые флаги.
Получился не “гайд по использованию”, а карта внутренней логики CLI-агента: как он принимает решение, когда просит разрешение, как вызывает инструменты, как хранит историю и как расширяется через внешние интеграции.
https://github.com/justxor/Claudecourse/
@Python_Community_ru
Все уже пользуются AI coding agents. Но почти никто не понимает, как они реально работают.
learn-claude-code разбирает Claude Code-style agent harness с нуля. Авторская формула простая: Bash is all you need.
Вместо магии и маркетинга там показывают базовый цикл агента: модель отвечает, просит вызвать tool, код выполняет действие, результат возвращается обратно в контекст, и цикл продолжается.
Дальше на этот скелет постепенно навешиваются реальные части агентной системы:
* tool use
* permissions
* hooks
* memory
* context compaction
* subagents
* background tasks
* MCP
* worktree isolation
71.1K звёзд у tutorial repo — хороший сигнал. Люди устали от “AI agents за 5 минут” и хотят наконец понять, что там внутри.
https://github.com/shareAI-lab/learn-claude-code
#AI #OpenSource
@Python_Community_ru
learn-claude-code разбирает Claude Code-style agent harness с нуля. Авторская формула простая: Bash is all you need.
Вместо магии и маркетинга там показывают базовый цикл агента: модель отвечает, просит вызвать tool, код выполняет действие, результат возвращается обратно в контекст, и цикл продолжается.
Дальше на этот скелет постепенно навешиваются реальные части агентной системы:
* tool use
* permissions
* hooks
* memory
* context compaction
* subagents
* background tasks
* MCP
* worktree isolation
71.1K звёзд у tutorial repo — хороший сигнал. Люди устали от “AI agents за 5 минут” и хотят наконец понять, что там внутри.
https://github.com/shareAI-lab/learn-claude-code
#AI #OpenSource
@Python_Community_ru
🔥1
В Python пытаются принести настоящие goroutines.
runloom — экспериментальный runtime для free-threaded Python 3.13t+, где можно писать обычный блокирующий код, но запускать его как лёгкие fibers:
runloom.fiber(fn)
Без async def, без await, без переписывания всего приложения под asyncio.
Под капотом там не магия, а довольно жёсткая инженерия: hand-written asm context switch, C work-stealing scheduler, netpoll, Go-style channels и monkey.patch(), который делает blocking stdlib cooperative.
То есть urlopen(), socket, time, threading могут выглядеть как обычный синхронный код, но runtime будет парковать fiber, а не весь OS thread.
По бенчмаркам автора, Runloom уже близко к Go по scheduler throughput: около 2.29M spawn/s на C-entry, parity на conn/s и почти parity на keep-alive echo с Python handler.
Но важный нюанс: мультикорный выигрыш требует free-threaded CPython с выключенным GIL. На обычной GIL-сборке модель останется скорее удобной альтернативой asyncio, а не способом выжать все ядра.
Ещё честный минус - память. Пустой parked fiber весит больше Go-горутины примерно в 3.3 раза, потому что за ним тянется CPython eval frame.
pip install runloom
https://github.com/robertsdotpm/runloom
@Python_Community_ru
runloom — экспериментальный runtime для free-threaded Python 3.13t+, где можно писать обычный блокирующий код, но запускать его как лёгкие fibers:
runloom.fiber(fn)
Без async def, без await, без переписывания всего приложения под asyncio.
Под капотом там не магия, а довольно жёсткая инженерия: hand-written asm context switch, C work-stealing scheduler, netpoll, Go-style channels и monkey.patch(), который делает blocking stdlib cooperative.
То есть urlopen(), socket, time, threading могут выглядеть как обычный синхронный код, но runtime будет парковать fiber, а не весь OS thread.
По бенчмаркам автора, Runloom уже близко к Go по scheduler throughput: около 2.29M spawn/s на C-entry, parity на conn/s и почти parity на keep-alive echo с Python handler.
Но важный нюанс: мультикорный выигрыш требует free-threaded CPython с выключенным GIL. На обычной GIL-сборке модель останется скорее удобной альтернативой asyncio, а не способом выжать все ядра.
Ещё честный минус - память. Пустой parked fiber весит больше Go-горутины примерно в 3.3 раза, потому что за ним тянется CPython eval frame.
pip install runloom
https://github.com/robertsdotpm/runloom
@Python_Community_ru
GitHub
GitHub - robertsdotpm/runloom: Real Goroutines for Python 3.13t+ free-threaded.
Real Goroutines for Python 3.13t+ free-threaded. Contribute to robertsdotpm/runloom development by creating an account on GitHub.
⚡️ 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
Возможности
- проверка корректности телефонного номера
- определение страны и оператора связи
- поиск упоминаний через 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
Подборка без мусора: код, поиск, браузеры, 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
🖥 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
В старых версиях 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
Не просто “загрузил ролик и получил ответ”, а режим, где модель непрерывно обрабатывает 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
Обычно реконструкция сцены требует отдельной связки для оценки камер, глубины и отслеживания точек. 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
Репозиторий 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
Теперь 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