Для тех кто пишет расширения на 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
A significant (though not unexpected) setback for Venezuela as the ICSID tribunal rejects an appeal against an $8.5 billion arbitration award granted to ConocoPhillips. The US oil giant has launched multiple efforts to collect debts against the Caribbean nation.
Read the report: https://venezuelanalysis.com/news/venezuela-loses-multi-billion-dollar-conocophillips-icsid-appeal/
#InternationalArbitration#ConocoPhillips#ICSID#Venezuela
В спорах о бункерной задолженности многие компании делают одну и ту же ошибку: пытаются сразу идти в арбитраж или начинать агрессивное взыскание. На практике это почти всегда приводит к потере времени, денег и стратегических возможностей.
Любое эффективное взыскание начинается не с иска, а с грамотного case intake. Это первичная юридическая диагностика спора. На этом этапе становится понятно, есть ли вообще юридически жизнеспособное требование, против кого его нужно предъявлять и где оно должно рассматриваться.
Первый шаг — идентификация спора. Нужно чётко понять структуру требования: какая поставка, какой инвойс, какая задолженность и на каком основании она возникла.
Далее идёт картирование сторон. В бункерных спорах это критически важно, потому что коммерческая цепочка почти всегда сложная: трейдер, физический поставщик, оператор судна, чартерер, бенефициарные структуры. Ошибка на этом этапе может привести к иску против неправильной стороны.
Следующий этап — проверка юрисдикции. Необходимо определить применимое право, наличие и действительность арбитражной оговорки, а также место потенциального разбирательства.
После этого проводится первичный анализ документов: bunker confirmation, delivery receipt, invoice, условия оплаты и коммерческая переписка. Именно здесь формируется доказательная база будущего дела.
И только затем имеет смысл оценивать реальную перспективу взыскания: силу требования, платёжеспособность должника и возможности исполнения решения.
Результатом этой работы становится Case Assessment Memorandum — документ, который фиксирует юридическую позицию, состояние доказательств, стратегию взыскания и рекомендуемые дальнейшие шаги.
Хорошая юридическая стратегия всегда начинается с диагностики.
Не с иска.
Не с угроз.
А с понимания структуры спора.
#MaritimeLaw⚓#ShippingLaw🚢
#BunkerDisputes⛽
#MaritimeArbitration⚖️#LMAA
#InternationalArbitration🌍
#AdmiraltyLaw#ShippingIndustry
#DebtRecovery💼
Недавно один из подписчиков попросил рассказать об арбитражном процессе в LMAA. Тема действительно стоящая. Про LMAA часто говорят, но редко объясняют спокойно и по шагам, без мифов и лишней романтики.
LMAA это не суд с мантиями и громкими речами. Это в первую очередь документный арбитраж. Морские споры, чартеры, бункерные поставки, демерредж, коллизии. И всё крутится вокруг контрактов, переписки и доказательств.
Многие удивляются, когда узнают, что большинство дел рассматривается без устных слушаний. Всё решается на бумаге. Точнее, на carefully structured written submissions. Кто лучше выстроил позицию письменно, тот и выигрывает.
Я подготовил схематичную инфографику, где показан весь путь спора:
от Notice of Arbitration
до финального Award
С назначением арбитра, Procedural Order No. 1, обменом заявлений, доказательственной фазой и, при необходимости, слушанием.
Начиная со следующего поста я начну рассказывать об этом процессе последовательно. По этапам. С акцентом на стратегию, а не просто на формальные правила.
Разберём:
• как правильно формулировать Notice
• почему выбор арбитра это уже половина стратегии
• что на самом деле решает Procedural Order No. 1
• как выстраивать Statement of Claim под английскую логику
• и почему документная дисциплина в LMAA важнее красноречия
Если вам интересны морские споры под английским правом и практическая сторона арбитража, следите за серией.
Будет конкретно, без воды и без иллюзий.
#EnglishLawReport#LMAA
#MaritimeArbitration#EnglishLaw
#ArbitrationProcedure#ShippingLaw#MaritimeDisputes
#InternationalArbitration#LegalStrategy#DocumentOnlyArbitration
🚀 Venezuela's National Assembly Approves New Mining Law to Attract Foreign Investment
Venezuela's National Assembly unanimously passed a new mining law on Thursday, which includes 131 articles aimed at garnering support from the United States and attracting foreign investment. According to Jin10, the law features provisions that support foreign investment, such as an 'economic balance' clause and international arbitration options, differing from the 1999 framework that restricted disputes to local courts.
The legislation introduces a simplified tax system, with royalties up to 13% of production and a new mining tax up to 6% of total revenue, while exempting several existing taxes. The maximum concession period is extended to 30 years, up from the previous 20 years, with the possibility of two 10-year extensions.
Officials stated that the reform aims to attract investment in projects involving gold, bauxite, and other strategic minerals. However, the government retains the authority to designate certain resources or areas as national interests and impose special conditions.
#Venezuela#MiningLaw#ForeignInvestment#Gold#Bauxite#EconomicReform#TaxIncentives#NaturalResources#NationalAssembly#InternationalArbitration