uk
Feedback
Zen of Python

Zen of Python

Відкрити в Telegram

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Показати більше

📈 Аналітичний огляд Telegram-каналу Zen of Python

Канал Zen of Python (@zen_of_python) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 19 270 підписників, посідаючи 6 967 місце в категорії Технології та додатки та 35 078 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 19 270 підписників.

За останніми даними від 04 червня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 19, а за останні 24 години на 7, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 12.73%. Протягом перших 24 годин після публікації контент зазвичай збирає 5.61% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 2 454 переглядів. Протягом першої доби публікація в середньому набирає 1 082 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 11.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як github, rust, pip, api, install.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Завдяки високій частоті оновлень (останні дані отримано 05 червня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

19 270
Підписники
+724 години
+157 днів
+1930 день
Архів дописів
Servy — свежий проект для запуска Python-скриптов (на самом деле не только Python) как Windows-сервисов без боли Проблема: нужно, чтобы Python-скрипт работал в фоне как сервис Windows: стартовал при загрузке, перезапускался при падении, писал логи. Стандартный sc работает только с приложениями, специально написанными как сервисы, а pythonw.exe + Task Scheduler — костыль без нормального мониторинга. Решение: Servy. Указываешь путь к Python, скрипт, аргументы, рабочую директорию, env-переменные → Install → готово. Есть GUI для тех, кто не любит CLI. ​ Что умеет 🔘Логирование stdout/stderr с ротацией (по размеру и дате) 🔘Health checks + автоперезапуск при падении 🔘Мониторинг CPU/RAM в реальном времени 🔘Уведомления о падениях 🔘Pre/post-launch хуки 🔘Экспорт/импорт конфигов ​ Установка
winget install servy
choco install -y servy
scoop install servy
📎 Код на GitHub, пример для Python, на видео демо @zen_of_python

Вышел Gazetteer — офлайн геокодер на Python, который не врёт на границах Небольшое напоминание, зачем это вообще нужно: Reverse geocoding — когда есть координаты, а нужно понять что там: страна, регион, город. Нужно для аналитики доставки, логистики, геотаргетинга, обработки GPS-логов. Проблема: большинство офлайн-решений ищут ближайшую точку (nearest-neighbor). У границ это ломается — ближайший город может быть в другой стране. ​ Gazetteer проверяет, в какой полигон реально попадает координата. KD-Tree для быстрого отсева + валидация вхождения в polygon. ​ Характеристики 🔘210+ стран, 145 000+ административных границ 🔘10 000 координат за <2 секунды (<0,4 мс на точку) 🔘Single-process и multiprocessing 🔘Без внешних API — никаких лимитов и платежей ​🔘Автор говорит, что начинал как toy project, но оказалось production-ready. 📎 Код на GitHub, документация на сайте @zen_of_python

pyreqwest — новый HTTP-клиент на Rust для Python. GIL-free, HTTP/2 из коробки, sync и async с одинаковым API. Автор — тот же разработчик, который открыл issue #3215 в httpx о 10x просадке производительности при конкурентных запросах. ​ Зачем переходить с httpx httpx/httpcore имеют давние проблемы с connection pooling — при 20 конкурентных запросах httpx в 10+ раз медленнее aiohttp. Эти баги висят годами. pyreqwest решает их на уровне архитектуры, потому что connection pool реализован на Rust. ​ ➡️ Если httpx работает — можно не трогать. Но в высоконагруженных системах он станет бутылочным горлышком. Фичи 🔘HTTP/1.1 и HTTP/2 (у aiohttp нет HTTP/2) 🔘Автодекомпрессия: zstd, gzip, brotli, deflate 🔘TLS через rustls 🔘Connection pooling, стриминг, multipart 🔘Куки, прокси, редиректы, таймауты 🔘Полные type hints, zero Python-зависимостей 🔘Встроенный мок для тестов + подключение к ASGI напрямую Быстрый старт:
# uv add pyreqwest

from pyreqwest.client import ClientBuilder, SyncClientBuilder

async def example_async():
    async with ClientBuilder().error_for_status(True).build() as client:
        response = await client.get("https://httpbun.com/get").query({"q": "val"}).build().send()
        print(await response.json())        

def example_sync():
    with SyncClientBuilder().error_for_status(True).build() as client:
        print(client.get("https://httpbun.com/get").query({"q": "val"}).build().send().json())
​ 📎 Код на GitHub @zen_of_python

Tryolabs опубликовали 11-й ежегодный топ Python-библиотек Команда перелопатила сотни проектов и отобрала те, что реально полезны в продакшене. Критерии: практическая польза (не хайп), активная поддержка, понятная ценность для разработчика. AI-библиотек могло быть 90%, но список специально разделили на две части. ​ ➡️ Категория «Не ИИ» 0️⃣ty — тайпчекер на Rust от Astral (авторы ruff и uv). Инкрементальный анализ на уровне функций — меняешь одну функцию, перепроверяется только она ​ 1️⃣complexipy — измеряет когнитивную сложность кода (не цикломатическую). Есть GitHub Action, pre-commit хук и расширение для VS Code ​ 3️⃣Kreuzberg — извлекает данные из 50+ форматов, работает на Rust, биндинги для Python/TS/Ruby/Go. Есть CLI, REST API и MCP-сервер ​ 3️⃣throttled-py — rate limiting с пятью алгоритмами (Fixed Window, Token Bucket, GCRA и др.), поддержка Redis и async 4️⃣httptap — waterfall-визуализация HTTP-запросов: DNS, TLS handshake, время ответа — всё по фазам 5️⃣fastapi-guard — security-мидлварь для FastAPI: IP-фильтры, геоблокировка, детект SQL-инъекций 6️⃣modshim — оверлей модификаций поверх чужих модулей без monkey-patching и форков 7️⃣Spec Kit — спецификации как источник истины для AI-ассистентов. Пишешь spec → AI генерит код по плану, а не угадывает (и всё же что-то про ИИ — прим. ред.) 8️⃣skylos — поиск мёртвого кода + детект уязвимостей, включая паттерны vibe-coded кода 9️⃣FastOpenAPI — автогенерация OpenAPI-документации для Flask, Falcon, Tornado, Django и ещё 4 фреймворков ​ ➡️ Категория «AI/ML/Data» 0️⃣MCP Python SDK + FastMCP — стандарт подключения LLM к внешним данным (Anthropic) ​ 1️⃣TOON — Token-Oriented Object Notation, JSON-like, но YAML-стиль для вложенности + CSV-формат для массивов. Экономия 40-60% токенов, заголовки с длиной помогают LLM валидировать структуру ​ 3️⃣Deep Agents — агентный фреймворк с planning через write_todos/read_todos, файловой системой (ls, read_file, edit_file), спавном субагентов3️⃣smolagents — агенты в ~1000 строк кода. LLM пишет действия как Python, а не JSON → на 30% меньше шагов на бенчмарках. Поддержка любых LLM, E2B/Docker/WASM sandbox ​ 4️⃣LlamaIndex Workflows — event-driven архитектура: степы + события вместо DAG. Async-first, автовывод типов из аннотаций, стриминг результатов, чекпоинты для возобновления ​ 5️⃣Batchata — единый интерфейс для batch API Anthropic/OpenAI/Gemini. Экономия 50%, лимиты по стоимости, dry-run для оценки расходов, Pydantic-валидация выходов ​ 6️⃣MarkItDown — PDF/DOCX/PPTX/Excel/HTML/аудио → Markdown. Сохраняет структуру (заголовки, таблицы, списки) ​ 7️⃣Data Formulator — визуализация через natural language + drag-n-drop. Указываешь поля которых ещё нет («profit_margin») → AI генерит трансформацию ​ 8️⃣LangExtract — извлечение структурированных данных с точной привязкой к позиции в тексте (character offset). Критично для медицины/юридики. Few-shot, чанкинг для длинных документов, HTML-визуализация ​ 9️⃣GeoAI — мост между PyTorch/Transformers и геоданными. Поиск спутниковых снимков → подготовка датасета → обучение → инференс → визуализация через Leafmap @zen_of_python

Весь год вы носили футболки и джинсы… Хватит! Заглядывайте к нам в виртуальную примерочную и выбирайте себе идеальный скин дл
Весь год вы носили футболки и джинсы… Хватит! Заглядывайте к нам в виртуальную примерочную и выбирайте себе идеальный скин для встречи Нового года. Осторожно, эти наряды могут наповал сразить ваших коллег… Реклама

Clean Architecture в Python: не догма, а инструмент — разбор от разработчика с 30-летним стажем Макс Кирхофф взял интервью у Сэма Кина — автора книги «Clean Architecture with Python». Сэм прошёл путь от стартапов до AWS и делится практическим подходом к архитектуре. Ключевые моменты 🔘Clean Architecture — не «всё или ничего», а набор принципов под твой контекст 🔘Главная ценность — грамотное управление зависимостями и чёткая доменная модель 🔘Хорошая архитектура = тестируемый код (связь прямая) 🔘Бонус: чистая архитектура упрощает работу с AI-ассистентами при написании кода Почему важно Python любят за прагматику — и можно сохранить её, не скатываясь в спагетти-код. Архитектурные принципы адаптируются, а не навязываются. 📎 Видео на YouTube или в этом посте @zen_of_python

Программисты из Tproger подготовили для вас новогоднее бинго. Заканчивайте работу, пора позалипать на этот шедевр.

Astral выпустили ty — type checker для Python, который в 10-60x быстрее mypy и Pyright Astral — это те ребята, которые сделали uv и Ruff. Теперь у них полный тулчейн для Python: пакеты, линтинг, форматирование и type checking — всё на Rust, всё безумно быстрое. Что такое ty Type checker + language server. Альтернатива mypy, Pyright и Pylance. Написан на Rust, спроектирован с нуля под инкрементальность — пересчитывает только то, что изменилось.​ Скорость 🔘Без кэша: 10-60x быстрее mypy и Pyright 🔘В редакторе после правки файла в PyTorch: 4.7ms (Pyright — 386ms, Pyrefly — 2.38 сек) 🔘Это 80x и 500x разница соответственно​ Что умеет 🔘First-class intersection types, продвинутый type narrowing, reachability analysis 🔘Диагностики как у Rust-компилятора — показывает контекст из нескольких файлов, объясняет почему ошибка и как починить 🔘Полноценный LSP: Go to Definition, Rename, Auto-Complete, Auto-Import, Inlay Hints​ Как попробовать
uv tool install ty@latest
Или VS Code extension: ищите «ty» в маркетплейсе. Сейчас Beta — команда Astral уже использует его в продакшне. Stable планируется в следующем году. В планах — поддержка Pydantic, Django и type-aware линтинг в связке с Ruff. 📎 GitHub, пост в блоге, на видео демо скорости работы @zen_of_python

Python 3.15.0a3 — третья альфа уже доступна, всё по графиу релизов, только что выложили. До беты ещё полгода, но уже есть инт
Python 3.15.0a3 — третья альфа уже доступна, всё по графиу релизов, только что выложили. До беты ещё полгода, но уже есть интересное. 🔘PEP 799 — встроенный sampling profiler: высокочастотный, низкий overhead, отдельный пакет для профилирования 🔘PEP 686 — UTF-8 теперь дефолтная кодировка (наконец-то!) 🔘PEP 782 — новый C API PyBytesWriter для создания bytes-объектов 🔘Больше предложений по фиксам в сообщениях об ошибках (см. скриншот) Таймлайн 🔘Альфа 4 выйдет 13 января 2026 🔘Бета: 5 мая 2026 🔘RC: 28 июля 2026 Напоминание: альфа-релизы не для продакшна. Фичи могут измениться или исчезнуть до RC. Но посмотреть уже очень интересно, конечно. @zen_of_python

Kreuzberg v4 — вышла новая версия библиотеки для извлечения текста, таблиц и метаданных из 56+ форматов. Была на Python, тепе
Kreuzberg v4 — вышла новая версия библиотеки для извлечения текста, таблиц и метаданных из 56+ форматов. Была на Python, теперь переписана на Rust, в 5-15 раз легче конкурентов, есть готовые биндинги под популярные языки. Есть настоящий async без GIL и стриминг для гигабайтных файлов. Главное: 16–31 MB полная установка против 146 MB – 9,7 GB у Unstructured/Docling/MarkItDown. Также в новой версии встроили эмбеддинги (FastEmbed + ONNX), семантический чанкинг, определение 68 языков и MCP-сервер для Claude Desktop. Установка для Python:
pip install kreuzberg
📎 GitHub: https://github.com/kreuzberg-dev/kreuzberg На картинке сравнение с альтернативами. @zen_of_python

Python's random.seed() игнорирует знак числа — и это не баг Андрей Карпати наткнулся на неочевидное поведение: random.seed(5) и random.seed(-5) дают одинаковую последовательность случайных чисел.​ ➡️ Как обнаружилось Карпати работал над nanochat и хотел использовать знак seed'а для разделения train/test данных. Получил баг: train и test оказались идентичными.​ ➡️ Почему так В исходниках CPython (_randommodule.c, строка 321) явно вызывается abs():
// "This algorithm relies on the number being unsigned"
n = PyNumber_Absolute(arg);
Знак просто отбрасывается.​ ➡️ Баг или фича? Формально — не баг. Документация гарантирует только то, что одинаковый seed даст одинаковую последовательность. Но не гарантирует, что разные seed'ы дадут разные последовательности.​ Карпати считает это ошибкой дизайна: знаковый бит мог бы удвоить пространство seed'ов. Простое решение: n -> 2*abs(n) + int(n < 0).​ ➡️ Что дальше 🔘Не полагаться на отрицательные seed'ы как на «другие» 🔘В NumPy отрицательные seed'ы вызывают ошибку — там строже​ 🔘Открыт issue на GitHub для обновления документации​
import random
random.seed(42)
print(random.random())  # 0.6394267984578837

random.seed(-42)
print(random.random())  # 0.6394267984578837
@zen_of_python

Команда urllib3 столкнулась с неприятным открытием: механизм DeprecationWarning в Python фактически не работает. Библиотека три года предупреждала об устаревших API — через документацию, changelog и встроенные предупреждения. В версии 2.6.0 эти методы удалили. И всё сломалось. Что произошло: после релиза посыпались баг-репорты от Kubernetes-клиента, Fastly, Airflow и других крупных проектов. Разработчики были в шоке — никто не видел предупреждений и не знал, что API исчезнет. Команде urllib3 пришлось срочно откатывать изменения и возвращать удалённые методы. Почему так вышло: DeprecationWarning в Python по умолчанию отключён. Интерпретатор просто игнорирует эти предупреждения, если разработчик явно не включил их показ. В итоге API годами кричал о своей устарелости, но его никто не слышал. Какие есть варианты: 🔘Использовать UserWarning вместо DeprecationWarning — он не игнорируется по умолчанию 🔘Делать более частые мажорные релизы по SemVer, как в криптографических библиотеках 🔘Менять культуру работы с предупреждениями в экосистеме — но это долгий путь Вывод для авторов библиотек: если полагаетесь только на стандартные предупреждения — велика вероятность, что их никто не увидит до момента, пока код не сломается. @zen_of_python

JetBrains опубликовали State of Developer Ecosystem 2025 — опрос 24 500+ разработчиков из 190+ стран. Python на первом месте с 35%. Топ языков: 🐍 Python — 35% ☕️ Java — 33% 🌐 JavaScript — 26% 🧩 TypeScript — 22% 🎨 HTML/CSS — 16% Важная оговорка: это не «все программисты мира», а преимущественно аудитория JetBrains. PyCharm, IntelliJ, WebStorm — у компании сильные IDE именно для Python, Java и веб-стека. Так что выборка смещена в сторону этих языков. Например, Go и Rust-разработчики чаще сидят в VS Code, Swift-девелоперы — в Xcode. Тем не менее, тренд понятен: Python уверенно держится в топе благодаря AI/ML и автоматизации. 41% Python-разработчиков в опросе используют язык для машинного обучения.​ Другие находки: 🔘85% используют AI-инструменты для кода 🔘TypeScript, Rust и Go — лидеры по потенциалу роста 🔘PHP и Ruby продолжают снижаться​ Для более объективной картины стоит смотреть несколько источников: Stack Overflow Survey, TIOBE, RedMonk, GitHub Octoverse. Но то, что Python стабильно в топ-3 везде — факт. @zen_of_python

PyAtlas — интерактивная карта 10 000 самых популярных пакетов PyPI, где похожие библиотеки расположены рядом друг с другом. К
PyAtlas — интерактивная карта 10 000 самых популярных пакетов PyPI, где похожие библиотеки расположены рядом друг с другом. Как работает: описания пакетов прогоняются через sentence transformer → получаются эмбеддинги → UMAP сжимает их в 2D → кластеризация группирует по темам. В итоге веб-фреймворки оказываются в одном углу, ML-библиотеки в другом, тулзы для тестирования в третьем. Что можно делать: 🔘Просто тыкать и исследовать экосистему Python с высоты птичьего полёта 🔘Найти пакет, который уже используешь, и посмотреть что рядом — там будут альтернативы и связанные инструменты 🔘Обнаружить библиотеки, о которых не слышал, но которые решают похожие задачи Практическая польза: когда ищешь «что-то вроде X, но для Y» — карта покажет соседей по смыслу, а не по алфавиту. Или когда хочешь понять что вообще существует в какой-то нише. Под капотом: Python, sentence-transformers для эмбеддингов, UMAP для редукции размерности, HDBSCAN для кластеризации. Код открыт на GitHub. @zen_of_python

Pyrefly — модный тайпчекер, написанный на Rust — добавил нативную поддержку Pydantic. Теперь это второй (после Mypy) инструмент, который понимает магию Pydantic-моделей без костылей.​ Pyrefly выкатили в апреле 2025 как замену старому Pyre, который использовался для кода инсты в сами-знаете-какой организации. Написан на Rust, работает со скоростью до 1,8 млн строк/сек — это в 14 раз быстрее Mypy и Pyright. В ноябре вышла бета (v0.42+), сейчас актуальная версия 0.45.​ Что поддерживается для Pydantic: 🔘ConfigDict и immutable-поля 🔘Strict vs non-strict валидация 🔘Extra fields 🔘Field constraints 🔘Root models 🔘Alias validation Главное отличие от Mypy: всё встроено в сам тайпчекер, не нужен отдельный плагин. Pyright пока Pydantic нативно не поддерживает.​ Зачем пробовать: если у вас большой Python-проект с Pydantic-моделями — Pyrefly даст и скорость проверки, и правильный вывод типов для моделей. Есть VSCode-расширение с autocomplete, go-to-definition, автоимпортами.​​ Код на гитхабе, документация по интеграции есть как у Pyrefly, так и у Pydantic. @zen_of_python

Вышел release candidate pandas 3.0 — мажорный релиз с breaking changes, который готовили несколько лет. Стабильная версия ожидается через пару недель.​ Главные изменения: 🔘Строки теперь отдельный dtype — больше никакого object для текстовых колонок. Новый str dtype под капотом использует PyArrow (если установлен), иначе fallback на NumPy. Это даёт строгую типизацию, лучшую производительность и меньше памяти.​ 🔘Copy-on-Write включён по умолчанию — конец путанице view vs copy. Теперь любой срез DataFrame/Series ведёт себя как копия. Chained assignment больше не работает, SettingWithCopyWarning удалён. Внутри pandas всё ещё использует views для оптимизации, но API стал предсказуемым.​ 🔘Datetime resolution inference — при создании datetime из строк pandas теперь сам определяет нужную точность (секунды, миллисекунды, микросекунды) вместо дефолтных наносекунд.​ Удалено: 🔘DataFrame.applymap → используйте map 🔘Series.view и Series.ravel 🔘Поддержка Python 2 pickle 🔘ArrayManager 🔘Куча deprecated параметров​ Новая политика deprecation: сначала DeprecationWarning, потом FutureWarning в последнем минорном релизе, потом удаление. Меньше внезапных поломок.​ Потестить: pip install --upgrade --pre pandas, полный список изменений в рели-ноутсах. @zen_of_python

JetBrains выпустили PyCharm 2025.3 — и это важный релиз, потому что PyCharm Community Edition официально всё. Теперь есть только один PyCharm: базовые фичи (включая Jupyter) бесплатно, расширенные — по подписке Pro.​ Что нового: 🔘uv по умолчанию — при создании проекта теперь предлагается uv вместо venv. Для тех кто не в курсе: uv — это менеджер пакетов от Astral (создатели Ruff), работает в 10-100 раз быстрее pip​ 🔘LSP-интеграции из коробки: Ruff и Pyright теперь настраиваются прямо в Settings → Python → Tools. Не нужны сторонние плагины​ 🔘Remote Jupyter — можно подключаться к удалённым Jupyter-серверам и работать с ноутбуками без локальной установки​ 🔘AI Agents Debugger — дебаггер для агентных систем, показывает что происходит внутри «чёрного ящика»: входы, выходы, метаданные каждого шага​ 🔘300+ багфиксов​ Про миграцию с Community: если использовал Community Edition, при обновлении до 2025.3 произойдёт автоматическая миграция на unified PyCharm. Все бесплатные фичи останутся, плюс добавится Jupyter. Исходники Community по-прежнему открыты, но готовых билдов больше не будет.​ @zen_of_python

Летим зимовать ✈️ Когда холодает, айтишники пакуют чемоданы, а мы разыгрываем ваучер на 50 000 рублей в Островке. Поехать к морю или остаться среди снежных пейзажей — выбирайте сами! Чтобы участвовать, нужно оставить любую реакцию под этим постом и подписаться на каналы ниже: 😎 Типичный программист 🐸 Библиотека программиста 🟢 Ostrovok! Tech Теперь осталось нажать на кнопку участия под этим постом и вы в игре! Итоги подведём 12 декабря. Победителя выберем с помощью бота. Подробнее с правилами можно ознакомиться здесь. Всем удачи! Участников: 19 Призовых мест: 1 Дата розыгрыша: 19:00, 12.12.2025 MSK (4 дня)

Вайб-кодер смотрит, как ИИ просит прощения после удаления всех файлов на диске C: #постИИрония
Вайб-кодер смотрит, как ИИ просит прощения после удаления всех файлов на диске C: #постИИрония

Команда Puzl Cloud выложила в опенсорс KubeSDK — Python-клиент для работы с Kubernetes API. Основная идея: сделать типизированный async-first клиент с минимумом зависимостей, который удобно использовать в продакшене и при работе с несколькими кластерами одновременно.​ Чем отличается от официального kubernetes-client/python: 🔘Полностью асинхронный из коробки (не как обёртка поверх sync-кода) 🔘Все методы и модели типизированы — IDE нормально автокомплитит 🔘Встроенный генератор моделей: скармливаешь ему Kubernetes API — получаешь dataclasses для всех ресурсов, включая CRD 🔘Единый интерфейс для core-ресурсов и custom resources 🔘Заточен под высокую нагрузку и мульти-кластерные сценарии​ Есть альтернативы — kubernetes_asyncio, kr8s, lightkube — но у каждой свои компромиссы. kubernetes_asyncio генерируется из OpenAPI и тоже async, но не такой developer-friendly. kr8s поддерживает и sync, и async, но там другой подход к моделям.​ Код в репо, установка pip install kubesdk[cli]. @zen_of_python

Zen of Python - Статистика та аналітика Telegram каналу @zen_of_python