Zen of Python
19.8K subscribers
1.32K photos
199 videos
38 files
3.4K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
Мелочь, но приятно: copier-astral — шаблон, который генерит для нового проекта настройки для ruff, uv, pytest, CI/CD одной командой. Как вы поняли, всё для любителей Astral-стека (а кто сейчас не такой?).

Что внутри:
🔘uv — пакетный менеджер
🔘ruff — линтер + форматтер (замена black/isort/flake8)
🔘ty — новый тайпчекер от Astral на Rust
🔘pytest + hatch — тесты с матрицей версий
🔘MkDocs Material — документация
🔘prek — Rust-альтернатива pre-commit (быстрее)
🔘GitHub Actions — CI/CD из коробки
🔘git-cliff — changelog по Conventional Commits

Опционально: Typer CLI scaffold, Docker

Установка:
# сначала uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# затем copier через uv
uv tool install copier --with copier-template-extensions

# создать новый проект
copier copy --trust gh:ritwiktiwari/copier-astral my-project


Почему Copier, а не cookiecutter?


Copier умеет обновлять уже созданные проекты при изменении шаблона — не нужно руками мержить новые best practices.

📎 Код в репо, доки, пример проекта

@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
3🙈2
⚡️ Вышли критические обновления безопасности Django — 6.0.2, 5.2.11 и 4.2.28.

Закрыты три SQL-инъекции высокой критичности:

CVE-2026-1207 — инъекция через raster lookups в PostGIS при использовании пользовательских данных как индексов band.

CVE-2026-1287 — инъекция через управляющие символы в алиасах колонок при использовании FilteredRelation со специально сформированными словарями.

CVE-2026-1312 — инъекция через order_by() и FilteredRelation при использовании точки в алиасах колонок.

Также исправлены: DoS через повторяющиеся заголовки в ASGI (CVE-2025-14550), DoS через незакрытые HTML-теги в Truncator (CVE-2026-1285), timing-атака для перечисления пользователей в mod_wsgi (CVE-2025-13473).

Если используете PostGIS или FilteredRelation — обновляйтесь срочно.

@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
1
И ещё один свежий релиз: вышел Python 3.14.3 с несколькими крупными фичами.

🔘Free-threading (PEP 779)

Официальная поддержка потоков без GIL. Теперь можно собрать Python без глобальной блокировки интерпретатора и получить настоящую многопоточность. Для большинства это пока не актуально — требует пересборки и совместимых библиотек. Но направление задано.

🔘T-strings (PEP 750)

Новый синтаксис t"..." — как f-strings, но без автоматической интерполяции. Возвращает шаблон, который можно обработать отдельно. Полезно для безопасной работы со строками в SQL, HTML, логах.

query = t"SELECT * FROM users WHERE id = {user_id}"
# query — не строка, а Template объект


🔘Отложенная оценка аннотаций (PEP 649)

Аннотации типов теперь вычисляются лениво. Можно писать def foo() -> Bar до определения класса Bar. Это упрощает работу с циклическими импортами и forward references.

Практический совет

Если у вас 3.14 на продакшене — обновляйтесь осторожно. А вот для экспериментов с free-threading — самое время попробовать.

@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
61
PEP 822 предлагает d-строки — новый способ работы с многострочным текстом в Python 3.15.

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

def example():
query = d"""
SELECT *
FROM users
WHERE active = true
"""
# query не содержит лишних пробелов слева


Работает аналогично textwrap.dedent(), но на уровне синтаксиса — без вызова функции и накладных расходов в рантайме.

Можно комбинировать с f-строками: df"""...""" для шаблонов с подстановкой переменных.

PEP пока в статусе Draft, целевая версия — Python 3.15.

@zen_of_python
👍22🔥3
Нашёл прекрасное: memory_graph — визуализация того, что реально происходит в памяти Python. Либа рисует граф объектов: переменные, ссылки, алиасы, копии. Сразу видно почему b += [1] и b = b + [1] — это разные вещи.

Вот примеры: Hash Map, Binary Tree, Copying, Recursion.

Установка: pip install --upgrade memory_graph

Для изучения питона — очень круто, рекомендую.

@zen_of_python
This media is not supported in your browser
VIEW IN TELEGRAM
6❤‍🔥1
«У Python только один реальный конкурент» — и это не Rust, не Go, не Julia

Это Clojure. Автор (Ethan McCue) объясняет логику:

Для реальной конкуренции с Python в Data Science нужно два условия:
1️⃣Иметь аналогичную экосистему
3️⃣Превосходить Python в чём-то важном

Экосистема: У Clojure есть полные аналоги numpy (dtype-next), pandas (tech.ml.dataset), ML-пайплайны (metamorph.ml), плоттинг (Tableplot), ноутбуки (Clay). А чего нет — можно вызвать Python напрямую через libpython-clj.

Превосходство: Python медленный, и это не починить. CPython не может оптимизироваться, потому что детали его реализации стали частью API — сломаешь numpy/pandas. Отсюда вечное «есть быстрый способ и медленный способ» делать одно и то же.

Clojure работает на JVM, которая агрессивно оптимизирует рантайм. Можно писать логику на самом языке, а не убегать в C. Поясню тут логику автора: Python структурно не может стать быстрым — его внутренности (reference counting, GIL, C API) стали частью контракта с экосистемой. У JVM таких ограничений нет.

Станет ли Clojure массовым — вопрос удачи, но по набору характеристик это единственный язык, у которого есть шанс.

@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣181🤔1🤓1💊1
Forwarded from Типичный программист
This media is not supported in your browser
VIEW IN TELEGRAM
Ну и еще немного про ИИ! 😁

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

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

Главный стоппер был предсказуем: как заставить прожорливые модели стабильно работать в облаке под нагрузкой? Решение оказалось элегантным.

Это девятый артефакт — для тех, кто побаивается нейросетей, но явно на них облизывается. Покажите вашему начальнику, скажите, что все не так страшно 👻
Please open Telegram to view this post
VIEW IN TELEGRAM
👎42
Документация для нейросетей — как получать нормальный код от LLM

Основная идея: вайбкодинг работает плохо не из-за моделей, а из-за отсутствия контекста. Если LLM не знает структуру проекта, стек и ограничения — она додумывает сама.

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

@zen_of_python
👍2👎1
Премия Tproger объявляется открытой! 🐀

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

Отсюда родилась идея Премии Tproger. В ней ИТ-компании делятся успешными кейсами разработки, а аудитория решает, какой проект заслуживает награды — золотой мыши 🐀

В премии участвуют 16 компаний в 4 номинациях:
Продукт года
Здесь представлены платформенные решения, направленные на комплексную автоматизацию ключевых направлений деятельности: от контроля безопасности разработки ПО и ИТ-инфраструктуры до управления ресурсами компании.

Облачный продукт года
В этом разделе вас ждут платформы виртуализации, облачные среды для AI/ML, инструменты управления кластерами и микросервисами, обеспечивающие высокую производительность и быстрый запуск цифровых сервисов.

IT-ивент года
Участники рассказывают о профессиональных конференциях и хакатонах, объединяющих тысячи разработчиков и инженеров.

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

Теперь они в ваших руках 👍
1. Переходите на сайт премии.
2. Выбирайте понравившиеся кейсы в каждой категории.
3. И вручайте им золотую мышь.

Голосование продлится до конца февраля и уже в марте мы объявим победителей. Stay tuned!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Пять платформ, где дети учат Python через игры — от простых песочниц до олимпиадных задач. Trinket, Tynker, CodeCombat, Minecraft, CheckiO — разобрано для кого что подходит по возрасту и уровню.

@zen_of_python
👍4