К ленте · Россия

РоссияСтатьяПрактика

Находки в опенсорсе: доклады с большой встречи сообщества, конец опенсорса и питон 3.15; октябрь 2026

Добро пожаловать в мир находок в опенсорсе! Всем привет! Очень большой получился дайжест: было очень много событий. Но тем будет интереснее! 17 октября прошла наша большая открытая встреча...

Содержание
  1. Большая встреча сообщества
  2. Ship IT!
  3. CPython
  4. Конец опенсорса
  5. django-modern-rest
  6. Светлая пустота
  7. Проекты сообщества
  8. Одной строкой
  9. Завершение

Всем привет! Очень большой получился дайжест: было очень много событий. Но тем будет интереснее!

17 октября прошла наша большая открытая встреча сообщества в Нижнем Новгороде, доклады с которой уже выложены в посте ниже.

Еще поговорим про Python 3.15 и его фичи, ведь он как раз был релизнут в октябре 2026. Посмотрим, что нам уже готовит Python 3.16.

Поговорим про проекты сообщества. Очень много крутых (и очень красивых!) штук подобралось.

С меня как всегда статья без нейрослопа и ИИ, с вас как всегда интересные комментарии и лайки! А вот тут ссылка на прошлый дайджест за сентябрь.

Погнали смотреть, что у нас в питоне происходило!

Большая встреча сообщества

Спасибо большое всем за такой чудестный день! Больше 1000 человек было на конференции.

Было 7 крутых докладов на нашем потоке, море общения, новых знакомств. Заняли половину барной улицы после конфы. А теперь пришло время делиться докладами. Делюсь секцией PythoNN в порядке выступления:

  • Иван Кирпичников. Посмотрим на конкурента Pydantic от нашего сообщества. Посмотрим: где и когда не стоит использовать Pydantic, какие у него актуальные проблемы. Поговорим, за счет чего Adaptix насколько быстрый, как он устроен. И какие уникальные фичи у него есть.
  • Егор Бугаенко. Новые принципы построения проектов в век ИИ. Осторожно, будет подгорать!
  • Алексей Гладких. Расскажу про недооценённую платформу для коммуникации, выстраивания горизонтальных связей и создания личного бренда. Покажу как можно стримить с технической стороны.
  • Сергей Макаров. Как можно использовать zMQTT для работы в embedded устройствами?
  • Максим Мельников @PyLounge. Работа в IT-команде иногда подозрительно напоминает Dota 2: кто-то фармит, кто-то руинит, кто-то молчит до 40-й минуты, а тимлид начинает думать, что снова играет 1 vs 9. Только вместо Рошана - прод, вместо 0/10 мидера - соседняя CRM-команда, а вместо "gg ez" - очередной аварийный комитет. На докладе поговорим о том, как перестать играть в такой режим и начать выстраивать систему: почему токсичность и дизмораль только мешают, зачем учить людей говорить ртом и управлять ожиданиями, почему процессы не должны держаться на одном "рокстар-игроке" и как не превращать каждый фейл в поиск того, кто заруинил. Разберём, как продавать изменения команде, договариваться с бизнесом и другими командами, фиксировать договорённости и автоматизировать правила - чтобы вместо вечного 1 vs 9 получилась команда, которая действительно играет на победу как для бизнеса, так и технического развития проекта.
  • Александр Целуйко. Почему msgspec быстрее и меньше базовых структур (namedtuple, dataclass и тп) python и orjson (не всегда и везде есстессна).Что нужно, чтобы fastapi работал на msgspec? Как разогнать Ваш сервис на fastapi ещё быстрее? Устроим батл про msgspec vs adaptix!
  • Алексей Голобурдин, Диджитализируй. Почему для многих задач полностью локальные агенты это будущее, как Microsoft, Apple и hardware-производители идут в сторону локального инференса, и как это использовать разработчику.

А еще у нас есть один спасенный доклад от Никиты Пастухова @Propan671 с секции NNИнтерфейс. Там были некоторые проблемы с записью видео и звука, Никита спас что мог:

Спасибо большое всем спикерам! Было круто. Повторим в следующем году!

Ship IT!

Всем спикерам мы всегда по традиции дарим мою опенсорс настольную игру про айтишечку: https://github.com/sobolevn/ship-it-boardgame

Игра очень классная вышла: социальная, веселая, душная! Но и правила мы специально делали очень простыми, чтобы было легко их объяснить своим коллегам в баре под кружечку пенного.

