LINUX.ORG.RU

Сообщения qulinxao3

 
Новости — Разработка (не подтверждено)

Python 3.15

 , , , ,

Группа Разработка

https://www.python.org/downloads/release/python-3150/

лор по багам :

9 дней … десять двадцать

Состоялся релиз Python 3.15.0: Главные новшества и прирост скорости

Спустя год разработки команда core-разработчиков представила релиз Python 3.15.0. Изначально выпуск планировался на 1 октября, но из-за критических регрессий в механизме ленивого импорта релиз-менеджеры экстренно выкатили RC3, сдвинув финальный дедлайн на неделю.

В общей сложности в ветку было влито 5643 коммита от 1012 участников сообщества. Одним из ключевых контрибьюторов версии стал наш соотечественник Никита Соболев, занявший первое место в недавнем конкурсе «Код логики» за вклад в развитие CPython.


🚀 Ключевые нововведения Python 3.15

  • Явные ленивые импорты (PEP 810): Появилось новое ключевое слово lazy. Оно позволяет объявлять импорты в начале файла, но фактически загружать модули только в момент первого обращения. Это значительно ускоряет время запуска CLI-утилит и тяжелых приложений.
  • Встроенный тип frozendict (PEP 814): Долгожданный неизменяемый и хешируемый аналог обычного словаря. Его можно использовать в качестве ключей для других словарей или для безопасного хранения конфигураций.
  • Встроенный тип sentinel (PEP 661): Предназначен для создания уникальных сигнальных объектов (взамен старого трюка с object()). Такие объекты корректно проходят проверку типов и имеют понятное строковое представление.
  • Кодировка UTF-8 по умолчанию (PEP 686): Python больше не пытается определять кодировку на основе системных локалей. Функция open() теперь всегда использует UTF-8 по умолчанию, что решает многолетние проблемы кроссплатформенности.
  • Распаковка в генераторах (PEP 798): Добавлена поддержка синтаксиса распаковки прямо внутри comprehensions (например, [*a for a in matrix]), что упрощает сглаживание списков без использования itertools.chain.
  • Новый сэмплирующий профилировщик Tachyon (PEP 799): В библиотеку встроен пакет profiling.sampling. Статистический профилировщик Tachyon подключается к запущенному процессу и делает снимки производительности почти с нулевыми накладными расходами, в отличие от замедляющего код cProfile.

Основные изменения:

  • PEP 810: Явные ленивые импорты. Добавлено новое ключевое слово lazy. С его помощью модули можно декларировать в начале файла, но реальная загрузка в память и выполнение байт-кода будут происходить только при первом обращении к объектам. Фича призвана сократить время холодного старта тяжелых CLI-утилит и веб-фреймворков.
  • PEP 814: Встроенный тип frozendict. Наконец-то в stdlib завезли из коробки полноценный неизменяемый словарь. Объект является хешируемым, что позволяет использовать его в качестве ключей для других dict или элементов set.
  • PEP 661: Встроенный тип sentinel. Стандартизирован механизм создания уникальных сигнальных объектов. Больше не нужно городить костыли вида sentinel = object(), которые ломали статический анализ. Новые синглтоны корректно обрабатываются тайп-чекерами (mypy, pyright) и имеют вменяемый строковый вывод.
  • PEP 686: UTF-8 по умолчанию. Python окончательно отказывается от попыток угадать кодировку на основе системных локалей (привет пользователям Windows). Встроенная функция open() теперь всегда открывает файлы в UTF-8, если не указано иное.
  • PEP 798: Распаковка в list comprehension. Добавлен синтаксис распаковки прямо внутри генераторов списков (например, [*item for item in matrix]). Больше не нужно импортировать itertools.chain ради базового уплощения списков.
  • PEP 799: Сэмплирующий профилировщик Tachyon. В стандартную библиотеку вошел модуль profiling.sampling. В отличие от старого cProfile, который вносил огромный overhead и искажал результаты, статистический профилировщик Tachyon работает почти с нулевыми накладными расходами, делая быстрые снимки стека запущенного процесса.

Производительность и internals:

Экспериментальный JIT-компилятор получил очередную порцию оптимизаций: прирост производительности на x86-64 (Linux) составил около 7-8%, а на архитектуре AArch64 (macOS) — до 11-12%. Для Windows-сборок компиляция теперь по умолчанию выполняется в VS 2026 с оптимизацией хвостовых вызовов (tail-calling), что дало до +20% к скорости выполнения синтетических тестов.

Стабилизирован ABI для расширений на Си с поддержкой многопоточности без GIL (свободное выполнение потоков, free-threading) — abi3t. На macOS сборки теперь идут с включенным free-threading из коробки.

⚙️ Производительность и изменения под капотом

