Для тех кто пишет расширения на PyQt/PySide для CG-софтов.
Когда я только начинал писать тулзы под Maya (тогда еще версия 2010-2011) мне приходилось ручками ставить PyQt4 под Maya. Даже написал мануалы по установке на своём сайте. Но потом стал доступен из коробки PySide и позже он обновится до PySide2. Для некоторых систем была поддержка PyQt5.
И как простому разработчику поддерживать этот зоопарк? Ведь хочется чтобы тул работал на любой версии (вы тоже делали модуль что-то типа import_qt.py?😁)
На помощь приходит проект Qt.py который поставил себе цель унифицировать использование Qt-биндингов вне зависимости от среды где запускается код. Те, кто давно пишут на Qt, скорее всего знают этот проект.
Он стал стандартом для CG-индустрии и используется в топовых студиях и проектах.
Qt․py помогает запускать один и тот же код на разных платформах с разными вариантами Qt-библиотек. Это может быть как интеграция в CG-софт, так и переносимость стендалонов между разными платформами с разными версиями Python.
Я решил рассказать о некоторых особенностях работы с этой библиотекой.
Сегодня о том, как установить и использовать Qt․py и что это вам даёт.
Установка
pip install Qt.py
Чтобы начать использовать Qt․py в коде достаточно заменить импорт вашего варианта Qt-биндинга на Qt․py
from [PySide|PyQt4|PySide2|PyQt5] import QtWidgets
=>
from Qt import QtWidgets
Теперь ваш код будет поддерживать любой вариант биндинга Qt в Python.
При этом не потребуется использовать if-else конструкции под разные версии. Все вызовы теперь одинаковы.
Всё что нужно сделать, это написать его по правилам PySide2. Именно эта версия была взята за основу.
Приоритет импорта такой:
1. PySide2
2. PyQt5
3. PySide
4. PyQt4
Что именно загрузилось можно посмотреть в переменной __binding__
>>> import Qt
>>> Qt.__binding__
'PySide2'
Приоритет имопрта можно изменить через переменные QT_PREFERRED_BINDING и QT_PREFERRED_BINDING_JSON. Причем под каждый проект оверрайды можно настраивать индивидеально.
#qt#libs
📰 Arm C1-Ultra Scheduling Model Merged For LLVM/Clang 23
Merged recently to the latest LLVM/Clang compiler development tree is the Arm C1-Ultra scheduling model for helping with delivering optimal binaries for that flagship next-gen Arm mobile CPU...
🔗 Source: https://www.phoronix.com/news/Arm-C1-Ultra-Sched-LLVM-Clang
#arm
📰 Arm rolls its own 136-core AGI CPU to chase AI hype train
Turns out artificial general intelligence was a CPU this whole time Arm unveiled its first homegrown silicon — yes, an actual chip, not another shake-n-bake blueprint — during an event in San Francisco on Tuesday, and said that flagship customer Meta is set to deploy the 136-core CPU at scale later this year.…
🔗 Source: https://go.theregister.com/feed/www.theregister.com/2026/03/24/arm_agi_cpu/
#arm
📰 Vulkan 1.4.345 Released With New ARM Shader Instrumentation Extension
Vulkan 1.4.345 released overnight as the latest routine spec update to this graphics and compute API. There is one new extension besides a handful of different clarifications and corrections to various elements of the spec...
🔗 Source: https://www.phoronix.com/news/Vulkan-1.4.345-Released
#arm
📰 NanoPi NEO03 Plus is a tiny, headless single-board PC for $24
The FriendlyELEC NanoPi NEO03 Plus is a tiny single-board computer (SBC) that measures 48 x 48mm (1.9″ x 1.9″) and features a 2 GHz Rockchip RK3528A quad-core Arm Cortex-A53 processor with Mali-450 graphics. While the little computer isn’t exactly a speed demon, it is cheap. The NanoPi NEO03 Plus available now for $24. But while it’s a .
🔗 Source: https://liliputing.com/nanopi-neo03-plus-is-a-tiny-headless-single-board-pc-for-24/
#arm
📰 DshanPi-A1 is an RK3576 dev board with two RJ45 ports, HDMI input and output, and more
The DshanPi-A1 is a new single-board computer with the same Rockchip RK3576 octa-core Arm-based chip as the Bit-Brick K1 Pro. But while the Bit-Brick board features two M.2 slots for NVMe storage, the DshanPi-A1 does not. It stands out for a few other reasons though. The main one is that in addition to an HDMI port .
🔗 Source: https://liliputing.com/dshanpi-a1-is-an-rk3576-dev-board-with-two-rj45-ports-hdmi-input-and-output-and-more/
#arm
📰Bit-Brick K1 and K1 Pro are dev boards with RISC-V or Arm chips, up to 8GB RAM, and M.2 slots
The Bit-Brick K1 and Bit-Brick K1 Pro are both compact computer board that measures 90 x 80mm (3.54″ x 3.15″) and feature support for 4GB or 8GB of onboard LPDDR4x memory, and plenty of I/O features including Gigabit Ethernet, USB 3.0 and USB 2.0 ports, and two M.2 slots with support for NVMe SSDs, among other .
🔗 Source: https://liliputing.com/bit-brick-k1-and-k1-pro-are-dev-boards-with-risc-v-or-arm-chips-up-to-8gb-ram-and-m-2-slots/
#arm
Компания Arm представила следующее поколение процессоров – Armv9. Новая архитектура предлагает три основных улучшения по сравнению с предыдущей: безопасность, ИИ и производительность в целом.
⚙️ Armv9 будет поддерживать технологию Scalable Vector Extension 2, которая предназначена для виртуальной и дополненной реальности, а также задач машинного обучения, таких как обработка изображений и распознавание голоса.
🔐 Технология Confidential Compute Architecture с помощью безопасной аппаратной среды, которая может создаваться динамически, будет защищать важные данные от остальной части системы.
📈 В компании также заявили, что производительность процессора увеличится более чем на 30% с дальнейшим повышением производительности за счет оптимизации программного и аппаратного обеспечения.
Arm ожидает отгрузку первых партий кристаллов уже к концу текущего года.
#Arm
📰 Dell XPS 13 Snapdragon Elite Laptop Sees New EC Linux Driver To Improve Support
Last month Dell upstreamed the firmware needed for their XPS 13 935 Snapdragon X1 Elite laptop. This makes the Linux outlook for this ARM-based Dell XPS laptop much better than before in not having to worry about extracting necessary firmware blobs from Windows 11. Now another step forward for the Dell XPS 13 9345 is being made with a new EC driver being posted to enhance the hardware support...
🔗 Source: https://www.phoronix.com/news/Dell-XPS-13-9345-EC-Driver
#arm#linux
📰Mesa PanVK Driver Seeing Up To 25.7x Speedup For MSAA
The open-source PanVK driver providing Vulkan support for modern Arm Mali graphics hardware is seeing big speed-ups in the multi-sample anti-aliasing (MSAA) performance in Vulkan tests as a result of new code merged today to Mesa 26.1...
🔗 Source: https://www.phoronix.com/news/Mesa-PanVK-25.7x-16x-MSAA
#opensource#arm
📰 Arm Preparing The Linux Kernel For 128-bit Page Table Entries "FEAT_D128"
A new core infrastructure improvement for the Linux kernel on ARM being worked on is enabling 128-bit page table entries (PTEs) with FEAT_D128 as a new optional feature of Armv9.3 and later...
🔗 Source: https://www.phoronix.com/news/Arm-Linux-FEAT-D128-Patches
#arm#kernel#linux
📰 IBM Updates Linux Patches For Introducing ARM64 KVM Virtualization On s390
At the start of April was the peculiar announcement of IBM collaborating with Arm on "dual architecture" hardware. The initial fruits of that collaboration at least are Linux kernel patches for enabling ARM64 virtualization acceleration on IBM Z servers. As we approach the end of the month, IBM has now posted a second iteration of those patches for enabling AArch64 software to run on IBM s390 via the Kernel-based Virtual Machine (KVM)...
🔗 Source: https://www.phoronix.com/news/ARM64-On-s390-IBM-Z-v2
#arm#kernel#linux
📰With Linux 7.1 The Mainline Kernel Now Supports Real-Time "RT" On ARM
The Linux 7.1 mainline kernel will allow building a real-time "PREEMPT_RT" kernel for the ARM architecture with no longer needing any out-of-tree patches...
🔗 Source: https://www.phoronix.com/news/Linux-7.1-ARM-RT
#arm#kernel#linux