Подборка лучших библиотек для программирования на Python

5971

Подборка лучших библиотек для программирования на Python

Если вы занимаетесь программированием на Python, вам полезно ознакомиться с наиболее популярными библиотеками. В нашей статье описываются десять из них.

Подборка лучших библиотек для программирования на Python
Подборка лучших библиотек для программирования на Python

Python это высокоуровневый язык программирования, простой в изучении, объектоориентированный, модульный и подчеркнуто легкочитаемый. Python широко применяется в образовательной сфере, для научных вычислений, больших данных и машинного обучения, в веб- и интернет-разработке, графике, GUI, играх и других направлениях.

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

Начнем с библиотек общего назначения, таких как Requests, Simplejson, SQLAlchemy, NumPy, а затем обратимся к более “продвинутым” библиотекам для машинного обучения, научных данных, построения GUI и научных вычислений.

 

1. Requests

Имея больше 26 тысяч звезд на GitHub и тысячи скачиваний ежедневно, Requests занимает первую строчку рейтинга самых популярных и полезных библиотек для разработки на Python. Эта библиотека используется в проектах Spotify, Microsoft, NPR, Heroku, Amazon, BuzzFeed, Reddit, Twitter, Mozzila (список можно продолжать еще долго).

Requests уменьшает тяжелую ручную работу и автоматизирует такие задачи как добавление строки запроса к URL, шифрование форм отправки данных, постоянное HTTP-соединение, объединение HTTP-соединений и т. д. путем использования urllib3.

Для облегчения разработки также обеспечивается автоматическое дешифрование контента. Библиотека предлагает загрузку других функций, таких как журнал аутентификации, элегантные key/value cookies, Unicode-представление для аттрибута body объекта response, потоковое скачивание, тайм-аут соединения, поддержка .netrc.

В общем, Requests – не лишняя библиотека для любого веб-проекта.

2. Simplejson

Это еще одна очень популярная библиотека и одна из самых скачиваемых. Simplejson это быстрый, точный и расширяемый json кодировщик и декодировщик, который поддерживает Python 3.3+ с обратной совместимостью с Python 2.5.

Simplejson написан на Python и не имеет внешних зависимостей. Он также включает расширения, написанные на С для представлений с особо высоким быстродействием. Помимо дефолтной UTF-8, декодер Simplejson может оперировать строками JSON, поступающими в любой кодировке.

С дефолтным Kwarg для дампов кодировщик Simplejson можут быть использован для обеспечения сериализации даже неподдерживаемых объектов.

Библиотека Simplejson может осуществлять заключительную обработку JSON- объектов с помощью кваргов object_hook или object_pairs_hook. Реализация таких протоколов как JSON-RPC существенно облегчается с использованием Simplejson.

3. SQL Alchemy

Базы данных — неотъемлемая часть разработки приложений, а в мире Python SQLAlchemy — необходимая библиотека для работы с базами данных. Предлагая полный комплект устойчивых моделей предметных областей для высокоэффективного доступа к базам данных, она действует как набор инструментов SQL и объектно-реляционное отображение.

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

Разработчики получают полный контроль и обзор конструкции SQL, ничто не прячется за стенами упаковщиков.

Подход этой библиотеки гораздо более современный и эффективный, если сравнивать с доступными инструментами SQL / ORM, а потому в списке самых полезных библиотек Python она занимает высокое место.

После выхода последнего релиза SQLAlchemy выбивается в лидеры; ее используют такие организации как Freshbooks, Survey Monkey, Mozilla, reddit, Yelp и многие другие.

4. TensorFlow

TensorFlow идет за основными библиотеками и погружает вас мир машинного интеллекта. Это опенсорсная библиотека Python, успешно применяемая для произведения расчетов с использованием графов потоков данных.

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

Библиотека учитывает нужды комплексных вычислений: она обслуживает вычисления, распределенные на CPU/GPU и несколько систем, заботясь о дублировании.

TensorFlow это бесплатная библиотека с открытым исходным кодом. Она была разработана инженерами Google, работающими над проектом Google Brain.

5. Scrapy

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

Scrapy «из коробки» обеспечивает поддержку извлечения данных из HTML/XML с использованием выражений Xpath и селекторов CSS, интерактивную оболочку консоли, экспорт данных в json, csv, xml, бэк-энд хранилище ftp, s3, локальное хранилище, управление cookies и сессиями, сжатие, кэширование, аутентификацию, user-agent спуфинг.

Scrapy пзволяет вам прописывать правила для извлечения данных. Библиотека написана на Python, ее конструкция предполагает возможность расширения за счет нового функционала, и вы можете перенести ее для запуска на Linux, Windows, Mac и BSD.

6. Matplotlib

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

Matplotlib можно использовать а скриптах, написанных на Python, в оболочке IPython и на множестве разнообразных серверов веб-приложений. Это значительно упрощает сложные задачи на построение. Написав небольшой кусочек кода, вы сможете генерировать графики, гистограммы, диаграммы разброса данных.

Модули pyplot и Ipython combo предлагают MATLAB в качестве интерфейса для построения простых графиков. Вы можете полностью контролировать вид линий, свойства системы координат и тому подобное. Это, несомненно, одна из лучших библиотек для числовых построений, доступных для Python.

Такие инструменты как basemap, cartopy, mplot3d, axes_grid увеличивают возможности Mataplotlib.

Эта библиотека – детище Джона Хантера. Она применяется в тысячах исследовательских, научных и издательских проектов.

7. Scikit-Learn

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

Языком Scikit-learn по большей части является Python, но также задействуется Cython для улучшения производительности в некоторых внутренних алгоритмах. Оболочка Cython вокруг LIBSVM используется для поддержки векторной реализации, а LIBLINEAR – для вычислительной регрессии и линейной опоры векторных машин. Scikit-learn также использует CBLAS, который является C-интерфейсом для пользования библиотекой Basic Linear Algebra Subprograms (CBLAS).

Эта библиотека построена на SciPy и распространяется на условиях лицензии 3-Clause BSD с открытым исходным кодом для исследований, а также для коммерческого использования.

8. Pygame

Любите разработку игр? Pygame предназначенная для создания мультимедиа-приложений с играми включительно. Она построена на мощной Simple Directmedia Library (SDL). Эта библиотека среди прочего используется для обучения детей разработке игр. Имеет открытый исходный код.

Сила Pygame в том, что она не требует OpenGL, позволяет использование множественных CPU для работы в многоядерной системе для супервысокой производительности, а также использование оптимизированных кодов на C и Assembly для внутренних функций.

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

9. Arrow

Arrow предназначена для преодоления недостатков встроенного в Python функционала даты и времени, который не совсем понятен и легок. Может быть использована в качестве прекрасной замены для модулей datetime и time в Python.

10. wxPython

wxPython входит в тройку пользующихся наибольшей популярностью GUI-библиотек для Python (остальные две – PyQT и Tkinter). wxPython интуитивна для разработчиков python и проста в использовании, это прекрасная смесь из C++ wxWidget-ов и программирования на Python.

wxPython применяется в качестве расширяющего модуля Python и является кросс-платформенным набором инструментов, запускаемым на многих платформах без нужды в модификациях. Поддерживается на многих платформах, включая Unix, Macintosh OS X и Microsoft Windows (32 bit).

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

 

источник