27 096
1
Время чтения ≈ 29 минут

Содержание:

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

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

Что такое фреймворки Python

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

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

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

Для каких задач предназначены фреймворки Python

  • Маршрутизация URL-адресов и манипулирование данными.
  • Форматирование вывода с использованием механизмов шаблонизации.
  • Конфигурация подключения к базе данных.
  • Защита данных от подделки межсайтовых запросов (CSRF).
  • Хранение и извлечение сеансов.

Лучшие фреймворки Python

Qt / PyQt

Qt — кроссплатформенная среда разработки и графический фреймворк для программистов С++, однако она имеет привязки для других языков программирования, включая Python, Ruby и Java. Привязка для Python называется PyQt и представляет собой комплект инструментов для работы с графическим интерфейсом.

Особенности PyQt

  • Позволяет работать с базами данных SQL.
  • Графический фреймворк Python оснащен полнофункциональным браузером.
  • Содержит в себе конструктор графического интерфейса пользователя.
  • Дает добавлять новые элементы управления GUI.

Для чего подходит: для создания десктопных приложений с графическим интерфейсом пользователя.

Flask

Микрофреймворк и библиотека Flask распространяется бесплатно по BSD лицензии. Для корректной работы с Python Flask необходим шаблон Jinja2 и инструментарий от Werkzeug WSGI. Имеет модульный дизайн, что делает его легко адаптируемым.

Особенности Flask

  • Совместим с Google App Engine.
  • Имеет встроенный сервер разработки и отладчик.
  • Оснащен встроенной поддержкой модульного тестирования.
  • Flask — фреймворк с акцентом на простоту работы.

Для чего подходит: для разработки и ведения маленьких и несложных проектов. Несмотря на это, используется такими крупными компаниями, как LinkedIn и Pinterest.

Tornado

Фреймворк Python и асинхронная сетевая библиотека в одном приложении. Изначально Tornado разрабатывался для компании FriendFeed, которая была приобретена Facebook в 2009 году.

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

Особенности Tornado

  • Бесплатный фреймворк с открытым исходным кодом.
  • Позволяет реализовывать сторонние методы авторизации.
  • Поддерживает аутентификации пользователей.
  • Имеет асинхронную библиотеку для сетей.

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

Django

Django — фреймворк Python с большим количеством функций, что позволяет быстрее писать код и разрабатывать сложные веб-приложения. Django следует принципу DRY (Don’t Repeat Yourself), который заключается в том, что код должен оставаться простым и неповторяющимся.

Фреймворк использует технологию ORM (Object-relational mapper), что позволяет сопоставлять объекты с таблицами баз данных, а также упрощает процесс переноса данных из одной базы в другую.

Особенности Django

  • Бесплатный фреймворк с открытым исходным кодом.
  • Имеет мощный движок шаблонов.
  • Обработчики URL конфигурируются при помощи регулярных выражений.
  • Оснащен простой, но мощной системой URL-адресов.
  • Встроенная поддержка MySQL, PostgreSQL, SQLite и Oracle Database. Фреймворк может поддерживать и другие базы данных, однако, для этого необходима установка дополнительных пакетов.
  • Оснащен системой кеширования.
  • Включает в себя встроенную аутентификационную систему.
  • С помощью установки библиотеки Wagtail Django может получить функционал полноценной CMS.

Для чего подходит: для более продуктивной работы с новостными и контентными веб-ресурсами.

FastAPI

FastAPI — это современный и высокопроизводительный веб-фреймворк для создания API на основе Python версии 3.6 и выше. В FastAPI реализован ряд продвинутых языковых функций (включая стандартные подсказки типов Python) в сочетании с существующими стандартами OpenAPI.

Эта библиотека API сегодня используется многими технологическими гигантами, вроде Uber, Netflix и Microsoft для разработки своих приложений.

Особенности FastAPI

  • Очень высокая производительность, сравнимая с Node.js и Go, благодаря таким библиотекам, как Starlette (для веб) и Pydantic (для обработки и валидации данных).
  • Интуитивно понятный интерфейс и удобный редактор.
  • Простота в использовании и обучении.
  • Возможность использования нескольких функций из каждого объявления параметра, сводящая к минимуму дублирование кода.
  • Автоматическая интерактивная документация по API, включая 2 пользовательских интерфейса: Swagger UI и ReDoc.
  • Полностью совместим с открытыми стандартами для API: OpenAPI (экс Swagger) и JSON.
  • Поддерживает асинхронный код с использованием ключевых слов async/await для Python.

