Python - Советы, библиотеки, гайды
20.7K subscribers
1.16K photos
25 videos
6 files
585 links
Всё для Python программиста :3
Готовый код, советы, лайфхаки, годные библиотеки, уроки и многое другое!

Автор - Абрахам (@priler)

РКН: https://kurl.ru/uXZzR
Download Telegram
Скайнет уже скоро ... 🌚
moviepy - это удобная библиотека для работы с видео на Python.
С её помощью можно обрезать, склеить, наложить фильтр, какие-то эффекты и многое другое.

Для своей работы библиотеки использует ImageMagick, PyGame, imageio, OpenCV и кое-какие другие зависимости.

Ставится командой ⚙️ pip install moviepy
Документация и примеры кода здесь.
Так вот для чего мы делали отступы в школе ... 🌚
Что должен знать Python Junior, наглядно.

Итого:
— Представлять что такое операционные системы, для чего они нужны, какие там происходят процессы;
— Знать что такое поток;
— Знать что такое сокеты и для чего они нужны;
— Представлять, как устроен стек протоколов TCP/IP;
— Знать что такое Linux, sh.;
— Знать виртуализацию и все её типы;
— Уметь настраивать онлайн-машины с помощью различных инструментов;
— Работать с GIT(создавать ветки);
— Знать что такое ООП и его функционал;
— Знать что такое MVC и зачем он нужен;
— Понимать асинхронную концепцию программирования;
— Уметь работать с базами данных;
— Работать с nginx (настройка прокси);
— Разбираться в отличиях Python2 от Python3;
— Представлять что такое алгоритм импорта модулей в Python;
— Знать что представляют из себя генераторы и итераторы;
— Понимать что такое GIL и зачем он нужен;
— Разбираться в WSGI и понимать как использовать его в работе.

А вы знаете всё это? 🤔
pytesseract - одна из лучших библиотек для распознавания текста в Python.
Является обёрткой над Google’s Tesseract-OCR Engine.

Я её лично применял, когда делал бота-авторыбалку для Terraria.

Из особенностей:
— Легко использовать
— Работает с разными языками
— Можно распознавать кастомные шрифты
— Нативная поддержка OpenCV
— Куча полезных параметров и настроек

Ставится командой ⚙️ pip install pytesseract
Документация и примеры кода здесь.
Ребят, у кого не устанавливается Python на Windows 7.

Это связано с тем, что новейшие версии Python 3 не поддерживаются на Windows 7 и Windows XP.

Если не ошибаюсь, последняя версия Python 3 с поддержкой Windows 7, это версия 3.8.6 (24 сентября, 2020 года).

Скачать её вы можете тут - https://www.python.org/downloads/release/python-386/

(Windows x86 executable installer для 32 битных систем, либо Windows x86-64 executable installer для 64 битных систем)
Nuitka - транспайлер, который транслирует код Python в исполняемые файлы или исходный код Cи/C++. Позволяет собирать exe из python файлов. Из плюсов можно отметить отсутствие интерпретатора внутри исполняемого файла, что делает этот инструмент намного лучше pyinstaller.

Я иногда, применяю эту библиотеку для сборки исполняемых файлов из своих программ.

Из особенностей:
— Легко использовать
— Быстрая сборка
— Активное развивается
— Увеличивает производительность и скорость работы программы

Ставится командой ⚙️ python -m pip install -U nuitka

Последняя версия (develop) ⚙️ pip install -U "https://github.com/Nuitka/Nuitka/archive/develop.zip"

Документация и примеры кода здесь.
Ну типа ... с 8 марта, питонистки ❤️🌚
🐥 Задача по Python #16

Нарисуйте красивое сердце с помощью Python ❤️. В 2D или 3D - не важно. Лучших выберу я и дам админку!

Свой вариант решения в комментарии 💭
Кодом делиться через pastebin.org или repl.it.

Внимание: При обнаружении плагиата, дисквалификация и мут на месяц!

#задачи
PaddleOCR - мощная альтернатива tesseract. Эта OCR работает на основе нескольких нейронных сетей. Первая корректирует угол наклона изображения. Вторая находит границы слов. А третья распознает! Tesseract начинает морально устаревать и требует огромного количества предобработки перед распознаванием, paddle является отличной заменой!

Из особенностей:
— Рекомендуется запускать на GPU
— Поддерживает десятки языков
— Активное развивается
— Работает очень точно