В нее можно поиграть абсолютно бесплатно: есть возможность напечатать самому, есть вариант поиграть через Table Top Simulator. Можно даже найти игроков в нашем чате.

Как раз под конференцию вышла новая версия: 0.0.26

Напечатайте и сыграйте, если любите настолки!

CPython

Тут тоже есть несколько важных новостей одной строкой:

  • Вышел Python 3.15, но рассказывать про такое старье я как всегда не вижу смысла. Ведь мы про него рассказывали уже весь прошлый 2025й год. Подписывайтесь, чтобы быть в курсе актуальных новостей, а не новостей годичной давности.
  • Сергей Мирянов @zzzzzzerg, как я писал в прошлом дайджесте, был выдвинут и успешно принят на позицию CPython core разработчика. Сергей занимается GC, что очень важная и нужная сфера в CPython. Можете поздравить Сергея в комментах!
  • Наконец-то приняли мое предложение (о котором я писал еще в июльском дайджесте) по добавлению нового C-API PyDict_AsFrozenDictAndClear

Ну и покажу один небольшой но интересный PR, который я недавно смерджил: https://github.com/python/cpython/pull/152632 В нем я исправляю грамматику для парсинга lazy imports. Было так:

import_name[stmt_ty]:
 | lazy="lazy"? 'import' a=dotted_as_names { _PyAST_Import(a, lazy ? 1 : 0, EXTRA) }

Стало так:

import_name[stmt_ty]:
 | "lazy" 'import' a=dotted_as_names {
 CHECK_VERSION(stmt_ty, 15, "Lazy imports are",
 _PyAST_Import(a, 1, EXTRA)) }
 | 'import' a=dotted_as_names { _PyAST_Import(a, 0, EXTRA) }

Что тут вообще происходит?

  • Данный текст - описывает формальную грамматику Python, где есть имена правил: import_name, тип C структуры для парсинга данного правила stmt_ty, варианты парсинга правила (пишутся через |), ключевые слова "lazy" и "import", действия для выполнения парсинга в C коде _PyAST_Import(a, 0, EXTRA)
  • Но, в Python можно использовать грамматику для парсинга еще и в виде ast.parse вызова, например для линтеров или тайпчекеров
  • А там есть параметр feature_version, чтобы парсить код из, например, Python 3.15 но для версии Python 3.12. И раньше вызов вида ast.parse('lazy import os', feature_version=(3, 12)) работал в Python 3.15+. Хотя должен был кидать SyntaxError
  • Потому мне пришлось разделить кейсы парсинга на две части, там где есть "lazy", я добавил CHECK_VERSION(stmt_ty, 15, "Lazy imports are", ...), чтобы вызывать правильную ошибку при feature_version меньше 3.15
  • Теперь все работает корректно, а вы узнали про feature_version и особенности грамматики Python. Круто? :)

Конец опенсорса

Опубликовал у себя в канале свои мысли про опенсорс и ИИ. А точнее про конец опенсорса - таким каким мы его знали. И пост собрал просто кучу обсуждений.

Раз есть такой живой запрос на обсуждение: то давайте и на хабре обсудим: что будет с опенсорсом после массового появления ИИ моделей. Вот такие вводные:

  • CPython ограничил количество PRов от внешних контрибьюторов тремя открытыми
  • OpenJDK запретил PRы с использованием ИИ в любом виде
  • Litestar закрыл PRы для всех внешних контрибьюторов, поток слопа был настолько большой, что я в какой-то момент просто бросил открывать уведомления в проекте. @PyLounge написал большой пост про данный случай
  • JazzBand после 10 лет открытой коллаборации для десятков проектов закрылся по их формулировке из-за "слопаппокалипсиса", новые участники больше не принимаются
  • Sindre Sorhus (один из самых популярных опенсорс разработчик в мире) закрыл все свои проекты для внешних контрибьюторов
  • JS фреймворк hono закрывает внешние PRы
  • Браузер LadyBird закрывает внешние PRы
  • Godot запретил использование ИИ
  • Платформа Codeberg объявила себя свободной от LLM-сгенерированного контента
  • Zig запретил использование ИИ у себя (читайте полную историю про переписывание Zig -> Rust и при чем тут bun)
  • Node.js будет молча закрывать PRы с ИИ-слопом
  • Linux прекращает поддержку старых сетевых драйверов, чтобы справиться с количеством ИИ-багрепортов
  • r/opensource запретил публиковать AI-slop проекты, формулировки у них вышли очень странные и размытые
  • GitHub знает о проблеме "слопа" в опенсорсе. Обсуждение тут