Для чего подходит: для быстрого и качественного создания служб API на Python.

PyTorch / PyTorch Lightning  

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

PyTorch разработан исследовательской группой искусственного интеллекта Facebook на основе Torch — библиотеки machine learning с открытым исходным кодом, реализованной на C с оболочкой на Lua. На базе фреймворка создана целая экосистема дочерних продуктов, включающая фреймворк PyTorch Lightning, упрощающий процесс обучения искусственного интеллекта.

Особенности PyTorch

  • Гибридный интерфейс обеспечивает простоту использования и гибкость в активном режиме, а также плавный переход в графический режим для повышения скорости, оптимизации и функциональности в средах выполнения C++.
  • Встроенная поддержка асинхронного выполнения коллективных операций и одноранговой связи, доступная в Python и C++.
  • PyTorch создан для глубокой интеграции с Python, поэтому его можно использовать с популярными библиотеками и пакетами этого языка, такими как Cython и Numba.
  • Активное сообщество исследователей и разработчиков, создавшее богатую экосистему инструментов и библиотек и поддерживающее разработки в различных областях, от компьютерного зрения до обучения с подкреплением.

Для чего подходит: для задач машинного обучения (ML) и глубокого обучения (DL), таких, как обработка естественного языка.

Pyramid

Фулстек-фреймворк с открытым исходным кодом предлагает широкие возможности для разработки как простых, так и сложных веб-приложений на Python. За счёт своей главной особенности — лёгкой расширяемости Pyramid обеспечивает прочный баланс между легкостью и многофункциональностью.

Особенности Pyramid

  • Гибкая аутентификация и авторизация.
  • Расширяемость конфигурации.
  • Декораторы функций.
  • Предикаты.
  • Рендереры.
  • Однофайловые приложения.
  • Спецификации шаблонов и активов.
  • Генерация URL.

Для чего подходит: для достижения максимально возможных результатов в веб-разработке при использовании минимальных ресурсов.

Falcon

Один из наиболее популярных фреймворков Python для быстрого создания веб-API, таких, как конфигурационные файлы. Falcon основан на архитектуре HTTP и REST. Этот ASGI/WSGI веб-фреймворк используют в своих технологических стеках такие крупные игроки сферы IT, как LinkedIn, OpenStack и RackSpace.

Особенности Falcon

  • 100% покрытие кода.
  • Повышенный уровень безопасность — точный и эффективный механизм борьбы с ошибками HTTP и уязвимостям.
  • Модульное тестирование с помощью помощников и моков WSGI.
  • Предварительная обработка исключений.
  • Классы ресурсов на основе REST.
  • Поддержка Cython, дающая прирост скорости.
  • Компоненты промежуточного программного обеспечения и хуки.
  • Обработка запроса DRY.
  • Шаблоны URL, предлагающие интуитивно понятную маршрутизацию.

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

Dash

Dash — микрофреймворк Python с открытым исходным кодом, предназначенный исключительно для разработки аналитических приложений для machine learning и data science. Он создан на базе связки Plotly.js, Flask, React.Js, HTML и CSS.

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

Особенности Dash

  • Высокий уровень настройки и встроенная обработка ошибок, а также интеграция с LDAP и маршрутизация URL-адресов через сервер развертывания.
  • Удобный и простой интерфейс, объединяющий такие элементы управления UI, как графики, раскрывающиеся списки, ползунки и т. д.
  • Поддержка многопользовательского режима.
  • Низкая потребность в шаблонном коде.
  • Интеграция с AD/LDAP.
  • Настраиваемость.
  • Поддержка плагинов.

Для чего подходит: для создания дэшбордов в машинном обучении и науке о данных.

CherryPy

Как и Django, CherryPy также относится к средам веб-разработки с открытым исходным кодом, которые в основном используют объектно-ориентированную парадигму. Он поставляется с собственными многострочными веб-серверами Python WSGI, совместимыми с HTTP/1.1.

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

