Для тех кто пишет расширения на 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
#typescript#diagrams#mermaid
Mermaid Live Editor lets you edit and preview flowcharts, sequence, and Gantt diagrams in real time using simple text. Save as SVG, share view or edit links easily, and run it via Docker or locally with Node.js and pnpm. This helps you quickly create, collaborate on, and update diagrams without drawing tools, making documentation and team work faster and simpler.
https://github.com/mermaid-js/mermaid-live-editor
Давно хотел нарисовать диаграмму понятным языком объясняющую как выбирать лицензию для публикуемых датасетов. Вернее, вначале хотел написать текстом разные сценарии, а потом понял что визуально то понятнее.
Так что вот Вам готовая схема для принятия решений убрал только усложняющие пункты типа "Надо всё согласовывать с юристами?" или "Не хотите ни за что отвечать?". Ну да их в какой-нибудь следующей версии
Всё сделано с помощью Mermaid диаграмм декларативным описанием.
#licenses#data#diagrams
Давно хотел нарисовать диаграмму понятным языком объясняющую как выбирать лицензию для публикуемых датасетов. Вернее, вначале хотел написать текстом разные сценарии, а потом понял что визуально то понятнее.
Так что вот Вам готовая схема для принятия решений убрал только усложняющие пункты типа "Надо всё согласовывать с юристами?" или "Не хотите ни за что отвечать?". Ну да их в какой-нибудь следующей версии
Всё сделано с помощью Mermaid диаграмм декларативным описанием.
#licenses#data#diagrams
#typescript#architecture#architecture_as_code#c4#diagrams
LikeC4 lets you describe software architecture in simple code files that automatically generate live, up-to-date diagrams you can visualize, collaborate on, and evolve. Inspired by C4 model, it offers flexible custom elements, notations, and nested levels tailored to your needs—run `npx likec4 start` for instant previews via CLI, VSCode extension, or web viewer. You benefit by ending stale docs, ensuring diagrams match your code as the single truth, saving time on manual drawing, enabling easy Git diffs/reviews, and boosting team understanding of complex systems.
https://github.com/likec4/likec4
#typescript#csv#diagrams#graph#json#nextjs#react#tool#visualization#yaml
JSON Crack is a free, open-source tool that instantly turns complex JSON, YAML, CSV, XML, or TOML data into clear, interactive graphs, making it easier to explore and understand your information. It lets you convert between formats, validate data, generate code (like TypeScript interfaces), run queries, and export visuals as images—all while keeping your data private since everything processes locally on your device[1][2][5].
https://github.com/AykutSarac/jsoncrack.com