А вот мой доклад с недавнего MoscowPython на данную тему (говорю про ту же проблему другими словами):

Но - ключевой момент всей ситуации - а что делать то? Предлагаю обсудить в комментариях. У меня пока нет ответов.

RIP #opensource, было весело!

django-modern-rest

Вышел релиз django-modern-rest@0.17.0, мы очень значительно поработали над производительностью за последние несколько релизов. Вот и сейчас: ускорили большую часть кейсов в x1.6 и в x1.3 раза в самых горячих местах.

Мне очень нравятся цифры производительности. Уже быстрее FastAPI. А будет еще лучше!

Если еще не пробовали - смело пробуйте! У нас есть куча крутых и быстрых фич.

Django еще никогда не была настолько типизированной, приятной, удобной и быстрой!

Светлая пустота

В прошлом дайджесте я показывал темный вариант темы pustota, а сейчас сделал светлый вариант:

Для тех, кто любит светлые темы!

А наш коллега skatromb выпустил тему еще более минималистичную но похожую тему, мне очень понравилась: https://github.com/skatromb/navigate-theme Посмотрите и вы!

Проекты сообщества

  • Библиотека, которая загружает конфиги в обычные датаклассы и проверяет типы по аннотациям. Цель простая: получить из конфига типизированный объект, а если что-то не так, увидеть, где именно и почему: https://github.com/reagento/dature
  • Небольшой инструмент, который помогает понять, не испортился ли ваш чат-бот (агент) после очередных правок. Работает так: convy сам переписывается с ботом, как обычный клиент, и проверяет, правильно ли тот отвечает. Потом можно сравнить старую и новую версию и сразу увидеть, где стало хуже: https://github.com/deyna256/convy
  • Точные замеры HTTP по фазам и выгрузка в удобном формате (OpenTelemetry, Prometheus, JSON, HAR). Показывает, на что уходит время в каждом запросе: DNS → TCP connect → TLS handshake → ожидание сервера (TTFB) → передача тела. Результат выводится как waterfall-таймлайн: https://github.com/ozeranskii/httptap
  • Идейный порт wemake-python-styleguide для Rust! В наборе есть линты почти про всё, что по дефолту выключено: Читаемость, Размеры функций, Когнитивная сложность, Идиоматические паттерны, Паника и .unwrap() в продакшн коде: https://github.com/skatromb/easy-peasy-rust
  • Потеря тасок при ООМ? Год назад столкнувшись с этим, я реализовал для своей команды 0.x версию данной очереди. Спустя около 8 месяцев успехов и фидбека - родилась вторая версия 1,x, которой я захотел поделиться с миром. Эта очередь - некий симбиоз transactional outbox и durable task queue: https://github.com/KoninMikhail/workhold-durable-work-queue
  • Совместили Telegram подобный интерфейс, принудительное сквозное шифрование и self-hosted архитектуру. Каждый может развернуть свой сервер самостоятельно, что гарантирует нам отсутствие единой точки отказа, а протокол общения клиента с сервером - WebSocket, что делает трафик похожим на трафик обычных сайтов. E2E шифрование реализовано при помощи алгоритма Double Ratchet который был написан с нуля. Шифруем при помощи ChaChaPoly1305, ключами обмениваемся при помощи постквантового Диффи-Хелмана. https://github.com/cathxrsys/patronus
  • Порт docling на Расте, проект официально приняли в Linux AI community, IBM docling подписалcя. Скоро полностью заменим docling! https://github.com/docling-project/docling.rs
  • ETL фреймворк под питон с движком на Rust/Arrow, который грузит таблички/джисоны в/из DWH. Что-то похожее на dlt, только по-настоящему работающее: https://github.com/skatromb/transferred
  • benchset нужен, чтобы замерять производительность компьютера по различным метрикам: производительность CPU на 1 ядро, производительность всех доступных ядер в сумме, тд: https://github.com/mutating/benchset
  • Extella — бесплатное приложение для Mac, Windows и Linux. Внутри — открытые проекты с GitHub, упакованные так, чтобы их можно было открыть без терминала и Docker: поставил Extella, добавил приложение на рабочий стол, работаешь. Сейчас так собрано 19 браузерных приложений: редактор схем на основе draw.io, Mermaid Live Editor, JSON Crack, GraphvizOnline, редактор three.js, Excalidraw, Klecks и другие. https://extella.dev/apps/diagram-editor/
  • shebang позволяет вам декларативно описать CLI вообще для любого скрипта. Такой, с валидациями входящих параметров, автодополнением для шелла. Смотрите как:
