Wagtail как Django admin на стероидах
Хороший разбор для Django-разработчиков: Wagtail можно использовать не только как CMS, но и как более удобную админку для обычных Django-моделей.
Смысл простой: Django admin быстро даёт UI вокруг моделей, но кастомизация часто превращается в боль. Wagtail даёт более современный интерфейс, нормальную работу с полями, группировку через panels, роли, permissions, rich text, media library, versioning и редакторские workflow.
При этом не нужно переписывать проект под CMS-логику. Wagtail ставится как обычный Django-пакет, добавляется в INSTALLED_APPS, подключается в urls.py, а бизнес-логика, views, forms и templates остаются обычными Django.
Самый практичный случай использования : взять существующий admin.py, перенести модели в Wagtail snippets и постепенно заменить старую админку там, где нужен интерфейс, который не стыдно показать клиенту.
Для внутренних тулзов, CRM, backoffice и контентных разделов это может быть намного приятнее, чем бесконечно допиливать стандартный Django admin.
https://timonweb.com/wagtail/wagtail-as-django-admin-on-steroids/
@Python_Community_ru
Хороший разбор для Django-разработчиков: Wagtail можно использовать не только как CMS, но и как более удобную админку для обычных Django-моделей.
Смысл простой: Django admin быстро даёт UI вокруг моделей, но кастомизация часто превращается в боль. Wagtail даёт более современный интерфейс, нормальную работу с полями, группировку через panels, роли, permissions, rich text, media library, versioning и редакторские workflow.
При этом не нужно переписывать проект под CMS-логику. Wagtail ставится как обычный Django-пакет, добавляется в INSTALLED_APPS, подключается в urls.py, а бизнес-логика, views, forms и templates остаются обычными Django.
Самый практичный случай использования : взять существующий admin.py, перенести модели в Wagtail snippets и постепенно заменить старую админку там, где нужен интерфейс, который не стыдно показать клиенту.
Для внутренних тулзов, CRM, backoffice и контентных разделов это может быть намного приятнее, чем бесконечно допиливать стандартный Django admin.
https://timonweb.com/wagtail/wagtail-as-django-admin-on-steroids/
@Python_Community_ru
✔️ DeepSeek OCR локально на RTX 3090
Проект даёт полноценный OCR и умную обработку документов прямо у себя на машине через DeepSeek-OCR.
Что внутри:
загрузка изображений и многостраничных PDF
точное распознавание текста + структурирование
экспорт в Markdown / HTML / DOCX / JSON
извлечение изображений и сохранение формул
удобный интерфейс (React) + API (FastAPI)
готов к запуску в Docker
Подходит, когда нужно превратить сканы в редактируемые и поисковые документы без облака.
GitHub: http://github.com/rdumasia303/deepseek_ocr_app
@Python_Community_ru
Проект даёт полноценный OCR и умную обработку документов прямо у себя на машине через DeepSeek-OCR.
Что внутри:
загрузка изображений и многостраничных PDF
точное распознавание текста + структурирование
экспорт в Markdown / HTML / DOCX / JSON
извлечение изображений и сохранение формул
удобный интерфейс (React) + API (FastAPI)
готов к запуску в Docker
Подходит, когда нужно превратить сканы в редактируемые и поисковые документы без облака.
GitHub: http://github.com/rdumasia303/deepseek_ocr_app
@Python_Community_ru
The Easiest Way to Scrape the Web
Инструмент, который Имитирует браузеры для скрейпинга и парсит HTML в Markdown.
Незаметный web-scraping и удобный HTML-парсинг в Python.
https://github.com/jpjacobpadilla/Stealth-Requests
@Python_Community_ru
Инструмент, который Имитирует браузеры для скрейпинга и парсит HTML в Markdown.
Незаметный web-scraping и удобный HTML-парсинг в Python.
https://github.com/jpjacobpadilla/Stealth-Requests
@Python_Community_ru
Забавная игрушка на ночь: GitHub-профиль теперь можно превратить в карточку в стиле FIFA.
GitFut прогоняет аккаунт по метрикам вроде коммитов, звёзд, репозиториев, подписчиков и активности, а потом собирает карточку с рейтингом от 0 до 99.
Идеально, чтобы внезапно узнать, ты GitHub-легенда или бронзовый запасной с одним pet-проектом.
https://gitfut.com/
@Python_Community_ru
GitFut прогоняет аккаунт по метрикам вроде коммитов, звёзд, репозиториев, подписчиков и активности, а потом собирает карточку с рейтингом от 0 до 99.
Идеально, чтобы внезапно узнать, ты GitHub-легенда или бронзовый запасной с одним pet-проектом.
https://gitfut.com/
@Python_Community_ru
✔️ Data-Juicer: пайплайн для подготовки данных под foundation models
Alibaba и сообщество Data-Juicer развивают open-source систему для обработки датасетов перед обучением, дообучением и RAG.
Data-Juicer помогает чистить, фильтровать, дедуплицировать, синтезировать и анализировать данные. Работает не только с текстом, но и с мультимодальными датасетами: изображениями, аудио и видео. В версии 2.0 заявлено больше 100 операторов для разных модальностей.
Практический сценарий понятный: есть сырой корпус из разных источников, где много дублей, мусора, слабых примеров и перекоса по доменам. Data-Juicer позволяет собрать воспроизводимый data recipe, прогнать его на локальной машине или в распределённом режиме и потом оценить, как изменения в данных влияют на модель.
Проект смотрит на данные как на отдельный слой оптимизации. Позволяет настроить качество, смесь, фильтры и пайплайн обработки. В ранней работе авторы показывали прирост до 7.45% по среднему score на 16 LLM-бенчмарках и 17.5% win rate в GPT-4 pairwise evaluation за счёт data recipes.
https://github.com/datajuicer/data-juicer
@Python_Community_ru
Alibaba и сообщество Data-Juicer развивают open-source систему для обработки датасетов перед обучением, дообучением и RAG.
Data-Juicer помогает чистить, фильтровать, дедуплицировать, синтезировать и анализировать данные. Работает не только с текстом, но и с мультимодальными датасетами: изображениями, аудио и видео. В версии 2.0 заявлено больше 100 операторов для разных модальностей.
Практический сценарий понятный: есть сырой корпус из разных источников, где много дублей, мусора, слабых примеров и перекоса по доменам. Data-Juicer позволяет собрать воспроизводимый data recipe, прогнать его на локальной машине или в распределённом режиме и потом оценить, как изменения в данных влияют на модель.
Проект смотрит на данные как на отдельный слой оптимизации. Позволяет настроить качество, смесь, фильтры и пайплайн обработки. В ранней работе авторы показывали прирост до 7.45% по среднему score на 16 LLM-бенчмарках и 17.5% win rate в GPT-4 pairwise evaluation за счёт data recipes.
https://github.com/datajuicer/data-juicer
@Python_Community_ru
✔️ DeepSeek-V4 теперь можно запускать локально через GGUF от Unsloth.
DeepSeek-V4-Flash в lossless-версии запускается на 168 ГБ RAM.
3-битная версия работает на Mac и сетапах с RAM/VRAM примерно от 110 ГБ.
Unsloth также улучшили chat template, чтобы модель корректнее работала в диалоговом формате.
Запускать можно через Unsloth Studio или llama.cpp.
Гайд: unsloth.ai/docs/models/deepseek-v4
GGUF: huggingface.co/unsloth/DeepSeek-V4-Flash-GGUF
@Python_Community_ru
DeepSeek-V4-Flash в lossless-версии запускается на 168 ГБ RAM.
3-битная версия работает на Mac и сетапах с RAM/VRAM примерно от 110 ГБ.
Unsloth также улучшили chat template, чтобы модель корректнее работала в диалоговом формате.
Запускать можно через Unsloth Studio или llama.cpp.
Гайд: unsloth.ai/docs/models/deepseek-v4
GGUF: huggingface.co/unsloth/DeepSeek-V4-Flash-GGUF
@Python_Community_ru
Хорошая памятка по Python-скриптам, которые не стыдно запускать не только у себя на ноутбуке.
Что советуют:
* зависимости можно указывать прямо в файле через inline metadata и запускать через uv run
* секреты не хардкодить, а брать из env, getpass или системного keyring
* print() оставить для пользователя, logging — для отладки
* env-переменные документировать в --help
* результат отдавать в stdout, ошибки и логи — в stderr
* поддерживать pipe через stdin
* завершаться нормальными exit code
* явно задавать приоритет конфигурации: CLI > env > config > default
Маленький скрипт тоже может быть удобным, безопасным и предсказуемым.
Особенно когда его через месяц запускает уже не автор, а кто-то другой.
https://www.bitecode.dev/p/scripting-good-practices-in-python
@Python_Community_ru
Что советуют:
* зависимости можно указывать прямо в файле через inline metadata и запускать через uv run
* секреты не хардкодить, а брать из env, getpass или системного keyring
* print() оставить для пользователя, logging — для отладки
* env-переменные документировать в --help
* результат отдавать в stdout, ошибки и логи — в stderr
* поддерживать pipe через stdin
* завершаться нормальными exit code
* явно задавать приоритет конфигурации: CLI > env > config > default
Маленький скрипт тоже может быть удобным, безопасным и предсказуемым.
Особенно когда его через месяц запускает уже не автор, а кто-то другой.
https://www.bitecode.dev/p/scripting-good-practices-in-python
@Python_Community_ru
GPT-5.6 Terra выглядит слабым выбором по соотношению интеллект / цена.
Судя по графику, Terra проигрывает почти на всей кривой эффективности.
То есть его трудно оправдать и по стоимости, и по производительности.
Luna и Sol стабильно выглядят сильнее:
* за те же деньги дают больше intelligence
* или дают похожий уровень intelligence дешевле
* на разных reasoning-режимах обходят Terra
Особенно выделяется Luna.
Она даёт конкурентный уровень качества за заметно меньшую цену, поэтому выглядит лучшим вариантом для задач, где важна эффективность.
Вывод простой: если нужен разумный default по цене и качеству, Luna сейчас выглядит сильнее Terra.
https://x.com/Machinelearrn/status/2075969904826605891
@Python_Community_ru
Судя по графику, Terra проигрывает почти на всей кривой эффективности.
То есть его трудно оправдать и по стоимости, и по производительности.
Luna и Sol стабильно выглядят сильнее:
* за те же деньги дают больше intelligence
* или дают похожий уровень intelligence дешевле
* на разных reasoning-режимах обходят Terra
Особенно выделяется Luna.
Она даёт конкурентный уровень качества за заметно меньшую цену, поэтому выглядит лучшим вариантом для задач, где важна эффективность.
Вывод простой: если нужен разумный default по цене и качеству, Luna сейчас выглядит сильнее Terra.
https://x.com/Machinelearrn/status/2075969904826605891
@Python_Community_ru
Агенты прокачивают друг друга
UCSB-AI выложили GEA, фреймворк для open-ended self-improvement агентов через обмен опытом.
Идея простая, но мощная: улучшать не одного агента в вакууме, а целую группу агентов как одну эволюционирующую систему.
Один агент нашёл удачный паттерн, другой переиспользовал его, третий доработал, группа стала сильнее.
Это похоже на переход от «один AI сам себя улучшает» к «популяция агентов накапливает коллективный опыт».
В репозитории есть код для запуска GEA, интеграция с SWE-bench и Polyglot, Docker-окружение, промпты и инструменты для foundation-моделей. Проект распространяется под Apache-2.0.
https://github.com/UCSB-AI/GEA
@Python_Community_ru
UCSB-AI выложили GEA, фреймворк для open-ended self-improvement агентов через обмен опытом.
Идея простая, но мощная: улучшать не одного агента в вакууме, а целую группу агентов как одну эволюционирующую систему.
Один агент нашёл удачный паттерн, другой переиспользовал его, третий доработал, группа стала сильнее.
Это похоже на переход от «один AI сам себя улучшает» к «популяция агентов накапливает коллективный опыт».
В репозитории есть код для запуска GEA, интеграция с SWE-bench и Polyglot, Docker-окружение, промпты и инструменты для foundation-моделей. Проект распространяется под Apache-2.0.
https://github.com/UCSB-AI/GEA
@Python_Community_ru
⚡️ OpenChronicle - локальная память для AI-агентов
Одна из главных проблем AI-агентов: они быстро теряют контекст.
Сегодня вы обсуждали проект, архитектуру, людей, решения и инструменты. Завтра агент снова спрашивает: «А что мы делаем?»
OpenChronicle пытается закрыть эту дыру.
Он запускается на Mac, смотрит на рабочий контекст и превращает его в постоянную Markdown-память:
* проекты
* решения
* инструменты
* людей
* последние действия
* важные рабочие детали
Память хранится локально, её можно открыть и прочитать руками. Под капотом - Markdown на диске и SQLite.
https://github.com/Einsia/OpenChronicle
@Python_Community_ru
Одна из главных проблем AI-агентов: они быстро теряют контекст.
Сегодня вы обсуждали проект, архитектуру, людей, решения и инструменты. Завтра агент снова спрашивает: «А что мы делаем?»
OpenChronicle пытается закрыть эту дыру.
Он запускается на Mac, смотрит на рабочий контекст и превращает его в постоянную Markdown-память:
* проекты
* решения
* инструменты
* людей
* последние действия
* важные рабочие детали
Память хранится локально, её можно открыть и прочитать руками. Под капотом - Markdown на диске и SQLite.
https://github.com/Einsia/OpenChronicle
@Python_Community_ru
🔍 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
👍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
В старых версиях 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