DevBrain
3.02K subscribers
28 photos
2 videos
9 files
713 links
Download Telegram
Python 3.14 уже здесь!

Пару часов назад вышел финальный релиз новой версии Python 3.14. Это, пожалуй, один из самых мощных релизов на моей памяти. Новая версия несёт в себе ряд крутых фич, а именно:
- полная поддержка Free-threaded Python
- T-strings, спорная фича, но на мой взгляд удобно иметь в стандартной библиотеке (синтаксис знакомых нам f-strings)
- zstd внутри стандартной либы, один из самых эффективных алгоритмов сжатия данных
- поддержка multiple interpreters из коробки
- uuid 6-8, на 40% быстрее

И многое другое, полный список изменений ловите по ссылке: https://pythoninsider.blogspot.com/2025/10/python-3140-final-is-here.html
🔥26👍2👎1
Паттерны и анти-паттерны использования паттерн-матчинга в Питоне

Наткнулся на доклад про паттерны паттерн-матчинга 😁 и мне он понравился: Patterns and Anti-Patterns in Python's Structural Pattern Matching
Доклад очень понравился, несмотря на то, что паттерн-матчингом я пользуюсь с самого его появления (кажется в 3.10), я подчерпнул полезное для себя. Что понравилось? Последний пример, где Brett показывает обработку semi-structured JSON. Я вспомнил, что часто внешние API могут возвращать разный формат JSON в зависимости от состояния, но мне в голову никогда не приходила идея обернуть обработку этого в match/case.

Элегантно! 💡
👍7
Вышла новая версия моего небольшой django аппа django-trix-editor для интеграции текстового редактор Trix в Django — 0.4.1, в ней исправлена проблема с тёмной темой Django Admin. Релиз состоялся благодаря неравнодушным контрибьюторам.
👍12🔥3
🤯 Браузер — кладбище открытых вкладок

Миллион открытых табов в браузере, знакомо? У меня до недавнего времени была такая же проблема. Периодически давал себе обещание, что буду следить за тем, что открываю, но спустя некоторое время снова сотня новых табов в браузере, и происходит это незаметно. В основном из-за желания сохранить что-то и прочитать/посмотреть позже, но "позже" не наступает, а FOMO растёт 😁

Из неприятных последствий:

🐢 медленный запуск браузера
💾 повышенное потребление оперативки (с моими 128 Гб можно пару тысяч открыть),
🧠 снижение концентрации внимания

🚀 Моё решение

Внезапно мне в голову пришла идея написать плагин для ограничения количества открытых табов. Сейчас с помощью LLM и Agentic coding сделать это можно моментально. Придумал и спустя десять минут плагин готов — Tabooo

Пользуйтесь! Лично себе поставил ограничение в 12 табов.

💡А что делать с нужными ссылками?

Страх потерять важную ссылку — главная причина, по которой мы не закрываем вкладки. Я решил и эту проблему! Я создал специальный букмарк-сервис с удобным плагином и даже Telegram-ботом, чтобы вы могли сохранять ссылки в одно касание, не захламляя браузер! Оставьте комментарий под этим постом (или в личку)! Если наберется интерес, я поделюсь ссылкой на сервис с плагином в следующем посте. Он бесплатный.

А пока пользуйтесь плагином для ограничения табов: Установить Tabooo из Chrome Web Store
🔥10👍3👎1
Django 6.0 beta 1

Вышла первая бетка новой мажорной версии Django 6.0: https://www.djangoproject.com/weblog/2025/oct/22/django-60-beta-released/
👍2👎1🔥1
Зачем нужен новый REST API для Django?

Последний месяц я крайне увлечен созданием https://github.com/wemake-services/django-modern-rest
(Кстати, у нас уже >200 звезд и 26 контрибьюторов при 0 релизов)

Ключевой вопрос – зачем? Что будет нового?

Во-первых, я крайне сильно люблю Django. Основная причина – под него есть буквально любые библиотеки. Все то, что в FastAPI нужно героически писать руками – в джанге уже давно есть и работает.
Но, есть несколько основных причин, почему люди думают, что не любят джангу:
1. DRF, тут без лишних слов – он ужасен. Нет типизации, нет async, очень сложно работать с ним в сложных случаях
2. Многие считают, что джанга - сложная. Однако, она как FastAPI или Litestar может спокойно уместиться в один файл: https://django-modern-rest.readthedocs.io/en/latest/pages/micro-framework.html
3. Есть критика за архитектуру: тут нечего особо даже комментировать. На любом фреймворке можно писать хорошо, на любом можно писать плохо. Слой фреймворка очень тонкий
4. Медленный. А вот тут остановимся подробнее.

На скринах выше можно сравнить, что с django-modern-rest, без нескольких будущих оптимизаций (привет cython и rust!), голая джанга начинает выглядеть не так уж и медленнее FastAPI: бенчи.

Во-вторых, Django на длительный срок был в плену DRF. Который морально устарел еще в середине десятых.
Потом появилась django-ninja, которая хоть и намного лучше, но все равно не решает главную задачу: интеграция с существующими тулами. Конечно, если затащить FastAPI дизайн в чужой мир, то ничего не будет нормально работать 🌚️

Вот такие проблемы мы решаем.

Одной строкой:
- Супер строгая OpenAPI схема и валидация при разработке, что мы ее соблюдаем
- Полная типизация всего
- Нормальный способ создания АПИ, без god-functions a-la FastAPI
- async без sync_to_async
- Быстро: msgspec для парсинга json (самый быстрый способ в питоне), практически 0 работы в рантайме (все делаем при импорте), оптимизации роутера (быстрее дефолтного в 51 раз)
- Пидантик, msgspec, или любой другой способ выражать модели. Хоть adaptix
- Полная поддержка всего существующего в Django. От декораторов до миддлварь (с полной валидацией и OpenAPI схемой!)
- OpenAPI схема из коробки
- Удобное тестирование с polyfactory
- property-based тесты вашего АПИ одной командой благодаря schemathesis

Что еще будет:
- RSGI (да, на #rust скорее всего) под granian, в теории можем побить FastAPI после такого
- SSE с автоматической OpenAPI спекой и умной валидацией схемы
- JWT или любая другая аутентификация
- Какие-то части (скорее всего валидацию) мы компильнем cython, чтобы было еще быстрее

Modern? Modern!
Осталось дождаться. Релиз скоро!
И еще скоро будут несколько новых видео.

Мы регулярно постим задачки в @opensource_findings_python, так что можно нам помочь.
А если кто хочет мне закинуть на развитие опенсорса (за написание 32500 строк кода за 2 недели), то мой бусти открыт: https://boosty.to/sobolevn
Ну и звезды можно ставить, конечно же. Там посмотрите, какие люди нас уже советуют.

Большое спасибо Александру, Алексею, Роману, Максиму и всем остальным за неоценимую помощь. Пацаны, без вас никак! Лучшее сообщество!

Обсуждение: а чего бы вам хотелось в modern rest фреймворке? Чего сильно не хватает сейчас?
🔥17👎3👍1
Доклады DjangoCon US 2025

На официальном Ютуб канале уже доступны видео с прошедшей в этом году конференции DjangoCon US 2025 — плейлист.
👍6
Django 6.0 🥳

Состоялся долгожданный мною релиз Django 6.0: https://www.djangoproject.com/weblog/2025/dec/03/django-60-released/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍1👎1