#!/usr/bin/env shebang

#! shebang.1
# description "Hello world"
#
# arg "source" {
# description "Copy from..."
# value "filepath" {
# type "directory"
# }
# }
# arg "to" {
# description "Copy to..."
# value "filepath" {
# glob "/archives/**"
# }
# }

cp -a "$1" $2"
  • Релиз arch-blueprint 0.3: изучаем архитектуру и н т е р а к т и в н о🤌 Теперь можно сразу видеть и дерево проекта, и связи его объектов. Доступны все те же варианты модули vs классы и функции, метрики связей, группировка по неймспейсам и подсветка циклов с детализацией импортов: https://github.com/nkhitrov/arch-blueprint Обсудить релиз и задать вопросы автору можно в канале Николая Хитрова
  • Написание читабельного кода для телеграм ботов с детерминированными сценариями, в основном для личных админок и не высоконагруженных сервисов. Доступные для Python фреймворки в основном используют FSM (конечный автомат состояний) в той или иной форме. Я же в свою очередь предлагаю иной подход, при котором не нужно выдумывать множество состояний в конечном автомате разбросанных по коду с трудно отслеживаемыми переходами. Вы просто пишите последовательный код в процедурном стиле: https://github.com/nebenwelt/pyteleflow
  • imgproxykit - библиотека для сборки URL к imgproxy. Если не сталкивались с imgproxy: это сервер на Go (асуждаем) для обработки изображений. Формируешь для него ссылку с набором параметров обработки и оригиналом - получаешь картинку нужно размера, качества и формата. imgproxykit позволяет описать параметры python-кодом: https://github.com/kondratevdev/imgproxykit
  • Язык программирования для ИИ агентов. Он заставляет агентов работать с кристаллизованными контрактами, а не со свободной семантической интерпретацией текстов. Делая интерфейсы формальными, а тела реализаций — приватными, он превращает исходный код в компактный и жёсткий, не подверженный эрозии «экзоскелет», который агенты могут безопасно развивать, а люди — быстро читать. https://github.com/rete-labs/quoll Почитать и обсудить подробнее можно в канале у Феди
  • Движок для создания презентаций с кучей анимацией и стилей. А еще умеет создавать красивые видео ролики из тех же презентаций. Код получается очень красивым! https://github.com/xfenix/slidemachina Демо можно глянуть вот тут в канале у Никиты Пастухова

Хотите попасть в следующий дайджест? Пишите о своем проекте в нашем чате, добавляйте тег #opensource, я обязательно им поделюсь!

Одной строкой

  • Релизнули pytest-mypy-plugins@4.1.0 (библиотека для тестирования mypy плагинов с pytest), поддержали mypy@2.4.0
  • Выпустили релиз django-stubs@6.1.2 с поддержкой mypy@2.4.0
  • Вышел новый dry-python/returns@0.30.0, с поддержкой mypy@2.40
  • Релизул jinja2-git@1.5.0 плагин для отображения версии текущего коммита в jinja2 шаблонах

Завершение

А если вы думаете, что я делаю что‑то полезное для мира, то поддержать можно по ссылкам:

Я там ничего не продаю, просто делаю свою работу, если считаете, что я делаю полезное — можно поддержать. Если нет, то я все равно продолжу ее делать.

Подписывайтесь на главный канал сообщества, если вам нравится такое читать. И возможно даже захочется поучаствовать! Буду рад видеть вас частью нашего опенсорс сообщества :)

До встречи в следующем дайджесте и в нашем сообществе!

Источник: Хабр · статьиПубликуется с разрешения правообладателя, подтверждённого редакцией.Оригинал: Находки в опенсорсе: доклады с большой встречи сообщества, конец опенсорса и питон 3.15; октябрь 2026 ↗

Есть кому отправить?

Скопируется постоянная ссылка на этот материал.

Комментарии

Обсуждайте статью, отвечайте и оценивайте комментарии. Вход — через ваш Яндекс ID.

Загружаем обсуждение…