Одна из причин популярности Python — наличие большого числа фреймворков и библиотек (libraries, lib). И это хорошо, ведь чем больше дополнительных пакетов, тем больше вариантов по использованию языка открывается перед программистом. В этой статье мы рассмотрим десять Python libraries, посредством которых работа с Python становится проще и эффективнее.

Requests

Requests предназначена для того, чтобы сделать HTTP-запросы проще и удобнее. Эта библиотека (library, lib) написана на Python и является условным стандартом для многих разработчиков. Позволяет добавлять к HTTP-запросам:

— данные формы;

— заголовок;

— содержимое;

— файлы из нескольких частей и так далее.

Благодаря ей, больше не надо добавлять запрос в URL либо выполнять кодировку POST-данных вручную.

Особенности Requests:

  • многокомпонентная загрузка файлов, возможность потоковой загрузки;
  • автодекодирование контента, автораспаковка;
  • проверка SSL;
  • возможность настройки и оптимизации функций согласно требованиям;
  • Keep-Alive & Connection Pooling;
  • поддержка международных URL и доменов.

Pillow

Pillow, она же PIL — бесплатная библиотека Python, предназначенная для работы с изображениями, а также для архивирования и отображения картинок и фото.

Особенности Pillow:

  • поддерживает отладку с применением метода show;
  • совместима с программными приложениями пакетной обработки;
  • поддерживает много форматов файлов;
  • имеет интерфейсы BitmapImage, PhotoImage, а также Window DIB.

Также она обеспечивает поддержку:

— произвольных аффинных преобразований,

— преобразований цветового пространства,

— фильтрации посредством встроенных ядер свертки,

— изменения размера изображения,

— поворота изображения,

— точечных операций.

Вдобавок к этому, поддерживается метод гистограммы, позволяющий получать статистику изображения, что может применяться разработчиком как для статистического анализа, так и для автоповышения контрастности.

Scrapy

Относится к числу libraries с открытым исходным кодом, предназначена для извлечения данных web-сайта, а также для автотестирования, интеллектуального анализа данных, интернет-сканирования.

Плюсы Scrapy:

  • написание рабочих скриптов не составляет труда;
  • предоставляется оболочка для сканирования сайтов (она же дает возможность тестировать поведение сайта);
  • поддержка экспорта очищенных данных посредством командной строки.

Asyncio

Нужна для облегчения работы с асинхронным кодом. Обычно ее задействуют для написания параллельного кода с применением async/await-синтаксиса. Поставляется с несколькими низко- и высокоуровневыми API.

Преимущества:

  • обеспечивает управление подпроцессами и распределение задач через очереди;
  • выполняет сетевой ввод-вывод, позволяет синхронизировать параллельный код;
  • дает возможность соединять libraries на основании кода и обратных вызовов посредством async/await-синтаксиса и с применением низкоуровневых API;
  • набор высокоуровневых API обеспечивает одновременную работу сопрограмм Python и полный контроль над их выполнением.

Tkinter

Библиотека под названием Tkinter служит для разработки приложений с графическим интерфейсом (GUI). Пользователю предлагаются более пятнадцати типов виджетов, в том числе метки, кнопки, текстовые поля. Виджеты поддерживают методы управления геометрией. Tkinter lib хорошо выполняет свои функции, поддерживает объектно-ориентированный интерфейс и упрощает разработку ПО с графическим интерфейсом.

Six

Мощный инструмент, позволяющий упрощать различия между разными версиями Python 2 и Python 3. Ее можно назвать библиотекой совместимости Python 2 и Python 3. Six lib поддерживает данные кодовой базы и Python 2, и Python 3, позволяя работать с разными версиями, причем без надобности модификаций.

Плюсы:

  • простые служебные функции, обеспечивающие кодовую совместимость с Python 2 и с Python 3;
  • поддержка любой версии, начиная с Python2.6;
  • простота в применении — все находится в одном Python-файле.

Aiohttp

Библиотека работает асинхронным HTTP-клиентом либо сервером в Python. Вдобавок к этому, предоставляется готовая поддержка Client WebSockets/Server WebSockets.

Преимущества:

  • предлагается web-сервер с промежуточным ПО, сигналами и подключаемой маршрутизацией;
  • встроена поддержка и клиентских, и серверных web-сокетов.

Pygame

Бесплатная библиотека, предназначенная для разработки мультимедийных Python-приложений, причем особенно для тех, которые относятся к 2D-проектам игровой направленности. Pygame пригодится и начинающими, и опытным разработчиками игр на языке программирования Python.

Задействовав расширение pgs4a, приложение можно портировать на смартфоны и планшеты, работающие на Android-платформе.

Нюансы:

  • не требует OpenGL;
  • упрощает применение многоядерных процессоров;
  • чтобы использовать все доступные функции, графический интерфейс не нужен;
  • поддерживает широкий спектр платформ и ОС;
  • простота и удобство в применении;
  • при реализации основных функций используется ассемблерный код и оптимизированный C-код.

Kivy

Kivy пригодится при создании мобильных приложений, а также приложений для устройств multi-touch с Natural User Interface. Код библиотеки открыт, распространение осуществляется по MIT-лицензии. Поддерживается работа со многими ОС: iOS, Android, Linux, macOS, Windows. Также поддерживается Raspberry Pi. Промежуточным языком Kivy является Kv — он нужен, чтобы описывать взаимодействие с пользователем и интерфейсом. 

Нюансы:

  • кроссплатформенность;
  • более двадцати расширяемых виджетов;
  • поддерживается графический движок, который построен на OpenGL ES 2.

Bokeh

Интерактивная библиотека Python, предоставляющая возможность эффективно визуализировать данные в современных web-браузерах. Упрощает создание инфопанелей, интерактивных графиков, приложений о данных.

Плюсы Bokeh:

  • предоставляет возможность создавать сложные статистические графики, причем делает это посредством относительно простых команд;
  • создает интерактивные и элегантные визуализации данных, которые можно без проблем встраивать во фреймворки Django и Flask;
  • поддерживает разные форматы вывода и многоязычные привязки (Julia, «Пайтон», Lua, R).

Вывод

Знание вышеописанных инструментов — прекрасный шаг к тому, чтобы повысить свой уровень разработки на «Питоне». Также важно отметить, что эти библиотеки постоянно улучшаются и обновляются. Если тема вам интересна, исчерпывающую информацию можно получить в официальной документации.

10 библиотек для Python

Источник: https://zen.yandex.ru/media/itgap/top10-osnovnyh-bibliotek-na-python-5db2a6823f548700ac5b1908.