Zen of Python
19.2K subscribers
1.36K photos
202 videos
38 files
3.47K links
Полный Дзен Пайтона в одном канале

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
За @property и @staticmethod стоят дескрипторы

Каждый раз, когда вы вешаете декоратор на метод, Python тихо создаёт объект с методом __get__. Этот объект ловит обращение к атрибуту класса и решает, что вернуть — bound method, вычисленное значение или сам дескриптор.

В свежем HOWTO от Рэймонда Хеттингера разобрано, как именно это работает: от примера, который всегда возвращает десятку, до чисто-питонических реализаций property и __slots__. Гайд пригодится, если хотите перестать догадываться и начать предсказывать поведение своих классов.
1
Hypothesis начал переносить внутренности с Python на Rust

Библиотека property-based тестирования Hypothesis в релизе 6.156.0 от 1 июля объявила о начале миграции внутренних компонентов на Rust. Пока перенесён один простой вспомогательный хелпер, но направление задано, и за неделю вышла целая серия патчей вокруг сборки — вплоть до 6.156.6 от 10 июля.

Что это значит на практике:
🔘 сборка из исходников теперь требует Rust toolchain — если ставить не из готового wheel, а компилировать, без Rust не соберётся;
🔘 чтобы это никого не сломало, проект выкатил широкий набор нативных wheels: Python с 3.10 по 3.14, free-threaded 3.14t и PyPy 3.11, под Linux x86_64/aarch64, macOS x86_64/arm64 и Windows x64;
🔘 добавили abi3-wheels на базе стабильного ABI 3.10 — один такой wheel работает на всех последующих версиях Python, включая 32-битные Linux и Windows;
🔘 отдельно собрали wheel под Pyodide (wasm32-unknown-emscripten) для запуска в браузере.

За тем же путём Python в Rust уже ушли core-части uv, ruff и pydantic. Теперь очередь дошла и до зрелой тест-библиотеки — с явным приоритетом не сломать установку тем, кто просто делает pip install.

@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Типичный программист
VPS в 2026: почему сервер тормозит, хотя метрики в норме

Вы смотрите на дашборд: CPU 40%, память не вся занята, а пользователи жалуются на лаги. Скорее всего, ваш VPS просто не получает тех ресурсов, за которые вы платите.

За несколько лет картина резко поменялась. Если раньше на одно физическое ядро приходилось 4–8 виртуальных CPU, то у бюджетных провайдеров сейчас норма — 10–16. Пока соседи по хосту спят, вы получаете мощность. Когда все просыпаются одновременно, гипервизор забирает CPU у вас. Это видно в метрике %st — steal time.

К этому добавились тяжелее ОС и стек. Ubuntu 24.04 при минимальной конфигурации занимает 3–5 GB RAM ещё до вашего приложения, а современный бэкенд часто тянет брокер, кеш, мониторинг и контейнеры. Разобрались, когда дешёвый VPS перестаёт тянуть и что с этим делать.