TGViewer
Находки в опенсорсе Находки в опенсорсе @opensource_findings · 12.6K subscribers
Post #933 12.8K
Набор новых интересных PEPов и обсуждений для 3.15+

Сегодня будет пост для тех, кто любит заглядывать в будущее.
Поговорим про то, что только-только начинают делать в питончике.

JIT и FT

https://github.com/python/cpython/issues/139038

Описывает планы на 3.15 и 3.16 по развитию JIT.
Самое важное планируют:
- Сделать JIT на 5-10% быстрее для всех случаев, до 50% скорости для краевых случаев
- Трассирующий JIT: https://github.com/python/cpython/issues/139109
- Поддежка Free-Threading режима: https://github.com/python/cpython/issues/133171
- К 3.16 планируют найти еще 2х меинтейнеров, потому что сейчас очень мало людей работают над джитом. Если всегда хотели - присоединяйтесь!

https://discuss.python.org/t/pre-pep-safe-parallel-python/103636

Обсуждение по будущему FT и subinterpreters как практических концепций.
Марк Шеннон предлагает сделать из Python Erlang 🌚

Каждому объекту предлагают добавить:
- Метод __freeze__() в большинство классов, чтобы делать объект иммутабельным (чтобы можно его было шарить между потоками и интерпретаторами)
- Метод __protect__(self: Self, obj: T) -> T, чтобы помечать объекты как "защищенные". Их можно менять, но с мьютексом
- И сам __mutex__, чтобы работать с защищенными объектами

https://discuss.python.org/t/add-virtual-threads-to-python/91403

Еще одно предложение от Марка – virtual threads в Python!
Кажется, что не только мне не нравится asyncio.

Обсуждение на очень раннем шаге, можно принять участие :)

PEPs

https://peps.python.org/pep-0798 позволит нам писать вот такой код:


list_of_lists = [[1, 2], [3, 4]]
flat_list = [*l for l in list_of_lists]


Если ПЕП примут, то можно будет делать unpacking прямо в comprehension. Не надо будет делать цикл или городить всякое сложное внутри. Крутое предложение, думаю, что его примут.

https://peps.python.org/pep-0799

Кратко:
- Добавляет пакет profiling в CPython
- Чистый питоновский profile теперь deprecated
- В 3.15 добавили profiling.sampling
- cProfile теперь будет доступен еще и как profile.tracing

https://peps.python.org/pep-0728

Добавляет такую возможность в TypedDict:


class Movie(TypedDict, extra_items=str):
name: str
rating: float
year: int


Что значит, что три ключа имеют явный тип, любые другие ключи имеют fallback тип str. Что удобно, если у нас гигантский json с кучей похожих полей, например.

И конечно можно будет указать такое:


class Movie(TypedDict, closed=True):
name: str
rating: float
year: int


Что будет значить, что никаких других ключей в словаре быть не может. Джва года ждал такую фичу!

https://peps.python.org/pep-0791 предлагает добавить новый модуль в Python: intmath

Решает старые проблемы модуля math. Если интересуетесь математикой в питоне – ПЕП для вас.

Обсуждение: как вам такой формат со ссылками? Что вы больше всего ждете из списка выше? Какие фичи вас бесят?

| Поддержать | YouTube | GitHub | Чат |
GitHub JIT Planning for 3.15 and 3.16 · Issue #139038 · python/cpython Following a conversation at the CPython Core Dev Sprint, this is an uber issue tracking JIT performance goals and planning for 3.15 and 3.16. The goal here is to capture our goals and the work that...
  • 👍 199
  • 🔥 69
  • ❤ 20
  • 🤔 3
  • 👏 2
  • 🤯 2
More from @opensource_findings
  1. Sep 15, 2026PEPы в Python окончательно вышли из-под контроля Давайте посмотрим, что происходит с ПЕПам…
  2. Sep 10, 2026Большая бесплатная конференция в Нижнем Новгороде 17 октября Регистрация: https://itgorky.…
  3. Sep 1, 2026Post #985
  4. Aug 24, 2026JIT могут удалить из CPython! PEP-836: https://peps.python.org/pep-0836 JIT в CPython имее…
  5. Aug 18, 2026Как AWS у опенсорсера пакеты отжимал Нерегулярная рубрика "посмотрите, что творится!". Дан…
  6. Aug 14, 2026Какие уникальные фичи есть в django-modern-rest? Иногда, когда я добавляю какие-то фичи в…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →