Для тех кто пишет расширения на 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
❗️Академия радио обращается к региональным радиовещателям
На XV конференции «Радио в глобальной медиаконкуренции» Президент РАР Андрей Романченко выделил ключевые задачи и успехи отрасли. Особое внимание было уделено утверждению регламента использования технологии Radio Data System (#RDS), подчеркнута важность этой работы и необходимость для региональных вещателей привести свои параметры RDS в соответствие с отраслевым стандартом.
В связи с этим Академия радио обращается к региональным радиовещателям всех форм собственности (локальным станциям и сетевым филиалам) с рекомендацией до 30 декабря 2025 года использовать электронный сервис для приведения параметров RDS в соответствие с регламентом.
Порядок действий:
1. Получить новый идентификационный код (PI) через «Сервис администрирования RDS» (radiords.ru).
2. Внести изменения в настройки RDS-кодера.
3. Для вновь запускаемых радиостанций процедура получения кода PI через данный сервис является обязательной.
Важно для сетевых партнеров: национальные и межрегиональные сети должны использовать единый код PI на всей территории РФ. Актуальные коды можно проверить в разделе «Действующие коды PI» на том же сервисе.
#python#aws#aws_cli#aws_sdk#cloud#cloud_management#cloudformation#cloudwatch#dynamodb#ec2#ecs#elasticsearch#iam#kinesis#lambda#machine_learning#rds#redshift#route53#s3#serverless
AWS Lambda lets you run code without managing servers, automatically scaling to handle any number of requests and charging you only for the compute time you use. It supports many programming languages and integrates well with other AWS services, making it ideal for tasks like real-time data processing, image handling, chatbots, and automating backups. This serverless approach saves you time and money by removing infrastructure management and adapting instantly to demand spikes, so your applications stay responsive and cost-efficient even as usage changes. Lambda is great for building scalable, event-driven applications quickly and easily.
https://github.com/donnemartin/awesome-aws