TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #176 · 2 ное.

Модуль Qt․py это не просто текстовый модуль, его компоненты генерируются на лету в зависимости от ситуации. Поэтому ваша любимая IDE не сможет качественно сообразить автокомплиты под этот модуль. Решение здесь более чем очевидно, надо сделать stubs-файлы. Это файлы с расширением .pyi, описывающие содержимое модуля но не имеющие рабочего кода. Ну что, готовы потратить пару месяцев своей жизни чтобы описать все классы Qt и их методы? 😭 Расслабьтесь, за вас это уже сделали добрые люди. Спасибо Fredrik Averpil ! Качаем здесь ⬇️ https://github.com/fredrikaverpil/Qt.py/tree/stubs/stubs/Qt Не думаю что стоит устанавливать Qt․py из этого репозитория. Он там не обновляется. Так что забираем только файлы .pyi. За актуальность этих файлов тоже не ручаюсь, но большинство методов там имеются. Установка: 🔸 Вариант 1: - находим куда установлен сам модуль Qt․py, это будет одинокий файл который так и называется Qt․py - кидаем директорию рядом с ним (если есть доступ на запись). Должно получиться так: 📁 site-packages\ 📄 Qt.py 📁 Qt\ ... 🔸 Вариант 2 - копируем директорию Qt куда угодно - пробиваем путь к ней в настройках энвайронмента в переменную PATH так, чтобы путь был ДО директории Qt. Закинуть можно и в свою домашнюю директорию. Если скопируете сюда: ~/stubs/Qt То переменную пишем так export PATH=~/stubs:${PATH} После этого IDE должна распарсить stubs-файлы и автокомплиты появятся 😎 #qt#libs#tricks

Резултати

Пронајдени 1 слични објави

Пребарај: #anvil

当前筛选 #anvil清除筛选
Android Broadcast

@android_broadcast · Post #9738 · 09.12.2025 г., 12:05

🚀Cash App перевел Android-приложение на Metro — новый DI фреймворк для Kotlin Команда Cash App (Block) успешно мигрировала своё Android-приложение с Anvil/Dagger на Metro — современный фреймворк для dependency injection, разработанный Zac Sweers. Metro — это compile-time DI фреймворк, вдохновленный Dagger и Anvil, но реализованный как Kotlin compiler plugin. Он Kotlin-first, поддерживает K2 и работает значительно быстрее традиционных решений. Вобрал в себя всё лучшее от Dagger, Anvil и Kotlin-Inject Почему перешли на Metro? - Скорость сборки — ускорение инкрементальных сборок на ~60% - Поддержка Kotlin K2 — возможность использовать новейший компилятор Kotlin - Упрощение стека — отказ от kapt и Java-ориентированных инструментов - Современный подход — Kotlin-first дизайн и улучшенный DX - Более строгая валидация DI-графа - Улучшена безопасность типов (нуллабельность) - Поддержка KMP 📊 Результаты по скорости сборки: - Инкрементальные сборки → ускорение на 58-60% - Чистые сборки → ускорение на 17% - ABI-изменения → сборка за 11.9s вместо 28.8s Миграция 1500 модулей проводилась постепенно с двойной поддержкой двух DI фреймворков для безопасного перехода. В зависимости от настройки Gradle менялся DI и генерация кода. Впервые вижу подход, когда был описан граф для 2 разных DI с целью постепенной миграции. Миграцию с Koin на Metro так не сделать, но вот с Koin Annotations на Metro вполне может получится. #DI#KMP#Dagger#Metro#Android#AndroidDev#Anvil