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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
🖥 NVIDIA открыла бесплатный доступ к мощным ИИ-моделям через API

В каталоге NVIDIA NIM можно использовать DeepSeek V4, GLM 5.2, Kimi K2.6, Nemotron и десятки других моделей без оплаты каждого запроса.

Подключение занимает несколько минут:

1. Открываем NVIDIA NIM и создаём бесплатный аккаунт NVIDIA Developer.
2. Выбираем модель и нажимаем Get API Key.
3. Копируем ключ.
4. В Cursor, Cline, OpenCode или другом совместимом клиенте указываем endpoint:


https://integrate.api.nvidia.com/v1


5. Вставляем ключ, выбираем идентификатор модели и отправляем тестовый запрос.

API совместим с привычным форматом OpenAI, поэтому его можно подключать к собственным приложениям, агентам и инструментам для программирования.

Важный нюанс: это бесплатные endpoints для разработки и прототипирования. Действуют ограничения по частоте запросов, возможны очереди, а список моделей и условия доступа NVIDIA может изменить.

Действительно бесплатно способ протестировать дорогие модели без отдельной подписки.

Источник:
https://build.nvidia.com/

@Python_Community_ru
🚀 Neo4j без сервера: GraphForge запускает полноценный Cypher прямо внутри Python-скрипта

GraphForge занимает редкую нишу между NetworkX и серверными графовыми БД. Вы получаете встроенный графовый движок на Rust, полный openCypher и хранение проекта в обычной директории.

Что внутри:

- четыре независимых слоя на Rust: parser → IR → planning → execution;
- результаты сразу возвращаются как Apache Arrow Table;
- данные легко передаются в Pandas и Polars;
- постоянное хранение построено на Parquet;
- встроены PageRank, Louvain и гибридный текстово-векторный поиск;
- Python- и Node.js-биндинги работают поверх одного движка.


from graphforge import GraphForge

graph = GraphForge("research/")

result = graph.execute("""
MATCH (a)-[:CITES]->(b)
RETURN a.title, b.title
""")

print(result.to_pandas())


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

Python и Node.js доступны сейчас, Swift и Kotlin находятся в планах. Лицензия — Apache 2.0.

https://github.com/CurateLabs/graphforge

#RustLang #Python #OpenSource #GraphDatabase #DataScience #KnowledgeGraph

@Python_Community_ru
🔥 Harbor - единый фреймворк для тестирования и улучшения AI-агентов

Сравнивать Claude Code, OpenHands, Codex CLI и других агентов сложно: у каждого свои команды, окружения и форматы результатов.

Harbor превращает это в единый воспроизводимый пайплайн. Он позволяет запускать разные модели и coding-агентов на одинаковых задачах в изолированных контейнерах.

Что умеет Harbor:

- тестировать разные модели и AI-агенты;
- запускать Terminal-Bench, SWE-Bench и Aider Polyglot;
- создавать собственные бенчмарки и окружения;
- параллельно проводить тысячи экспериментов;
- собирать rollouts для RL-оптимизации;
- работать локально через Docker или в облачных sandbox-сервисах.

Установка:


uv tool install harbor

Пример запуска:


harbor run \
--dataset terminal-bench@2.0 \
--agent claude-code \
--model anthropic/claude-opus-4-1 \
--n-concurrent 4

Harbor используется как evaluation harness для Terminal-Bench 2.0 и распространяется по лицензии Apache 2.0.

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

GitHub:
https://github.com/harbor-framework/harbor

@Python_Community_ru
Prime Agent - новый open-source coding harness для задач, которые продолжаются часами или даже несколькими сессиями.

Вместо десятков отдельных инструментов модель получает один постоянный IPython-кernel. Через Python она может:

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

Разработчики описывают подход так:

> Контекст становится переменной, а делегирование субагентам - вызовом функции внутри REPL.

Агент может написать код, найти нужный фрагмент истории и обработать данные программно.