Экспериментальный JIT-компилятор стал работать быстрее. В Linux (x86-64) он дает прирост производительности на 7–8%, а на macOS (AArch64) — на 11–12%. Официальные 64-битные сборки для Windows теперь по умолчанию используют оптимизированный интерпретатор с хвостовыми вызовами (tail-calling), собранный в VS 2026 (+15-20% скорости в тестах).

Разработчики также официально представили стабильный abi3t для расширений на Си с поддержкой свободного выполнения потоков (free-threading без GIL). На macOS сборки по умолчанию теперь устанавливаются с поддержкой free-threading.

Известные проблемы:

Разработчики предупреждают о возможных дедлоках и зависаниях GUI-приложений на базе tkinter (включая IDLE) в свежей macOS 27.0 из-за несовместимости с обновленной логикой оконного менеджера Apple. В Linux-дистрибутивах под Wayland/X11 проблем не обнаружено.

⚠️ Важное предупреждение: Разработчики предупредили пользователей macOS 27.0 о возможных зависаниях графических интерфейсов на tkinter (включая встроенную среду IDLE) из-за внутренних изменений в логике оконной системы Apple.

>>> https://www.python.org/downloads/release/python-3150/ (python.org)

qulinxao3
()

Как часто используете next в python?

 , ,

В отличии от бэйсика next не нужен при каждом цикле в python

При этом иногда next наряду с set|any|all позволяет обойтись без break|continue соответственно

Отсюда и зондаж: когда вы пользуетесь(если вообще)next?

qulinxao3
()

Ищу работу программиста алгоритмиста структуро(хранения)данных фаната

 

subj

в подтверждение есть leetcode_t-shirt

предпочитаемый язык кодирования Python - в прочем это скорее функция от salary ибо все достаточно популярные языки и им сопутствующие библиотеки не есть что-то не постижимое

опыт - over 30 лет

qulinxao3
()

Как сертификаты?! запустил elasticsearch.bat на офтопике и вот : ( :

 ,

curl localhost:9200

curl: (52) Empty reply from server

сервак:

[2026-01-15T09:22:43,221][WARN ][o.e.h.AbstractHttpServerTransport] [] caught exception while handling client http traffic, closing connection Netty4HttpChannel{localAddress=/[0:0:0:0:0:0:0:1]:9200, remoteAddress=/[0:0:0:0:0:0:0:1]:63072}io.netty.handler.codec.DecoderException: javax.net.ssl.SSLProtocolException: (unexpected_message) Received close_notify during handshake
        at io.netty.codec@4.1.126.Final/io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:500)
        at io.netty.codec@4.1.126.Final/io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)


        at io.netty.transport@4.1.126.Final/io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
        at io.netty.transport@4.1.126.Final/io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
        at io.netty.transport@4.1.126.Final/io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)

See logs for more details.

в какой из логов смотреть?

ну а

curl https://localhost:9200

curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325) - Цепочка сертификатов выпущена центром сертификации, не имеющим доверия. More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.

на сервере:

[2026-01-15T09:28:22,516][WARN ][o.e.h.AbstractHttpServerTransport] [] caught exception while handling client http traffic, closing connection Netty4HttpChannel{localAddress=/[0:0:0:0:0:0:0:1]:9200, remoteAddress=/[0:0:0:0:0:0:0:1]:63205}io.netty.handler.codec.DecoderException: javax.net.ssl.SSLProtocolException: (unexpected_message) Received close_notify during handshake at io.netty.codec@4.1.126.Final/io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:500) at io.netty.codec@4.1.126.Final/io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) at io.netty.transport@4.1.126.Final/io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.transport@4.1.126.Final/io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.transport@4.1.126.Final/io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)

See logs for more details.

qulinxao3
()

vscode кастамизируема полностью (новость не новость)

 , , , ,

https://youtu.be/H5iVQZNk92s

собственно что через css можно что угодно отключить (на всегда)

типо ни vim ни ЖидМозги либо не позволяют так легко либо ваще не

собственно разве vscode лучше notepad++ Ж)

вопрос как бы сконфигурировать идеальную среду разработки

qulinxao3
()

Python 3.14

 

Python 3.14
Группа Разработка

Вышел Python 3.14.

Из новшеств:

  • официальная поддержка свободной многопоточности (free-threading, PEP 779);
  • новый модуль compression.zstd для сжатия согласно Zstandard (PEP 784);
  • выражения except и except* теперь могут записываться без скобок (PEP 758);
  • многое другое.

Обзор на YouTube о производительности свежих версий Python.

Обзор изменений в диагностике ошибок на Хабре.

>>> Подробности на pythoninsider.blogspot.com (pythoninsider.blogspot.com)

qulinxao3
()

с сутками программ(А)иста! какая культурная Аа?

 , ,

subj!

qulinxao3
()

обычный Python multi процесс на CUDA?

 ,