Особенности CherryPy

  • Веб-сервер с пулом потоков WSGI, совместимый с HTTP/1.1.
  • Многопоточность — возможность одновременно запускать несколько веб-серверов HTTP.
  • Кроссплатформенность — возможность запускать приложения во всех операционных системах с поддержкой Python, включая Windows, Mac и Linux или Unix.
  • Android-совместимость.
  • Мощная система установки и настройки.
  • Гибкая система плагинов.
  • Встроенная поддержку задач документирования, таких как охват, тестирование и профилирование.

Для чего подходит: для быстрой разработки веб-приложений на Python и сокращению трудозатрат на написание кода и формирование надежной базы данных.

Что такое библиотеки Python

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

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

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

Лучшие библиотеки Python

Tensor Flow

Широко распространенная библиотека с открытым исходным кодом. Изначально Tensor Flow предназначен для работы с Python, однако она предоставляет доступ и к базовому API C++.

В отличие от других МО/ГО библиотек, Tensor Flow разрабатывался для использования не только в исследованиях и разработках, но для производственных целей. Среди наиболее ярких проектов, созданных с его помощью, можно выделить самообучающийся алгоритм Google Rank Brain и нейронную сеть DeepDream.

Особенности Tensor Flow

  • Программный продукт для свободного использования под лицензией Apache 2.0.
  • Библиотека TensorFlow позволяет оптимизировать модели для их развертывания в условиях ограниченных ресурсов. Это возможно при использовании специального фреймворка — TensorFlow Serving.
  • Большое сообщество. Библиотека создавалась корпорацией Google, которая и по сей день работает над улучшением стабильности.

Для чего подходит: для реализации мощных алгоритмов, рассчитанных на решение распространенных задач машинного обучения. Например, Tensor Flow может создавать нейронные сети для классификации рукописных цифр, распознавания изображений и встраивания слов.

NumPy

NumPy – одна из лучших библиотек машинного обучения в Python. Она предоставляет пользователям объект многомерного массива с высокой производительностью и инструменты для работы с такими массивами.

Особенности NumPy

  • Библиотека интерактивна и имеет понятный интерфейс.
  • Поддерживает многомерные массивы и высокоуровневые математические функции.
  • NumPy совместим с другими популярными библиотеками.
  • Математическая библиотека предлагает комплексные математические функции, включая генератор рандомных чисел. Может работать с процессами линейной алгебры.
  • Сообщество NumPy, совместно со SkyPy, поддерживает большое онлайн-руководство, благодаря которому можно легко научиться пользоваться библиотекой.

Для чего подходит: помимо стандартных научных задач, NumPy часто применяется для создания многомерных массивов обобщенных данных.

Keras

Keras – открытая библиотека и API для глубокого изучения, написанный на Python и работающий поверх платформы машинного обучения TensorFlow. Основная задача Keras — упрощение экспериментирования с глубокими нейронными сетями за счет высокоуровневой абстракции. Главные ориентиры библиотеки для deep learning — удобство использования, модульность и расширяемость.

Особенности Keras

  • Работает одинаково хорошо и на GPU, и на CPU.
  • Поддерживает практически все разновидности нейронных сетей, включая  сверточные и рекуррентные.
  • Каждая модель в фреймворке портативна и может быстро расширяться сторонними модулями.
  • Библиотека Keras создает специальный вычислительный граф, используя внутреннюю инфраструктуру, что может негативно сказываться на скорости работы.

Для чего подходит: для превращения модели проекта в реальный продукт.

Pandas

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

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

Особенности Pandas

  • Библиотека Pandas Python способна представлять данные тем способом, который лучше подходит для анализа при помощи структур Series и DataFrame.
  • Инструмент предлагает несколько методов для удобной фильтрации данных.
  • Библиотека способна читать данные из разных форматов, включая CSV, TSV и MS Excel.
  • Дает пользователям самостоятельно выставить настройки интерпретатора.
  •  Позволяет создавать песочные структуры данных с помощью модуля тестирования.
  • «Панды» отлично взаимодействует с библиотеками искусственного интеллекта, а многие из них включают объекты Pandas в списки источников для обучения.

Для чего подходит: для работы над задачами в сфере машинного обучения и анализа больших данных.