Есть и механизм /refine: Prime Agent анализирует собственную траекторию и может обновлять вспомогательные промпты, память, навыки и настройки субагентов. Изменения сохраняются между сессиями и при необходимости откатываются.

По собственным тестам Prime Intellect, связка Prime Agent + Opus 5 набрала 95,5% на ARC-AGI-3 - немного выше указанного авторами бенчмарка результата экспертов в 95,4%.

В предварительном EmulatorBench агент также смог с нуля написать на Rust работающие эмуляторы SEGA Genesis и Game Boy Color без доступа к готовым реализациям.

Prime Agent распространяется под MIT-лицензией и работает на macOS и Linux.

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

GitHub:
https://github.com/PrimeIntellect-ai/prime-agent

Подробности:
https://www.primeintellect.ai/blog/prime-agent

@Python_Community_ru
XY - новая open-source библиотека визуализации от команды Reflex. Она пытается объединить удобство Matplotlib с интерактивностью браузерных графиков и производительностью Rust.

Для больших датасетов Rust-ядро XY вычисляет только то, что реально можно показать при текущем разрешении экрана. При приближении данные уточняются и появляются исходные точки.


import xy

chart = xy.line_chart(
xy.line(
[1, 2, 3, 4, 5],
[120, 180, 165, 240, 310]
)
)

chart


Есть даже совместимость с привычным стилем Matplotlib:


import xy.pyplot as plt

fig, ax = plt.subplots()
ax.plot(x, y)
plt.show()


По собственному бенчмарку разработчиков на Apple M5 Pro:

- 100 млн точек в density-режиме - ~0,081 с;
- 100 млн реальных маркеров без агрегации - ~1,34 с;
- библиотека уже использовалась для визуализации датасета OpenStreetMap примерно на 10 млрд точек.

Под капотом:


Python API

ColumnStore

Rust compute

binary buffers

WebGL2 / Canvas


Графики интерактивные: pan, zoom, hover, selection и linked charts. Их можно использовать в Jupyter и веб-приложениях, а затем экспортировать в HTML, PNG, SVG или PDF.

Установка:


pip install xy


Если подход оправдает себя, XY может стать интересной альтернативой связке Matplotlib + Plotly для действительно больших датасетов.

Источник:
https://github.com/reflex-dev/xy

#Python #DataScience #Visualization #Rust

@Python_Community_ru
🚀 LLMs-from-scratch пробил 100 000 звёзд на GitHub - и это уже одна из лучших практических баз по устройству современных LLM.

Проект Себастьяна Рашки показывает весь путь с нуля - без магии высокоуровневых библиотек:

- токенизация и attention;
- pretraining;
- классификация;
- instruction fine-tuning;
- LoRA, DPO и evaluation;
- KV cache и оптимизация памяти;
- эффективная загрузка весов.

Причём репозиторий давно вышел за рамки «соберём маленький GPT».

Там уже есть реализации Llama, Qwen, Gemma и OLMo с нуля, а также современные архитектурные техники:

- GQA;
- MLA;
- Sliding Window Attention;
- Gated DeltaNet;
- DeepSeek Sparse Attention;
- cross-layer KV sharing;
- Mixture-of-Experts.

Самое полезное - уменьшенные версии моделей можно запускать локально и подключать к тем же training scripts, чтобы реально экспериментировать с архитектурой, а не только читать статьи.

Рашка продолжит добавлять новые варианты attention и архитектуры, а RL и Reasoning From Scratch развивает в отдельных репозиториях.

Если хочется не просто использовать LLM через API, а действительно понять, что происходит внутри трансформера - это один из тех репозиториев, которые стоит пройти руками.

🔗 github.com/rasbt/LLMs-from-scratch

#AI #LLM #MachineLearning #DeepLearning #OpenSource

@Python_Community_ru
🚀 Django 6.1 вышел: меньше магии, больше контроля

Новая версия Django приносит улучшения для production-приложений и работы с базой данных.

Главное новшество — новый подход к загрузке данных моделей.

Теперь можно контролировать, когда Django делает дополнительные запросы:


from django.db import models

books = Book.objects.fetch_mode(
models.FETCH_PEERS
)


Это помогает бороться с проблемой N+1 запросов и лучше контролировать нагрузку на БД.

Новые режимы:

- FETCH_ONE — загружать данные только для текущего объекта;
- FETCH_PEERS — догружать данные сразу для группы объектов;
- RAISE — запрещать неожиданные запросы и ловить проблемы заранее.

Также в Django 6.1:

- поддержка Python 3.12, 3.13 и 3.14;
- PostgreSQL 15+;
- MySQL 8.4+;
- MariaDB 10.11+;
- улучшения cache и внутренних механизмов.

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

Django всё меньше скрывает стоимость операций и даёт разработчикам больше контроля над тем, что происходит под капотом.

Подробнее:

@Python_Community_ru

https://www.djangoproject.com/weblog/2026/aug/05/django-61-released/
⚡️ QueryTuner - open-source инструмент, который разбирает SQL-запрос и показывает, почему он может тормозить.

Подключаться к базе вообще не обязательно. Можно просто вставить SQL и получить диагностику.

Поддерживаются сразу 5 диалектов:

- PostgreSQL
- MySQL
- Oracle
- SQL Server
- SQLite

Внутри два уровня анализа.

1. Детерминированный heuristic engine

Он мгновенно ищет типичные anti-patterns:

- SELECT *
- функции внутри WHERE
- leading wildcard в LIKE
- потенциально отсутствующие индексы
- ORDER BY без ограничения результата
- другие проблемы производительности

Сейчас заявлено 12 правил, и для них не нужны ни LLM, ни внешний API.
2. Опциональный AI-слой

Можно подключить Qwen через Hugging Face или OpenAI. Тогда QueryTuner умеет:

- объяснять проблему человеческим языком;
- переписывать запрос;
- предлагать CREATE INDEX;
- объяснять, зачем конкретный индекс нужен.

Особенно интересно, что можно передать ещё и CREATE TABLE DDL. Тогда рекомендации становятся schema-aware: инструмент видит реальные таблицы, колонки и существующие индексы.

Например, для такого запроса:


SELECT *
FROM orders
WHERE YEAR(created_at) = 2026;

Хороший проект для тех случаев, когда SQL уже работает, но хочется понять, почему через полгода он начнёт работать плохо.

#SQL #PostgreSQL #Database #OpenSource #DataEngineering

https://github.com/AutoShiftOps/querytuner

@Python_Community_ru
🐍 Django-разработчикам: `DEBUG=True` в проде опаснее, чем кажется.

Это не просто красивые страницы ошибок. При включённом DEBUG приложение может раскрывать stack trace, настройки, пути файлов, middleware, URL-паттерны и другие детали окружения.

Главная рекомендация - fail closed:


DEBUG = False


То есть по умолчанию DEBUG всегда выключен, а включается только локально.

Даже staging, QA и preview-среды, доступные из интернета, лучше запускать с DEBUG=False.

Отдельная ловушка - переменные окружения:


DEBUG = os.environ.get("DEBUG", "False") != "False"


Здесь DEBUG=false или DEBUG=0 могут неожиданно превратиться в True.

Лучше явно парсить boolean или использовать django-environ.

Мелкая настройка, которая однажды может спасти production от очень неприятной утечки.

https://lincolnloop.com/blog/setting-djangos-debug-safely/

#Python #Django #Backend #Security #DevOps

@Python_Community_ru
🤖 Agency Agents - готовая команда специализированных AI-агентов для разработки, маркетинга, дизайна и бизнеса

Вместо одного универсального «сделай всё» агента проект предлагает десятки узких специалистов: Backend Architect, AI Engineer, DevOps Automator, Code Reviewer, Database Optimizer, SRE, Prompt Engineer, RAG Engineer и многих других.