Ставится командой (для GPU) ⚙️ python -m pip install paddlepaddle-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple

Ставится командной (для CPU) ⚙️ python -m pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple

Документация и примеры кода здесь.
kornia - мощная альтернатива opencv. Сейчас достаточно часто начали заменять opencv на kornia или использовать их в связке. Дело в простоте и удобстве этого мощного инструмента. kornia является хорошим мультитулом который включает в себя как и базоввые алгоритмы для работы с изображениями, так и такие вещи как: аугментации, функции потерь, сравнение изображений и многое другое.

Из особенностей:
— Библиотека написана на Python, но в скорости не сильно уступает opencv
— Можно использовать в связке с PyTorch, opencv и некоторыми другими ML фреймворками
— Активное развивается
— Kornia объеденяет в себе классические алгоритмы CV с машинным обучением

Ставится командой ⚙️

pip install kornia[x]

Последняя версия(Develop) ⚙️

pip install git+https://github.com/kornia/kornia

После установки рекомендую проверить работоспособность ⚙️

python -c "import kornia; print(kornia.__version__)"
Кто понял в чем мем? 🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
Попался питонист
SQLAlchemy - лучшая ORM на Python. Был создан Майком Байером в 2005 году. SQLAlchemy позволяет работать с базами данных MySQL, MS-SQL, PostgreSQL, Oracle, SQLite и др.


Из особенностей:
— Код приложения будет оставаться тем же вне зависимости от используемой базы данных(позволяет соблюдать принципы чистой архитектуры)
— Код самой ORM написан качественно, в отличие от многих других ORM
— Активное развивается
— Использует SQLAlchemy Core, который предоставляет SQL Expression Language(стандартизированный SQL) и фокусируется на таблицах, колонках, индексах, а не на моделях и объектах.

Ставится командой ⚙️
pip install SQLAlchemy


В целом крайне не рекомендую использовать любую другую ORM кроме этой.
Какие типы могут быть ключами словаря?
Anonymous Quiz
29%
Неизменяемые
26%
Хешируемые
24%
Любые
22%
Я оладушек
This media is not supported in your browser
VIEW IN TELEGRAM
Planar Object Tracking via Weighted Optical Flow

Недавно был создан очень точный метод детекции объектов WOFT.
Для плоских объектов этот метод может стать хорошей альтеративой YOLOv8.

Авторы предлагают новый, стабильный ибыстрый метод детекции плоских объектов.

Из особенностей:
— Легко использовать
— В методе присутствует фильтрация ложных срабатываний, что делает этот метод надёжным
— Использует и kornia, и opencv
— Детекция может происходить даже при нечёткой картинке
— Возможна конвертация в onnx

Ставится командой ⚙️

python -m pip install virtualenv
python -m virtualenv envs/WOFT
source envs/WOFT/bin/activate
python -m pip install tqdm einops opencv-python kornia==0.5.11 ipdb pandas matplotlib scipy


Запуск demo ⚙️

python WOFT_demo.py demo/V25_2/


Научная работа: arxiv.org/pdf/2301.10057.pdf
Reagento - начало революции в Backend разработке на Python. Сейчас большой популярностью пользуется библиотека pydantic. К нему "привязаны" множество бэкэнд фреймворков, хотя она является крайне медленной и неудобной. Reagento, в частности dataclass_factory исправит эту ситуацию! dataclass_factory — это современный способ преобразования датаклассов или других объектов в более распространенные типы, такие как dict. Данная библиотека намного быстрее и удобнее конкурентов. Сейчас она очень активно развивается и в будущем мы возможно увидем целый Backend фреймворк, который за основу возьмёт dataclass_factory.

Преимущетсва данной библиотеки:

— Для простых случаев не требуются схемы или конфигурация. Просто создайте Factory и вызовите методы загрузки/дампа
— Скорость. Это до 10 раз быстрее, чем marshmallow, dataclasses.asdict и других подобных библиотек
— Автоматическое преобразование имён (например, snake_case в CamelCase)
— Автоматический пропуск полей для «внутреннего использования» (с подчеркиванием в начале)
— Множества, типизированные словари, кортежи и списки поддерживаются «из коробки».
— Структуры с циклическими ссылками (например, связанные списки или деревья) также могут быть преобразованы.

Рекомендую устанавливать develop версию прямо с гитхаба ⚙️

https://github.com/reagento/dataclass-factory.git