Pillow

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

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

  • Много возможностей по обработке изображений, включая изменение размера, обрезку, инверсию, геометрическое преобразование.
  • Позволяет управлять пикселями.
  • Позволяет создавать новые декодеры файлов для расширения списка поддерживаемых форматов.
  • Имеет функцию фильтрации изображений. Например: размытие, контурирование или сглаживание.

Для чего подходит: для работы с растровой графикой.

Requests

Requests — HTTP-библиотека Python, выпущенная под лицензией Apache License 2.0. Главная задача библиотеки «Запросов» — упрощение отправки запросов, по сравнению со встроенными библиотеками urllib/urllib2.

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

  • Поддерживает Python 2.7 и Python 3.5+. Отлично работает на PyPy.
  • Библиотека Requests Python использует для отправки запросов urllib3 и httplib.
  • Дает несложный API для запросов HEAD, POST, PUT, PATCH и DELETE.
  • Автоматически добавляет строки запросов к адресам и кодирует данные POST.

Для чего подходит: для работы с HTTP запросами в Python.

Numba

Эта библиотека Python дает пользователю возможность компилировать код сразу после его выполнения (компилятор «точно-в-срок» / Just-in-Time). Таким образом достигается скорость кода C, не отказываясь от простоты Python.

Numba может определять тип процессора, на котором работает, и использовать аппаратно зависимую оптимизацию и различные потоки (чего Python сам по себе сделать не может). Компилятор создан для работы с Numpy — одной из самых известных библиотек для машинного обучения Python.

Особенности Numba

  • Предназначен для кода, использующего массивы NumPy, функции и циклы.
  • С помощью высокопроизводительных функций, написанных на «Питоне», может сделать код Python быстрее до 100 раз (до уровня C/C++ и FORTRAN).
  • Поставляется с дистрибутивом Anaconda.
  • Плохо совместим с динамическими структурами данных.
  • Требует поддержки JIT-компилятора от системы.

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

SciPy

SciPy (Scientific Python) — бесплатная библиотека Python с открытым исходным кодом для машинного обучения, которая широко используется для высокоуровневых вычислений.

Библиотека SciPy содержит модули для оптимизации, линейной алгебры, интерполяции, интеграции и статистики. Библиотека для data science венчает собой целую экосистему или стек научно-инженерных библиотек, куда помимо SciPy, входят такие популярные инструменты, как  NumPy, Matplotlib, Pandas, IPython и SymPy.

Особенности SciPy

  • Библиотека разработана на основе расширения Python NumPy.
  • Активное сообщество.
  • Команды высокого уровня для работы с данными и их визуализации.
  • Обработка многомерных изображений с помощью подмодуля SciPy ndimage.
  • Включает встроенные функции для решения дифференциальных уравнений.
  • Все функции в подмодулях SciPy хорошо документированы.

Для чего подходит: для упрощения интенсивных вычислений в таких областях, как математика, наука о данных, машинное обучение и инженерия.

Pygame

Самая старая и популярная модульная библиотека Python для игр. Pygame построен на базе C, Python, Open GL и библиотеки SDL (Simple DirectMedia Layer). Последний обеспечивает низкоуровневый доступ к компьютерному и графическому оборудованию через OpenGL и Direct3D.

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

Особенности Pygame

  • Библиотека Pygame Python проста и портативна.
  • Структура использует оптимизированную сборку и код для основных функций.
  • Возможность использовать многоядерные процессоры при создании игр на Python.
  • Минимализм в использовании кода.

Для чего подходит: для разработки игр на языке Python.

Scikit-learn

Это библиотека на языках Python, C, C++ и Cython, считается одним из лучших инструментов для машинного обучения и работы со сложными данными. Scikit-learn в основном ориентирован на различные концепции моделирования данных, такие как регрессия, классификация, кластеризация, выбор модели и т. д.

Библиотека Scikit-learn с открытым исходным кодом написана на основе Numpy, Scipy и Matplotlib. Она легко интегрируется с другими библиотеками ML, такими как Numpy и Pandas (анализ) и Plotly (отображение данных) для целей визуализации. Эта библиотека крайне полезна как в контролируемом, так и в неконтролируемом машинном обучении.

На основе Scikit-learn создана еще одна крайне популярная библиотека Python — коллекция алгоритмов обработки изображений Scikit-image. Она часто используется для работы с массивами NumPy в качестве объектов изображений.

