Основные модули Python

Одна из отличительных черт Python — его невероятная расширяемость. Модули из списка, представленного в нашей статье, покрывают практически все нужды разработчика. С их помощью вы сможете работать с базами данных, графическими пользовательскими интерфейсами, изображениями, звуком и т. д.

Графический интерфейс

В стандартной библиотеке Python есть графическая библиотека интерфейсов Tkinter. Но при помощи внешних модулей вы можете поднять GUI ваших приложений на новый уровень.

wxPython. Создает по-настоящему нативные пользовательские интерфейсы для Python-приложений, которые могут запускаться на Windows, Mac и Linux, а также прочих Unix-подобных системах практически без каких-либо модификаций.

PyGObject. Пакет Python, предоставляющий привязки для библиотек на базе Gobject, таких как GTK, GStreamer, WebKitGTK, GLib, GIO и др.

Pmw. Набор инструментов для создания на Python высокоуровневых составных виджетов (с использованием модуля Tkinter).

WCK. Расширение API, позволяющее реализовывать на чистом Python всевозможные пользовательские виджеты.

Tix. Мощный набор компонентов пользовательского интерфейса, при помощи которого можно расширить возможности ваших Tcl/Tk и Python-приложений. Использование Tix вместе с Tk очень улучшает внешний вид и функционал приложений.

Базы данных

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

MySQLdb. Python DB API-2.0-совместимый интерфейс для доступа к базам данных MySQL.

PyGreSQL. Модуль, который служит интерфейсом для базы данных PostgreSQL. Он дает возможность работать с PostgreSQL-фичами из Python-скрипта.

Gadfly. Простая реляционная СУБД, реализованная на Python (на основе SQL).

SQLAlchemy. Библиотека Python для работы с базами данных с применением ORM. Позволяет разработчикам приложений использовать всю мощь и гибкость SQL.

KinterbasDB. Расширение Python, реализующее поддержку совместимости Python Database API 2.0 для опенсорсной реляционной базы данных Firebird и некоторых версий ее проприетарной кузины — Borland Interbase.

Веб-разработка

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

Beautiful Soup. Библиотека Python для быстрого парсинга HTML- и XML-файлов.

scrape. Модуль Python для веб-браузинга и скрапинга.

mechanize. Очень полезный модуль, благодаря которому вы получаете эмулятор браузера для взаимодействия с веб-страницами.

libgmail. Обеспечивает доступ к гугловскому сервису Gmail.

Google Maps. Благодаря этому модулю можно использовать веб-сервисы платформы Google Maps в своем приложении на Python.

Requests позволяет невероятно легко отсылать HTTP/1.1-запросы.

Selenium. При помощи этого модуля разработчики могут программными методами открывать веб-страницы, заполнять поля, кликать по кнопкам и отсылать формы.

pyquery позволяет делать jQuery-запросы в XML-документах. API этой библиотеки максимально приближен к jQuery. Для быстрой манипуляции с XML и HTML pyquery использует LXML.

Манипуляции с изображениями и видео

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

Python Imaging Library (PIL). PIL добавляет в интерпретатор Python возможность обработки изображений. Эта библиотека поддерживает много форматов файлов и предоставляет хороший функционал для работы с графикой.

Gdmodule. Это интерфейс для библиотеки GD, созданной Томасом Баутелом.

VideoCapture. Win32-расширение для доступа к таким видеоустройствам, как веб-камеры (USB) и ТВ-карты.

MoviePy. Библиотека Python для редактирования видео: обрезка, склейка, вставка надписей, нелинейное редактирование, обработка видео и создание пользовательских эффектов.

pyscreenshot. Кроссплатформенный модуль, позволяющий делать скриншоты без установки сторонних библиотек.

Data Science и математика

Для Python есть много расширений, которые можно использовать в научных целях, например, в математике, науке о данных и инженерии.

SciPy. SciPy (произносится как «сай пай») это экосистема программного обеспечения с открытым кодом для математики, науки и инженерии.

Matplotlib. Библиотека Python для создания 2D-графиков. Генерирует пригодные для печати изображения в разных форматах. Matplotlib может использоваться в скриптах, интерпретаторе Python, в Jupyter Notebook, на серверах веб-приложений и в GUI-инструментарии.

Pandas. Быстрый, мощный, гибкий и легкий в использовании инструмент для анализа данных и работы с данными. Имеет открытый исходный код.

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

Разработка игр

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

Pygame. Набор модулей для написания видеоигр. Pygame расширяет функционал прекрасной библиотеки SDL. Благодаря ему на Python можно создавать полнофункциональные игры и мультимедиа-программы.

Pyglet. Мощная, но при этом простая в использовании библиотека Python для разработки игр и других приложений с большим количеством визуальных эффектов для Windows, Mac OS X и Linux.

pyOpenGL. Этот модуль чаще других используется для обеспечения работы с библиотекой OpenGL и связанными с нею API в программах на Python.

Звук

Благодаря нескольким очень полезным модулям работать со звуком в Python довольно просто.

pySonic. Python-враппер для высокопроизводительной кроссплатформенной звуковой библиотеки FMOD.

PyMedia. Модуль Python для манипуляций с файлами WAV, MP3, Ogg, AVI, DivX, DVD, CD-DA и др. Позволяет анализировать, демультиплексировать и мультиплексировать, декодировать и кодировать все поддерживаемые форматы. Может компилироваться для Windows, Linux и Cygwin.

PMIDI. Библиотека PMIDI служит оберткой для библиотеки Windows MIDI Streams, обеспечивая возможность использования последней в Python. Благодаря PMIDI разработчики могут на лету генерировать в своем коде синтезированные музыкальные последовательности, чтобы они проигрывались для пользователей.

Mutagen. Модуль для обработки метаданных аудио. Поддерживает аудиофайлы FLAC, M4A, Musepack, MP3, Ogg FLAC, Ogg Speex, Ogg Theora, Ogg Vorbis, True Audio и WavPack.

Mac OS

Python очень хорошо интегрируется с Mac OS. Следующие модули могут пригодиться при разработке приложений для ОС Apple.

py2app. Это setuptools-команда, позволяющая создавать пакеты приложений и плагины для Mac OS X из Python-скриптов.

PyObjC. PyObjC это своего рода мост между Python и Objective-C. Благодаря ему можно создавать полнофункциональные Cocoa-приложения на чистом Python.

USB и последовательные порты

Знаете ли вы, что при помощи Python можно получить доступ к USB и последовательным портам компьютера? Если вам нужно решить подобную задачу, следующие модули помогут вам в этом.

PyUSB. Это простой в использовании модуль для доступа к USB-устройствам. PyUSB опирается на нативную системную библиотеку для USB-доступа. Работает «из коробки» с libusb 0.1, libusb 1.0, libusbx, libusb-win32 и OpenUSB, а также с Python в любой версии, начиная с 2.4 (и включая Python 3).

PySerial. Библиотека Python для доступа к последовательным портам.

USPP. Мультиплатформенный модуль Python для доступа к последовательным портам.

Разное

В таблице ниже вы найдете интересные модули, которые нельзя было отнести к какой-либо категории.

Категория Название Ссылка
Network Twisted http://twistedmatrix.com/
Jabber jabberpy http://jabberpy.sourceforge.net/
Expect pyExpect https://pexpect.readthedocs.io/en/latest/
3D VPython http://vpython.org/