есть какой серый ящик для сборки мультипроцессного(чисто для ускорения на обычных ядрах cpu(8-16-32?) cpu-bound - но не ai И не чистая числомолотилка)python-апликаха на gpu (c их мириадами ядер)

ожидания на порядки порядков нет - но если хотябы в 2-3 раза уже хлеб

на входе обычный python разбиваемый на os.cpu_count - подпроцессы досточно автомномны независимого

вот как бы меньшими усилиями очучествить на cuda?

qulinxao3
()

достаточно ли места в NaN floats(каких) для utf?

 

достаточно ли места в NaN(и в целом в symbols) floats(каких) для utf?

ну и лаконичнейшие алго для сериализации и обратно

[мало телепатов далеки они]:

нужно смешать флоаты и utf

флоаты остаются флоатами а utf помещается в ненормальные NaN и прочие inf

достаточно ли и когда места для этого

настоящие числа только в эталоном ввиде если нет значит это сериализованая utf

вот!

[ps] в некотором приблежение есть ли место «между струйками» что бы застегонографить utf в не real числа

qulinxao3
()

rocky linux & xen

 ,

[upd] поднять proxmox над rocky linux? A: «не сегодня»(ближайщие 100)

Q: чем xen образы лучше на rocky крутить?

same Q: чем ща на rocky модно xen образами крутить?

qulinxao3
()

выбор source-based дистрибутив Linux для себя для очередного начала

 , , ,

source-based дистрибутив Linux

для хоста на котором будут через что0либо(кстати что?)

виртуалки крутится

эдакий homelab на минималках (~40-96Гб рам) 10-16 потоков - дискового достаточно

есть ща чё лучше генты (четверть 21 уже всё таки )?

qulinxao3
()

Нейтральный тип в python

 

какой тип али какой класс чтобы

аля

int('234') приводит int
str(Value) дёргает __str__ али __repr_ если придётся

какой тип из известных али самописный

что бы возвращать тот же тип что и на входе?

qulinxao3
()

прямая и через proxmox загрузка хостогостя. как?

 

есть живая система грузящаяся с hdd(1)

докинут proxmox на вновь подключёном ssd(2)

система теперь может быть загруженна как с hdd (всё по старому)

так и proxmox с веб и gui/tui мордами

как сказать proxmox что бы он мог менеджить ос размещённую на hdd как образ гостя?

qulinxao3
()

какова оптимальная балансировка кластера из двух серверов-близнецов?

 , ,

subj

каков баланс надёжности+максимизация_вычь_мощи?

какими инструментами?

qulinxao3
()

Ищется acme под везде

 

наподобие acme-sac но без добиливание красноглазием шрифтов уникодства и прочего синеленточности

т.е какой нить acme докер готовый к использованию как @не очень@ лёкий текстовый редактор с прозрачным пробросом до хоста

крч. охота acme поиграться но лень нырять в байты :(

qulinxao3
()

Прелестный vim предобр:

 , ,

:set number

:r!man vim

форматирование съехало в отличии когда без number

?как что бы результат был уже на ширину занятую нумерацией?

qulinxao3
()

pdf несколько разворотов на экране с удобным pgdn

 , , ,

ищется сабж у которого легко на вертикальном дисплее организуется следующее

просмотр нескольких страниц в виде прямоугольника ( в простом случае 2 столбца несколько рядов) при пробеле(либо pgdn) следующие r*c страниц

для комфортного браузинга на 4/5/8 к pdf(и в целом электронных)книжек

зы. pdf.js в ff что то похожее но лишние мышевоженье

qulinxao3
()

python: педагогически верные варианты индексации слева(+x) и справа (~x)?

 , ,

python -c "from dis import dis;set(map(dis,'-1 ~0 +0 0'.split()))"

почему крайние а не средние?

когда средние вообще к месту?

qulinxao3
()

code,vim

 , ,

охота (на) vscode со всеми преимуществами vi(m)

какие плуги инить?

ps:(сеанс граммалогии) code‖vim:

c o d e
 v i m 
---------------
cvoidme
=============
CvoidME
qulinxao3
()

Раstripeленная база(postgresql)

 ,

inbe4:возможно велосипед с фигуроми постоянной ширины колёссами- и протечка абстракций:

есть удалённая(remote) база postgresql(например) A

есть клиенты с (неустойчивым) подключениеним к А которые каким либо образом кэшируют чтение/запись своих частей А

если у postgresql механизм что бы клиент знал бы только о локальной базе - а уж локальная база синхронизировалась в «материнской»

есть ли какое легковестное решение?

т.е локальная база что то наподобии sqllite но «сама»(на тригерах али ещё как) балансирует «обмен»? данных в обе стороны с материнской серьёзной СУБД

зы. это простенький crud локальный

qulinxao3
()