Особенности Scikit-learn

  • Предварительная обработка данных для алгоритмов машинного обучения.
  • Кроссвалидация на основе более чем одной метрики. В библиотеке существуют различные методы перекрестной проверки точности контролируемых моделей на невидимых данных.
  • Несколько наборов данных для изучения и тестирования моделей.
  • Поддержка различных методов регрессии и классификации.
  • Кластерный анализ.
  • Для полноценного использования нужно также установить NumPy и SciPy.

Для чего подходит: для предиктивного анализа данных в машинном обучении.

Другие популярные библиотеки Python

Учитывая тот факт, что сегодня общее количество библиотек в Python приближается к 140 000, рассказать о каждой из них в рамках одного обзора просто не получится. Однако, для полноты картины, ниже мы приведем обширный список полезных и актуальных библиотек «Питона», которые охватывают широкий круг практических задач в сфере машинного обучения, науки о данных и искусственного интеллекта.

  • Matplotlib — базовая пайтоновская библиотека для построения графиков, а также основа для других расширенных библиотек построения графиков на Python. Библиотека для работы с графиками имеет два разных API — Pyplot и объектно-ориентированный интерфейс.
  • Kivy — библиотека применяется для разработки мобильных приложений и программного обеспечения мультисенсорных приложений с NUI (естественным пользовательским интерфейсом). Бесплатная библиотека языка Python с открытым исходным кодом распространяется по лицензии MIT и работает на Android, iOS, Linux, macOS и Windows.
  • Bokeh — библиотека для визуализации данных упрощает создание информационных панелей, приложений данных и интерактивных графиков.
  • Tkinter — стандартная GUI библиотека Python для создания графического интерфейса приложений. Библиотека Tkinter предлагает мощный объектно-ориентированный интерфейс для инструментария Tk GUI.
  • Seaborn — библиотека визуализации данных для Python, построенная на основе Matplotlib и тесно интегрированная со структурами данных Pandas.
  • Evidently — инструмент, который помогает оценивать модели машинного обучения во время проверки и отслеживать их в рабочей среде.
  • SymPy — легкая библиотека Python для числовой и символьной математики.
  • CuPy — библиотека для реализации многомерного массива на CUDA, совместимого с NumPy.
  • Jina платформа нейронного поиска, которая позволяет любому создавать масштабируемые поисковые приложения для глубокого обучения за считанные минуты. Часто используется совместно с библиотекой Finetuner, которая предоставляет удобный веб-интерфейс для улучшения представления результатов поиска.
  • docker-py — библиотека Python для API Docker Engine.
  • AIOHTTPасинхронный HTTP-клиент / сервер для asyncio и Python.
  • IPython — библиотека имеет архитектуру, облегчающую параллельные и распределенные вычисления.
  • AugLy — библиотека для увеличения данных (Data Augmentation) от Meta Research, которая поддерживает более 100 типов дополнений к аудио, изображениям, тексту и видео.
  • TelegramBotAPI (aka telebot) — самая популярная Python библиотека для ботов Telegram.
  • Telethon — клиентская asyncio библиотека Python для работы с Telegram API по протоколу MTProto в качестве пользователя или через учетную запись бота (как альтернатива API бота).
  • vk / vk_api — библиотеки для работы с VK API в Python.
  • Django Ninja — быстрый веб-фреймворк на основе OpenAPI и JSON для создания API с Django.
  • Awkward Array — библиотека для работы со структурами в формате JSON, с помощью идиом NumPy.
  • Twistedсетевой движок, управляемый событиями, написан на Python и распространяется под лицензией MIT с открытым исходным кодом.
  • SQLModel — библиотека для настройки взаимодействия баз данных SQL с объектами Python.
  • Textualбиблиотека и фреймворк TUI (Text User Interface) для Python, вдохновленный современной веб-разработкой, от автора популярной текстовой библиотеки Rich.
  • natasha — основная библиотека одноименного проекта natasha (НТШ), предоставляющего инструментарий для машинной обработки естественного русского языка (NLP).
  • opyrator — библиотека превращает функции Python в готовые к работе микросервисы на базе FastAPI, Streamlit и Pydantic.
  • MoviePy — компактная, но практичная библиотека Python для редактирования видео.
  • VISSL — библиотека для самоконтролируемого обучения на изображениях от Meta Research.
  • YOLOX — версия алгоритма YOLO без привязки. Быстрая и точная модель обнаружения объектов на изображении с более простым дизайном, но более высокой производительностью.
  • layout-parserанализ изображений документов на основе глубокого обучения: обнаружение абзацев, заголовков, изображений и многого другого на страницах со сложными макетами.
  • SAHI — умная библиотека для обнаружения объектов на больших изображениях без ущерба для производительности с помощью нарезки. Поддерживает как ограничивающие рамки, так и маски по категориям.
  • lightseq — высокопроизводительная библиотека обучения и логического вывода для обработки и генерации последовательностей, реализованная в CUDA. NLP библиотека позволяет эффективно вычислять современные модели NLP (BERT, GPT, Transformer и др.).
  • Top2Vec — библиотека для тематического моделирования автоматически определяет темы, присутствующие в тексте, и создает объединенные встроенные векторы тем, документов и слов.
  • BERTopic — библиотека тематического моделирования, использующая модели BERT и c-TF-IDF для создания плотных кластеров, позволяющих легко интерпретировать темы, сохраняя важные слова в описаниях тем.
  • Greykiteбиблиотека прогнозирования создает гибкие, интуитивно понятные и быстрые прогнозы с помощью флагманского алгоритма Silverkite.
  • Kats — набор инструментов для анализа временных рядов.
  • Merlion — комплексная библиотека машинного обучения с поддержкой многозадачности для загрузки и преобразования данных, построения и обучения моделей, постобработки выходных данных модели и оценки производительности модели.
  • Spice.ai — библиотека для разработки интеллектуальных приложений Python, использующих данные временных рядов.
  • TorchGeo — библиотека на базе PyTorch, которая предоставляет наборы данных, преобразования, сэмплеры и предварительно обученные модели, специфичные для геопространственных данных.
  • PyOpenGL — одна из самых известных и полезных библиотек для создания визуальной графики и 3D игр на Python.
  • pedalboard — библиотека Spotify для программного добавления эффектов к аудио.
  • SpeechBrain — универсальный набор инструментов для работы с речью на основе PyTorch.
  • PyTorch Metric Learning — модульная, гибкая и расширяемая библиотека добавляет глубокое метрическое обучение в приложения Python.
  • Gradio — библиотека легко превращает сценарии данных в общедоступные веб-приложения. По своему функционалу похожа на популярную ML-библиотеку Streamlit, но гораздо проще в использовании.
  • Hyperactive — набор инструментов для оптимизации и сбора данных при прототипировании моделей, требующих значительных вычислительных ресурсов.
  • Gradient-Free-Optimizers — простая и надежная оптимизация данных с использованием локальных, глобальных, популяционных и последовательных методов в числовых дискретных пространствах поиска.
  • Ecco — библиотека для визуализации и исследования языковых моделей NLP.
  • UpliftML — библиотека для uplift-моделирования. Отлично подходит для изучения причинно-следственных связей в персонализации/маркетинге.
  • AutoScraper — библиотека для парсинга в автоматическом режиме, устраняющая необходимость написания/поддержки селекторов или выражений XPath.
  • BeautifulSoup — библиотека входит в число лучших инструментов Python для парсинга сайтов и веб-страниц.
  • Aim — простой в использовании и производительный трекер экспериментов с открытым исходным кодом.
  • NeuralProphetмодель временных рядов на основе нейтронной сети, вдохновленная Facebook Prophet и AR-Net, построенная на PyTorch.

Заключение

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

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

Нужна надёжная база для разработки программных продуктов на Python? Выбирайте виртуальные серверы от Eternalhost с технической поддержкой 24/7 и бесплатной защитой от DDoS!

Оцените материал:
[Всего голосов: 0    Средний: 0/5]
Подписаться
Уведомление о
guest
1 Комментарий
Inline Feedbacks
View all comments
Oleg

Хорошая статья, можно ли скажем PHP и Python на 1 VDS поставить через VestaCP Но при этом что бы было достаточное количеств версий PHP?
Статья полезная и интересная!

Надежный хостинг для сайта. 14 дней - бесплатно!