Каждый агент - это не просто короткий prompt. Внутри описаны:

* роль и стиль общения;
* рабочий процесс;
* ожидаемые deliverables;
* технические примеры;
* критерии успешного результата.

Установить агентов можно в Claude Code, Cursor, Codex, Gemini CLI, OpenCode, Aider, Windsurf и другие инструменты. Есть и отдельное приложение для macOS, Linux и Windows.

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


./scripts/install.sh \
--tool claude-code \
--division engineering


Или конкретных агентов:


./scripts/install.sh \
--tool cursor \
--agent frontend-developer,ui-designer


По сути, Agency Agents превращает папку с промптами в готовый каталог AI-ролей, которые можно подключать к привычному coding agent без создания каждого system prompt с нуля.

Проект распространяется по лицензии MIT.

GitHub:
https://github.com/msitarzewski/agency-agents

@Python_Community_ru
🔥 Kimi K3 на 2,78 ТРИЛЛИОНА параметров запустили на CPU с 8 ГБ RAM. Без GPU, BLAS и фреймворков

Проект kimi-k3-in-c реализует inference Kimi K3 практически с нуля на portable C99. Чекпоинт модели занимает 1,56 ТБ, но пик RAM при запуске составил всего 8,24 ГБ.

Фокус в MoE и стриминге весов. Из 896 экспертов на токен выбираются только 16, а остальные веса не обязаны постоянно лежать в оперативной памяти. Огромная часть модели читается прямо с диска, поверх этого работает LRU-кэш экспертов.

Цена такого трюка очевидна: скорость. При 8 ГБ RAM автор получил около 26,5 секунды на токен, при 64 ГБ уже 19,8 секунды, а на машине с 128+ ГБ, где нужные данные помещаются в память, около 5,6 секунды.

Получается любопытная смена ограничения: гигантскую MoE уже можно заставить работать без серверной фермы. Вопрос теперь скорее в том, сколько диска и времени на токен вы готовы отдать за такой inference.

github.com/FareedKhan-dev/kimi-k3-in-c

#AI #Kimi #LLM #C #LocalAI

@Python_Community_ru
🐍 Опытный Python-разработчик рассказал, для каких проектов в 2026 году он уже не выбирает Python первым.

Автор десятилетиями использовал Python практически для всего, но со временем пришёл к простой мысли: хороший универсальный язык не обязан быть лучшим инструментом для каждой задачи.

В презентации разбирается, где ограничения Python начинают перевешивать его удобство и почему для некоторых проектов сегодня разумнее посмотреть на другие языки и экосистемы.

При этом это не очередное «Python умер».

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

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

#/

#Python #Programming #SoftwareEngineering #Development

@Python_Community_ru

https://menno.io/presentations/not-python-2026/index.html
🐍 Python-разработчики часто тестируют код с зависимостью от времени. Но обычный mock для дат — это намного сложнее, чем кажется.

Библиотека time-machine решает эту проблему: она позволяет буквально «перемещать время» внутри тестов.

Например:


import datetime as dt
import time_machine

@time_machine.travel("2030-01-01")
def test_future():
assert dt.date.today() == dt.date(2030, 1, 1)


В отличие от популярных подходов вроде freezegun, библиотека не ищет и не заменяет все импорты в проекте.

Она работает на уровне C API CPython, перехватывая функции даты и времени напрямую. Поэтому скорость не зависит от количества загруженных модулей. В бенчмарках time-machine оказался более чем в 100 раз быстрее freezegun на простых сценариях.

Полезно для тестирования:

• подписок и платежей
• истечения токенов
• календарных функций
• планировщиков задач
• логики с дедлайнами

Проект:
https://github.com/adamchainz/time-machine

https://adamj.eu/tech/2026/08/03/python-time-machine-o1-freezegun-on/

@Python_Community_ru
Полный инженерный курс по AI-агентам на русском: от tool calling до production

