Для тех кто пишет расширения на 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
NewPipe
(YouTube Premium)
🆕Обновление
Неофициальный клиент для популярного сервиса YouTube со всеми преимуществами Premium версии. Нет рекламы и доступно фоновое воспроизведение.
⚙️Полная Premium версия, вырезана реклама, доступно скачивание видео и аудио.
#YouTube@pm_plus
#NewPipe@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
#NewPipe on #Linux, Using Android_translation_layer
https://flathub.org/apps/net.newpipe.NewPipe
Comments
https://news.ycombinator.com/item?id=41963932
#yt
NewPipe x SponsorBlock
A fork of NewPipe with SponsorBlock functionality.
The implementation is still a bit basic but it generally works pretty well.
💡 How can I get this?
Builds will be uploaded in the Releases section. Please download the APK from the newest release and install it on your device.
💡 Why isn't this in upstream NewPipe?
The developer team behind the official NewPipe decided that they do not want to include this kind of functionality in their app. See https://newpipe.schabi.org/blog/pinned/newpipe-and-online-advertising/ and https://github.com/TeamNewPipe/NewPipe/pull/3205 for more information and discussion.
We obviously disagree but we respect their decision and continue to offer SponsorBlock in NewPipe via this fork.
https://github.com/polymorphicshade/NewPipe#newpipe-x-sponsorblock
#newpipe#sponsorblock
NewPipe Releases (unofficial) - NewPipe's GitHub releases
The APK sent here cannot be installed over F-Droid's one because they use different signing keys (details)
This pull request adds an experimental SponsorBlock integration, the fork's apk is linked there
👉🏼https://t.me/newpipe_releases👈🏼
💡 read this as well: YouTube video hosting alternatives
https://t.me/NoGoolag/2284
#newpipe#youtube#alternatives
📡@libreware📡@nogoolag
BraveNewPipe
A libre lightweight streaming front-end for Android
Due to restrictive project policy, the #NewPipe team refuses to add platforms that they find offensive. This fork (BraveNewPipe) will not be as restrictive. As long as the platforms work in the spirit of free speech, they could be integrated.
Nevertheless, platforms that promote pornography or other degrading things will NOT be included here.
Contribute
This fork will focus only on integrating other platforms. Unrelated patches will be rejected for now.
Feel free to suggest which alternative platforms should be included. Any contribution (development/testing/bug report) is greatly appreciated.
Which additional platforms are supported?
Bitchute
Rumble
Other features not found in NewPipe
-NewPipe x Sponsorblock into this fork
-searchfilters: in the action menu of the search page you can now change the search behavior for the actual search. The supported content/sort filters depend on the service
https://github.com/bravenewpipe/NewPipe
Download
https://github.com/bravenewpipe/NewPipe/releases
#yt#video#streaming
#java#4k#android#bandcamp#download_videos#newpipe#peertube#soundcloud#translation#video#watch#youtube_video
NewPipe is a free, open-source Android app for ad-free streaming and downloading videos/audio from YouTube, SoundCloud, PeerTube and more, with background play, pop-up mode, subscriptions without accounts, and no Google tracking for full privacy. The team is rewriting the code for a modern, stable version—download nightly builds to try new features early. This benefits you by saving data/battery, enabling offline/multitasking use, and protecting your data on any device.
https://github.com/TeamNewPipe/NewPipe