Содержание
- FastAPI
- Django
- Flask
- aiohttp
- httpx
- pytest
- Faker
- responses
- NumPy
- pillow
- OpenCV
- TensorFlow
- PyTorch
- AIOgram
- Pyrogram
- asyncio
- pandas
- matplotlib
- BeautifulSoup
- Pydantic
- pydantic-settings
- SQLA
- keras
- theano
- Black
- Ruff
- mypy
- isort
- pygame
- Kivy
Для чего нужны библиотеки в Python
Библиотека — набор файлов, модулей, классов, функций, в которых реализован весь функционал решения конкретной проблемы. Благодаря им разработчику не приходится писать все с нуля: стандартные библиотеки Python сильно упрощают процесс разработки.
Для Python существует много полезных библиотек с открытым исходным кодом, которые можно найти в хранилище программного обеспечения PyPI.
Выбирая подходящую библиотеку, разработчик должен понимать:
- главную цель, особенности и область работы проекта;
- совместимость библиотеки с используемой версией Python;
- возможность конфликтов между выбранными библиотеками.
Как подключить библиотеку в Python
C помощью встроенного пакетного менеджера Pip для Python можно устанавливать сторонние библиотеки и пакеты, доступные в PyPI, клонировать несколько Git-репозиториев, а также управлять зависимостями проекта.
Библиотеки языка Python, написанные сторонними разработчиками, нужно устанавливать и подключать вручную.
- Откройте командную строку или терминал:
- на Windows нажмите кнопки Win + R, введя в открывшемся окне cmd;
- на Linux нажмите сочетание клавиш Ctrl + Alt + T;
- на macOS нажмите сочетание клавиш Cmd + Space, введя в открывшемся окне terminal.
- Создайте виртуальное окружение, введя в терминале команду python -m venv и имя папки, где будет находиться окружение: python -m venv venv.
- Активируйте виртуальное окружение (придется делать каждый раз при работе с проектом, но большинство сред разработки на Python делают это автоматически):
- Windows: source имя окружения/Scripts/activate;
- Linux и macOS: source имя окружения/bin/activate.
- Убедитесь, что pip установлен: введите в терминале pip --version. Если в выводе указано, что команда не найдена, можете полностью переустановить Python.
- Обновите Pip до последней версии, введя в терминале pip install -U pip.
- Скачайте нужную вам библиотеку: введите pip install и название библиотеки — pip install fastapi или pip install django.
- После полной загрузки пакета проверьте, правильно ли скачалась библиотека. Запустите команду pip show и введите имя библиотеки: pip show fastapi. Если выводится ошибка, попробуйте найти пути ее решения (в комментариях к ошибке указывается способ ее устранения).
FastAPI
Асинхронный микрофреймворк для создания быстрых и легких по размеру веб-приложений на Python. Позволяет создавать отказоустойчивое и легко масштабируемое API и не навязывает никаких зависимостей или структуры проекта. Он поддерживает шаблонизатор jinja и проверку типов благодаря библиотеке Pydantic.
Устанавливается командой pip install fastapi # или poetry add fastapi.
Django
Наиболее распространенный фреймворк для разработки веб-серверов на Python. Он содержит большой набор правил и инструментов, чтобы ускорить создание продукта, поэтому разработчик может сосредоточиться на написании приложения, не нуждаясь в изобретении велосипеда. Основная идеология Django — скорость разработки, масштабируемость, большой набор инструментов, сообщество и безопасность.
Устанавливается командой pip install django # или poetry add django.
Flask
Микрофреймворк для создания веб-приложений, которые очень хорошо разворачиваются на удаленной машине. Он не навязывает никаких зависимостей по используемым библиотекам и структуре проекта. Большое количество расширений и огромное сообщество пользователей делают процесс разработки проще.
Устанавливается командой pip install flask # или poetry add flask.
aiohttp
Асинхронная библиотека для управления HTTP-серверами и клиентами, используя встроенный модуль asyncio в Python. Она поддерживает клиентскую часть HTTP-протокола и позволяет разворачивать серверные приложения и веб-сокеты. Библиотека не навязывает никаких зависимостей по структуре проекта и по списку используемых фреймворков.
Устанавливается командой pip install aiohttp # или poetry add aiohttp.
httpx
Микрофреймворк, похожий на библиотеку requests, для обращения к API через протокол HTTP, который позволяет работать в синхронном и асинхронном режиме. Библиотека поддерживает современную версию протокола — HTTP2.
Устанавливается командой pip install httpx # или poetry add httpx.
Установка с поддержкой HTTP2: pip install “httpx[http2]” # или poetry add “httpx[http2]”.
pytest
Мощный и популярный фреймворк для тестирования веб-приложений, консольных, десктопных, мобильных программ, который обеспечивает простоту написания, читабельность и гибкость тестов. Pytest поддерживает автоматическое обнаружение и выполнение тестов, интроспекцию, добавление плагинов и удобное разделение тестов по уровням.
Устанавливается командой pip install pytest # или poetry add pytest.
Faker
Популярная библиотека, которая используется в тестировании и решает проблему недостатка данных. Умеет генерировать реалистичные телефонные номера, ФИО, даты рождения, данные карточек, адреса почтовых ящиков, пароли, не прибегая к использованию настоящих персональных данных.
Устанавливается командой pip install faker # или poetry add faker.
responses
Библиотека имитирует ответы пользователя на запросы к серверу и часто используется в тестировании.
Устанавливается командой pip install responses # или poetry add responses.
NumPy
Популярная библиотека, которая может обрабатывать сложные математические вычисления и работать с числами с высокой скоростью. NumPy умеет работать с матрицами и многомерными массивами, которые передаются в качестве входных данных для обучения искусственного интеллекта. Используется в основном специалистами Data Science и ML-инженерами.
Устанавливается командой pip install numpy # или poetry add numpy.
pillow
Библиотека позволяет выполнять различные действия с картинками: фильтрацию, обрезку, избавление от шумов, повороты, анимацию, наложение, создание QR-кодов. Нужна для обучения компьютерного зрения в моделях искусственного интеллекта, чтобы перевести в понятный для машины формат данных.
Устанавливается командой pip install pillow # или poetry add pillow.
OpenCV
Популярная библиотека Python для работы с компьютерным зрением, обработкой изображений, машинным обучением. Полезна в распознавании текста.
Устанавливается командой pip install opencv-python # или poetry add opencv-python.
TensorFlow
Библиотека для глубокого обучения моделей нейросети. В основном используется для создания и обучения искусственного интеллекта.
Устанавливается командой pip install tensorflow # или poetry add tensorflow.
PyTorch
Фреймворк, альтернативный библиотеке TensorFlow, предоставляющий алгоритмы глубокого обучения и создания нейронных сетей.
Устанавливается командой pip install pytorch # или poetry add pytorch.
AIOgram
Асинхронный фреймворк для разработки телеграм-ботов на Python, который постоянно актуализируется под новые изменения в Telegram Bot API. Поддерживает создание клавиатур, работу с контекстом диалога пользователя и бота, автоматический перевод сообщений на выбранный язык, удобную обработку команд, создание всевозможных фильтров, форматирование сообщений и работу с WebApp (приложениями, встроенными в телеграм-ботов).
Устанавливается командой pip install aiogram # или poetry add aiogram.
Pyrogram
Асинхронный клиент Telegram на Python, на котором можно создавать ботов, в том числе и пользовательских. Pyrogram предоставляет реализацию Telegram API и Telegram Bot API.
Устанавливается командой pip install pyrogram # или poetry add pyrogram.
asyncio
Встроенная библиотека языка Python с полным функционалом работы с асинхронным кодом. Является основополагающей для всех асинхронных библиотек. На asyncio можно писать операции I/O, работать с сокетами, асинхронно запускать задачи и писать конкурентный код, используя async/await.
Устанавливать не нужно: является встроенным модулем.
pandas
Инструмент для работы с данными на Python с возможностями анализа, очищения, изучения и преобразования данных с помощью мощных структур данных. Реализует работу с табличными, текстовыми, матричными и статическими видами данных. Работает в связке с NumPy и matplotlib, группируя, сортируя, агрегатируя и визуализируя данные. Pandas используется также и для машинного обучения.
Устанавливается командой pip install pandas # или poetry add pandas.
matplotlib
Библиотека для создания анимированных, статических и интерактивных визуализаций на Python, которая позволяет выводить и строить графики, а также управлять ими с помощью зума, обновления и панорамирования. Экспортирует данные в различные форматы и совмещает их с другими инструментами.
Устанавливается командой pip install matplotlib # или poetry add matplotlib.
BeautifulSoup
Библиотека для парсинга данных с HTML- и XML-разметок. С помощью нее можно автоматизировать процесс сбора информации со всех сайтов в интернете в Pythonic-стиле. BeautifulSoup используется среди аналитиков, ученых и разработчиков, которые собирают данные для обучения искусственного интеллекта.
Устанавливается командой pip install bs4 # или poetry add bs4.
Pydantic
Одна из лучших и самых быстрых библиотек Python для валидации данных, логика которой написана на Rust. С помощью Pydantic можно быстро валидировать данные, исходя из наложенных фильтров, ограничений по возможному типу и формату данных.
Дает несколько методов использования встроенных аннотаций в Python и гарантирует, что валидируемые данные со 100% вероятностью соответствуют наложенным на них требованиям.
Устанавливается командой pip install pydantic # или poetry add pydantic.
pydantic-settings
Мощная библиотека для работы с переменными окружения, с помощью которой можно автоматически валидировать тип переменной окружения. Также в нее встроена автоматическая проверка на существование переменной.
Устанавливается командой pip install pydantic-settings # или poetry add pydantic-settings.
SQLA
Самый популярный фреймворк для работы с базами данных на Python. На нем можно делать описания для ORM или использовать сырой SQL, удобно строить SQL-запросы, передавая во встроенные функции имена классов, где находится таблица. SQLA реализует автоматическую проверку этих запросов перед их исполнением для избежания SQL-инъекций. Позволяет работать с аннотациями типов, что сильно упрощает процесс разработки.
SQLA не зависит от того, какую базу данных вы используете: необходима лишь библиотека, осуществляющая подключение к протоколу СУБД и имеющая диалекты, которые можно написать самому.
Устанавливается командой pip install pydantic-settings # или poetry add pydantic-settings.
Keras
Модульная гибкая библиотека на Python, которая используется для разработки искусственного интеллекта в моделях машинного и глубокого обучения. Прекрасно работает в связке с TensorFlow и theano, что сильно уменьшает объем написанного кода.
Устанавливается командой pip install keras # или poetry add keras.
theano
Библиотека, используемая для разработки искусственного интеллекта в моделях машинного и глубокого обучения, которая интегрируется с NumPy и графическими процессорами, что ускоряет ее примерно в 140 раз по сравнению с центральным процессором.
Устанавливается командой pip install theano # или poetry add theano.
Black
Инструмент форматирования кода в удобочитаемом виде. Black позволяет программистам не задумываться над тем, как выглядит их код, и ускоряет процесс разработки.
Устанавливается командой pip install black # или poetry add black.
Ruff
Мощный линтер для Python, который определяет повторно использованные конструкции, дает советы об изменении кода и предупреждает о возникновении возможных угроз.
Устанавливается командой pip install ruff # или poetry add ruff.
mypy
Инструмент для проверки аннотаций типов. Собирает ошибки при написании предполагаемых типов данных и сокращает время на их исправление.
Устанавливается командой pip install mypy # или poetry add mypy.
isort
Библиотека, которая сортирует импорты других библиотек по стилю PEP8 и позволяет разработчикам модернизировать настройки сортировки.
Устанавливается командой pip install isort # или poetry add isort.
pygame
Библиотека на Python для создания игр, которая использует SDL (Simple DirectMedia Layer). Код, написанный с ее использованием, легко переносится на другие операционные системы.
Устанавливается командой pip install pygame # или poetry add pygame.
Kivy
Библиотека для создания мобильных приложений на Python с использованием NUI (Natural User Interface) и промежуточного языка kv или kivy. Позволяет описывать действия пользователей и создавать интерактивные приложения.
Устанавливается командой pip install kivy # или poetry add kivy.