Interested Article - Сторонние библиотеки Python

Для Python было разработано огромное количество библиотек :

Искусственный интеллект

Для Python было разработано много библиотек ИИ, такие как TensorFlow , Scikit-learn , Keras .

Платформенно зависимые библиотеки

Помимо стандартной библиотеки существует множество библиотек, предоставляющих интерфейс ко всем системным вызовам на разных платформах; в частности, на платформе Win32 поддерживаются все вызовы Win32 API , а также COM в объёме не меньшем, чем у Visual Basic или Delphi . Количество прикладных библиотек для Python в самых разных областях без преувеличения огромно ( веб , базы данных , обработка изображений, обработка текста, численные методы , приложения операционной системы и т. д.) .

Библиотеки для работы с базами данных

Для Python принята спецификация программного интерфейса к базам данных и разработаны соответствующие этой спецификации пакеты для доступа к различным СУБД : Oracle , MySQL , PostgreSQL , Sybase , Firebird ( Interbase ), Informix , Microsoft SQL Server и SQLite .

Математические библиотеки

Библиотека NumPy для работы с многомерными массивами позволяет иногда достичь производительности научных расчётов, сравнимой со специализированными пакетами. SciPy использует NumPy и предоставляет доступ к обширному спектру математических алгоритмов (матричная алгебра — BLAS уровней 1—3, LAPACK , БПФ …). Numarray специально разработан для операций с большими объёмами научных данных. Pandas также используется для анализа и работы с данными.

Веб-библиотеки

WSGI — интерфейс шлюза с веб-сервером (Python Web Server Gateway Interface).

Для Python написано много ORM ( SQLAlchemy , , Django ), выполнены программные каркасы для разработки веб-приложений ( Django , Pyramid , Flask , FastAPI ).

Привязки к функциям Python других языков

Python предоставляет простой и удобный программный интерфейс C API для написания собственных модулей на языках Си и C++ и других. Такой инструмент как SWIG позволяет почти автоматически получать привязки для использования C/C++ библиотек в коде на Python. Возможности этого и других инструментов варьируются от автоматической генерации (C/C++/Fortran)-Python интерфейсов по специальным файлам (SWIG, pyste , SIP , pyfort ), до предоставления более удобных API (boost::python , CXX , Pyhrol и др.). Инструмент стандартной библиотеки позволяет программам Python напрямую обращаться к динамическим библиотекам / DLL , если в них объявлены соответствующие экспортированные функции. Существуют модули, позволяющие встраивать код на С/C++ прямо в исходные файлы Python, создавая расширения «на лету» (pyinline , weave ).

Другой подход состоит во встраивании интерпретатора Python в приложения. Python легко встраивается в программы на Java, C/C++, OCaml . Взаимодействие Python-приложений с другими системами возможно также с помощью CORBA , XML-RPC , SOAP , COM.

Трансляция кода Python в другие языки

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

Библиотеки пользовательского графического интерфейса

С Python поставляется библиотека tkinter на основе Tcl / Tk для создания кроссплатформенных программ с графическим интерфейсом .

Существуют расширения, позволяющие использовать все основные библиотеки графических интерфейсов — wxPython , основанное на библиотеке wxWidgets , PyGObject для GTK , PyQt и PySide для Qt и другие. Некоторые из них также предоставляют широкие возможности по работе с базами данных, графикой и сетями, используя все возможности библиотеки, на которой основаны.

Библиотеки для создания игр

Для создания игр и приложений, требующих нестандартного интерфейса, можно использовать библиотеку Pygame . Она также предоставляет обширные средства работы с мультимедиа : с её помощью можно управлять звуком и изображениями, воспроизводить видео. Предоставляемое pygame аппаратное ускорение графики OpenGL имеет более высокоуровневый интерфейс по сравнению с PyOpenGL , копирующей семантику С-библиотеки для OpenGL. Есть также PyOgre , обеспечивающая привязку к Ogre — высокоуровневой объектно-ориентированной библиотеке 3D-графики. Кроме того, существует библиотека pythonOCC , обеспечивающая привязку к среде 3D-моделирования и симуляции OpenCascade .

Графические библиотеки

Для работы с растровой графикой используется библиотека .

Для работы с векторной графикой используется PyCairo .

Контроль типов и перегрузка функций

Существуют модули, позволяющие контролировать типы параметров функций на этапе исполнения, например, typecheck или method signature checking decorators . Необязательная декларация типов для параметров функции добавлена в Python 3, интерпретатор при этом не проверяет типы, а только добавляет соответствующую информацию к метаданным функции для последующего использования этой информации модулями расширений .

Перегрузка функций реализована различными сторонними библиотеками, в том числе PEAK . Планы, которые не были приняты, по поддержке перегрузки в Python 3 были частично реализованы в библиотеке overloading-lib .

Примечания

  1. . PyPI . Дата обращения: 9 октября 2023. 3 июня 2017 года.
  2. . 7 июня 2021 года.
  3. . peps.python.org . Дата обращения: 9 октября 2023. 12 октября 2023 года.
  4. . Python documentation . Дата обращения: 9 октября 2023. 6 октября 2023 года.
  5. . Дата обращения: 5 февраля 2007. 9 июня 2021 года.
  6. . peps.python.org . Дата обращения: 9 октября 2023. 5 октября 2023 года.
  7. . Дата обращения: 3 февраля 2007. Архивировано из 3 февраля 2007 года.
  8. . Дата обращения: 3 февраля 2007. Архивировано из 8 февраля 2007 года.
  9. . Дата обращения: 3 февраля 2007. 8 февраля 2007 года.
  10. . Дата обращения: 3 февраля 2007. 3 февраля 2007 года.
  11. от 13 октября 2015 на Wayback Machine Building Hybrid Systems with Boost.Python
  12. . Дата обращения: 3 февраля 2007. 3 февраля 2007 года.
  13. . Дата обращения: 15 мая 2014. 18 декабря 2014 года.
  14. . Дата обращения: 3 февраля 2007. 15 января 2007 года.
  15. . Дата обращения: 3 февраля 2007. Архивировано из 1 марта 2007 года.
  16. . nuitka.net . Дата обращения: 9 октября 2023. 3 сентября 2022 года.
  17. . Python documentation . Дата обращения: 9 октября 2023. 18 октября 2012 года.
  18. . Дата обращения: 30 сентября 2008. 9 июня 2021 года.
  19. The GTK Team. (англ.) . The GTK Team (5 июня 2015). Дата обращения: 25 января 2021. 27 ноября 2020 года.
  20. . Дата обращения: 9 февраля 2007. 15 июня 2011 года.
  21. . Дата обращения: 9 февраля 2007. Архивировано из 6 февраля 2007 года.
  22. . Дата обращения: 28 марта 2009. 8 августа 2011 года.
  23. . Дата обращения: 28 марта 2009. 18 марта 2009 года.
  24. . 10 октября 2023 года.
  25. .
  26. . Дата обращения: 10 февраля 2007. Архивировано из 4 февраля 2007 года.
  27. . Дата обращения: 16 февраля 2008. 13 февраля 2008 года.
  28. . Дата обращения: 16 февраля 2007. 8 мая 2007 года.
  29. . Дата обращения: 19 марта 2008. 12 мая 2008 года.
  30. . Дата обращения: 19 марта 2008. 23 июля 2008 года.
  31. . Дата обращения: 25 мая 2007. 3 июля 2007 года.
  32. . 17 сентября 2013 года. , Библиотека динамической перегрузки функций и методов основанной на типах аргументов для языка python
Источник —

Same as Сторонние библиотеки Python