Курс инженерный, а не обзорный. Здесь почти нет рассуждений о том, «изменит ли ИИ мир», зато есть: минимальные работающие реализации каждого механизма, лабораторные с критериями приёмки, шаблоны для копирования, чек-листы перед релизом, каталог антипаттернов и набор бенчмарков, по которым можно честно сравнить две версии своего агента.

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

https://github.com/justxor/Aiagentsfullcourse

@Python_Community_ru
🔥 DeepSeek Harness - пример того, почему сегодня важна не только модель, но и всё окружение вокруг неё

Harness - это слой между LLM и реальной работой: инструменты, terminal, permissions, память, tool loop и правила обработки ответов.

У deepseek-harness есть Python-библиотека, CLI dsh, MCP-сервер и интеграция в формате Anthropic Skill. Проект документирует особенности протокола DeepSeek V4-Pro/V4-Flash и автоматически обрабатывает проблемные места вроде reasoning_content, parallel tool calls, streaming и context limits.

Например:


pip install deepseek-harness-cli


Ключевая идея очень актуальна для agent engineering:

одна и та же модель с разным harness может вести себя как совершенно другой агент.

Модель отвечает за интеллект.
Harness - за то, сможет ли этот интеллект стабильно работать с инструментами и длинными workflow.

Вот полезный гайд, (https://helmcode.com/deepseek-harness) где собрали большой разбор проекта: 23 секции, от запуска за минуту до архитектуры и теории Cordis.

Что особенно интересно:

архитектура максимально модульная - компоненты можно заменять плагинами;
проект model-agnostic и работает с OpenAI-compatible API;
под harness лежит Cordis - отдельная формальная модель безопасного самоизменения программ;
можно менять не только tools, но даже логику, которая решает, что агент должен делать дальше;
проект пока developer preview, поэтому breaking changes ожидаемы


Разбор: https://helmcode.com/deepseek-harness

@Python_Community_ru
🖥 Для Python появился Interlock - современный circuit breaker без зоопарка отдельных решений для sync и async.

Один CircuitBreaker умеет работать и с обычными функциями, и с async, считать процент ошибок по скользящему окну и отдельно реагировать на слишком медленные вызовы.

Можно собрать полноценный pipeline отказоустойчивости:


pipeline = (
Pipeline.builder()
.fallback(...)
.retry(attempts=4)
.circuit_breaker(breaker)
.bulkhead(8)
.timeout(2.0)
.build()
)


То есть timeout, retry, ограничение параллелизма, circuit breaker и fallback складываются в одну явную цепочку.

Есть интеграции с httpx, aiohttp, requests, FastAPI, Redis и OpenTelemetry. Через Redis состояние breaker можно шарить между несколькими процессами или инстансами приложения.

Ещё полезная штука - METRICS_ONLY: сначала можно просто посмотреть реальные проценты ошибок и медленных запросов в проде, ничего не блокируя, а уже потом включить breaker.


https://github.com/bagowix/interlock

@Python_Community_ru
Для тех, кто работает с ACP-агентами из терминала, появился простой REPL

acp-repl запускает любой stdio-сервер с поддержкой Agent Client Protocol и позволяет общаться с агентом прямо из терминала: отправлять промпты, создавать сессии, переключать модель и режим, обрабатывать permission-запросы и смотреть debug-логи.

Работает не с одним конкретным агентом. В README есть примеры для OpenCode, Codex, Claude Code и Pi, плюс можно подключить любой другой ACP-совместимый executable.

Удобная штука для быстрой проверки агента до того, как встраивать его в свой runtime или приложение. Можно сравнить поведение разных моделей и режимов, проверить permissions или просто понять, нормально ли стартует конкретный ACP-провайдер.

Запуск через npm:


npm install -g @normahq/acp-repl@latest

acp-repl -- opencode acp


Репозиторий:
https://github.com/normahq/acp-repl

@Python_Community_ru