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

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

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

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
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
🔥 Stepik Курс: «Python современный AI для разработчика и автоматизации задач» ровно про второе. (https://stepik.org/a/295921/pay?promo=fffd8f81e6cea704)

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

Внутри то, о чём молчат туториалы: структурированный вывод по схеме, RAG, который не выдумывает, агенты с tool calling, evals и ловля регрессий, кэш, лимиты и очереди, инъекции промптов, локальный запуск через Ollama и vLLM, text-to-SQL с правами только на чтение, pgvector с HNSW, MCP и песочница для кода агента.

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

72 часа скидка 55% процентов, начать учиться - https://stepik.org/a/295921 (https://stepik.org/a/295921/pay?promo=fffd8f81e6cea704)

@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
Модель показывает отличную точность в ноутбуке, но так и не становится рабочим сервисом. Причина часто не в качестве самой модели, а в архитектуре системы вокруг неё.

07 сентября в 20:00 на открытом уроке курса «ML System Design» вы разберёте, как превратить модель на Python в полноценный ML-сервис. Увидите, как связаны хранение данных, обучение, реестр моделей, сервис инференса и мониторинг.

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

Урок будет полезен специалистам по данным, ML- и MLOps-инженерам, разработчикам и архитекторам.

Урок проведёт Игорь Стурейко.

https://vk.cc/d0yk82

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🐍 Опытный 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