Для тех кто пишет расширения на 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
Nextcloud now offers AI integration for your Nextcloud server. Apps aren't installed by default, except Smart Mail, Background Images & Sus Login.
AI comes with risk, so #Nextcloud rates their #AI apps at 4 levels, based on 3 conditions.
Conditions
1. Is it open source?
2. is the trained model free for self-hosting?
3. is the training data available and free to use?
Rating levels
🟢 = All condition met
🟡 = 2 conditions met
🟠 = 1 condition met
🔴 = 0 conditions met
The AI apps are listed
below w/their ratings.
👇
IMAGE GENERATION
🟡Online StableDiffusion
🟡Self-Hosted StableDiffusion
🔴Online DALL-E 2
TEXT GENERATION
🟡LocalAI
🔴ChatGPT
SPEECH-2-TEXT DICTATION
🟢OpenAI Whisper
🟡External Whisper
SPEECH-2-TEXT TRANSCRIPTION
🟢OpenAI Whisper
🟢LocalAI
SMART INBOX
🟢 Built-In
(can be disabled in low-left settings)
FACE/OBJECT RECOGNITION
🟢Recognize
BACKGROUND IMAGES/BLUR
🟢 Built-In
TRANSLATION
🟢Opus
🟢LibreTranslate
🔴DeepL
SUSPICIOUS LOGIN
🟢 Built-In
⚡️@LinuxTechIndex
.
You can log and track the phone locations of your family and friends in complete privacy, using your Nextcloud server.
To do this you need to install the Nextcloud PhoneTrack App on your Nextcloud server, and the Android PhoneTrack App on every DeGoogled phone you want to track.
The F-Droid version is old and buggy.
To get the newer Dev Android version, you:
1. Go to the PhoneTrack Dev GitLab page, scroll down and click the "APK Direct Download" link
2. At top "Pipeline" option, click the Download arrow and select "AssembleDevDebug:archive"
3. This downloads a zip file. Extract the zip and install the APK.
CONNECT ALL PHONES AND TRACK
4. On Nextcloud create a dedicated account for PhoneTracking.
5. Create a PhoneTrack "Session" in the Nextcloud PhoneTrack app.
6. Sign each phone into the Nextcloud PhoneTrack account, and on the phone, add a "PhoneTrack log job" to the Session on Nextcloud.
⚡️@LinuxTechIndex
#PhoneTrack#Tracker#Nextcloud