1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/awesome-lib-awesome-python

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Awesome Python

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

Вдохновлён awesome-php.

  • Admin Panels — библиотеки для административных интерфейсов.
  • и т. д.

Ресурсы

Новостные рассылки и подкасты.

  • Новостные рассылки (Newsletters).
  • Подкасты (Podcasts).

Вклад

и т. п. Django-Grappelli — джазовый скин для интерфейса администратора Django.

Flask-Admin — простой и расширяемый фреймворк административного интерфейса для Flask.

Flower — монитор в реальном времени и веб-администратор для Celery.

Jet-Bridge — фреймворк панели администратора для любого приложения с приятным пользовательским интерфейсом (например, Jet Django).

Wooey — приложение Django, которое создаёт автоматические веб-интерфейсы для скриптов Python.

Streamlit — фреймворк, который позволяет создавать информационные панели, генерировать отчёты или создавать чат-приложения за считанные минуты.

Алгоритмы и паттерны проектирования

Реализация на Python структур данных, алгоритмов и паттернов проектирования. Также см. awesome-algorithms.

  • Алгоритмы
    • Algorithms — минимальные примеры структур данных и алгоритмов.
    • Python-DS — коллекция структур данных и алгоритмов для собеседований по кодированию.
    • SortedContainers — быстрая и чистая реализация Python отсортированных коллекций.
    • TheAlgorithms — все алгоритмы реализованы на Python.
  • Паттерны проектирования
    • PyPattyrn — простая, но эффективная библиотека для реализации распространённых паттернов проектирования.
    • Python-Patterns — сборник паттернов проектирования на Python.
    • Transitions — лёгкая объектно-ориентированная реализация конечного автомата.

ASGI-серверы

ASGI-совместимые веб-серверы.

  • Daphne — HTTP, HTTP2 и WebSocket протокол-сервер для ASGI и ASGI-HTTP.
  • Uvicorn — молниеносная реализация сервера ASGI, использующая uvloop и httptools.
  • Hypercorn — сервер ASGI и WSGI, основанный на библиотеках Hyper и вдохновлённый Gunicorn.

Асинхронное программирование

Библиотеки для асинхронного, параллельного и параллельного выполнения. Также см. awesome-asyncio.

  • Asyncio — (стандартная библиотека Python) асинхронный ввод-вывод, цикл событий, сопрограммы и задачи. — [awesome-asyncio]
  • Concurrent.futures — (стандартная библиотека Python) высокоуровневый интерфейс для асинхронного выполнения вызываемых объектов.
  • Multiprocessing — (стандартная библиотека Python) параллелизм на основе процессов.
  • Trio — дружественная библиотека для асинхронной параллельности и ввода-вывода.
  • Twisted — управляемый событиями сетевой движок.
  • Uvloop — сверхбыстрый цикл событий asyncio.
  • Eventlet — асинхронная среда с поддержкой WSGI.
  • Gevent — сетевая библиотека на основе сопрограмм Python, которая использует greenlet.

Аудио

Библиотеки для работы с аудио и его метаданными.

  • Аудио
    • Audioread — кроссплатформенное (GStreamer + Core Audio + MAD + FFmpeg) декодирование аудио.
    • AudioFlux — библиотека для анализа аудио и музыки, извлечения признаков.
    • Dejavu — распознавание и распознавание отпечатков пальцев.
    • Kapre — препроцессоры Keras для аудио.
    • Librosa — библиотека Python для анализа аудио и музыки. Matchering — библиотека для автоматического мастеринга референсного аудио.

Mingus — продвинутый пакет теории музыки и нотации с поддержкой файлов MIDI и воспроизведения.

Pyaudioanalysis — извлечение, классификация и сегментация аудиофункций и их применение.

Pydub — манипулирование аудио с помощью простого и удобного высокоуровневого интерфейса.

Timeside — открытая веб-платформа для обработки звука.

Метаданные

Beets — менеджер музыкальной библиотеки и теггер MusicBrainz.

Eyed3 — инструмент для работы с аудиофайлами, особенно с MP3-файлами, содержащими метаданные ID3.

Mutagen — модуль Python для работы с метаданными аудио.

Tinytag — библиотека для чтения музыкальных метаданных MP3, OGG, FLAC и Wave файлов.

Аутентификация

Библиотеки для реализации схем аутентификации.

OAuth:

Authlib — реализация проекта JavaScript Object Signing and Encryption.

Django-allauth — приложение для аутентификации Django, которое «просто работает».

Django-oauth-toolkit — OAuth 2 для Django.

Oauthlib — общая и тщательная реализация логики подписи запросов OAuth.

JWT:

Pyjwt — реализация JSON Web Token на Python.

Python-jose — реализация JOSE на Python.

Инструменты сборки

Компиляция программного обеспечения из исходного кода.

Bitbake — make-подобный инструмент сборки для встроенного Linux.

Buildout — система сборки для создания, сборки и развёртывания приложений из нескольких частей.

Platformio — консольный инструмент для сборки кода с различными платформами разработки.

Pybuilder — непрерывный инструмент сборки, написанный на чистом Python.

Scons — инструмент построения программного обеспечения.

Улучшение встроенных классов

Библиотеки для улучшения встроенных классов Python.

Attrs — замена шаблонов init, eq, repr и т. д. в определениях классов.

Bidict — эффективные двунаправленные структуры данных карт и связанная функциональность.

Box — словари Python с расширенным доступом через точечную нотацию.

Dataclasses (стандартная библиотека Python) — классы данных.

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

CMS

Системы управления контентом.

Feincms — одна из самых продвинутых систем управления контентом, построенная на Django.

Indico — многофункциональная система управления событиями, созданная в CERN.

Wagtail — система управления контентом Django.

Кэширование

Библиотеки кэширования данных.

Beaker — WSGI-промежуточное ПО для сеансов и кэширования.

Django-cache-machine — автоматическое кэширование и аннулирование для моделей Django.

Django-cacheops — гладкий кэш ORM с автоматическим детализированным аннулированием на основе событий.

Dogpile.cache — dogpile.cache — это замена следующего поколения для Beaker, сделанная тем же автором. Авторы:

  • hermescache — библиотека кэширования для Python с теговым аннулированием и предотвращением эффекта «собачьей кучи».
  • pylibmc — обёртка Python вокруг интерфейса libmemcached.
  • python-diskcache — бэкенд кэша с хранением в SQLite и файлах, обеспечивающий более быстрый поиск по сравнению с memcached и redis.

ChatOps Tools

Библиотеки для разработки чат-ботов.

  • errbot — самый простой и популярный чат-бот для реализации ChatOps.

Code Analysis

Инструменты статического анализа, линтеры и средства проверки качества кода. Также см. awesome-static-analysis.

Code Analysis:

  • code2flow — превращает код на Python и JavaScript в блок-схемы формата DOT.
  • prospector — инструмент для анализа кода на Python.
  • vulture — инструмент поиска и анализа мёртвого кода на Python.

Code Linters:

  • flake8 — оболочка над pycodestyle, pyflakes и McCabe.
  • pylint — полностью настраиваемый анализатор исходного кода.

Code Formatters:

  • black — бескомпромиссный форматтер кода на Python.
  • isort — утилита / библиотека Python для сортировки импорта.
  • yapf — ещё один форматтер кода от Google.

Статические анализаторы типов, также см. awesome-python-typing:

  • mypy — проверка типов переменных во время компиляции.
  • pyre-check — производительная проверка типов.
  • typeshed — коллекция библиотечных заглушек для Python со статическими типами.

Генераторы статических аннотаций типов:

  • monkeytype — система для Python, генерирующая статические аннотации типов путём сбора типов времени выполнения.
  • pytype — pytype проверяет и выводит типы для кода Python без необходимости аннотаций.

Command-line Interface Development

Библиотеки для создания приложений командной строки.

Разработка приложений командной строки:

  • cement — фреймворк для приложений командной строки на Python.
  • click — пакет для создания красивых интерфейсов командной строки с возможностью компоновки.
  • cliff — фреймворк для создания программ командной строки с многоуровневыми командами.
  • python-fire — библиотека для создания интерфейсов командной строки из абсолютно любого объекта Python.
  • python-prompt-toolkit — библиотека для построения мощных интерактивных командных строк.

Визуализация терминала:

  • alive-progress — новый вид индикатора прогресса с реальной пропускной способностью, ETA и классными анимациями.
  • asciimatics — пакет для создания полноэкранных текстовых пользовательских интерфейсов (от интерактивных форм до ASCII-анимаций).
  • bashplotlib — создание базовых графиков в терминале.
  • colorama — кроссплатформенный цветной текст в терминале.
  • rich — библиотека Python для форматирования текста и красивой визуализации в терминале. Также предоставляет отличный обработчик журналов RichHandler.
  • tqdm — быстрый расширяемый индикатор выполнения для циклов и CLI.

Command-line Tools

Полезные инструменты командной строки для повышения продуктивности. Инструменты для повышения производительности

Улучшения интерфейса командной строки

Компьютерное зрение

Библиотеки компьютерного зрения:

  • easyocr (https://github.com/JaidedAI/EasyOCR) — готовая к использованию система оптического распознавания символов с поддержкой 40+ языков.
  • kornia (https://github.com/kornia/kornia/) — открытая дифференцируемая библиотека компьютерного зрения для PyTorch.
  • opencv (https://opencv.org/) — открытая библиотека компьютерного зрения.
  • pytesseract (https://github.com/madmaze/pytesseract) — оболочка для Google Tesseract OCR.
  • tesserocr (https://github.com/sirfz/tesserocr) — ещё одна простая оболочка вокруг API tesseract-ocr для оптического распознавания символов, совместимая с Pillow.

Файлы конфигурации

Библиотеки для хранения и анализа конфигурационных параметров:

Криптография

  • cryptography (https://github.com/pyca/cryptography) — пакет, предназначенный для предоставления разработчикам Python доступа к криптографическим примитивам и рецептам.
  • paramiko (https://github.com/paramiko/paramiko) — ведущая библиотека SSHv2 протокола на Python.
  • pynacl (https://github.com/pyca/pynacl) — привязка Python к библиотеке Networking and Cryptography (NaCl).

Анализ данных

Библиотеки анализа данных:

  • pandas (http://pandas.pydata.org/) — библиотека, предоставляющая высокопроизводительные, простые в использовании структуры данных и инструменты анализа данных.
  • aws-sdk-pandas (https://github.com/aws/aws-sdk-pandas) — Pandas на AWS.
  • datasette (https://github.com/simonw/datasette) — открытый мультиинструмент для исследования и публикации данных.
  • optimus (https://github.com/hi-primus/optimus) — гибкие рабочие процессы Data Science, упрощённые с помощью PySpark.

Проверка данных

Библиотеки проверки данных, часто используемые для форм:

  • cerberus (https://github.com/pyeve/cerberus) — лёгкая и расширяемая библиотека проверки данных.
  • colander (https://github.com/Pylons/colander) — проверка и десериализация данных, полученных через XML, JSON или HTML форму.
  • jsonschema (https://github.com/python-jsonschema/jsonschema) — реализация JSON Schema для Python. Проверка данных
  • schema — библиотека для проверки структур данных Python.
  • schematics — проверка структур данных.
  • voluptuous — библиотека проверки данных Python.
  • pydantic — валидация данных с использованием подсказок типов Python.

Визуализация данных

  • Библиотеки для визуализации данных. Также см. awesome-javascript.
    • altair — декларативная библиотека статистической визуализации для Python.
    • bokeh — интерактивная веб-визуализация для Python.
    • bqplot — интерактивная библиотека графиков для Jupyter Notebook.
    • cartopy — картографическая библиотека Python с поддержкой matplotlib.
    • diagrams — диаграммы как код.
    • matplotlib — двумерная библиотека построения графиков Python.
    • plotnine — грамматика графики для Python на основе ggplot2.
    • pygal — создатель диаграмм SVG Python.
    • pygraphviz — интерфейс Python к Graphviz.
    • pyqtgraph — интерактивный и в реальном времени 2D/3D/построение изображений и научные/инженерные виджеты.
    • seaborn — статистическая визуализация данных с помощью Matplotlib.
    • vispy — высокопроизводительная научная визуализация на основе OpenGL.

Базы данных

  • Базы данных, реализованные на Python.
    • pickleDB — простое и лёгкое хранилище «ключ-значение» для Python.
    • tinydb — крошечная документоориентированная база данных.
    • zodb — собственная объектно-ориентированная база данных для Python. База данных «ключ-значение» и объектный граф.

Драйверы баз данных

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

  • MySQL — awesome-mysql
    • mysqlclient — коннектор MySQL с поддержкой Python 3 (mysql-python fork).
    • pymysql — чистый драйвер MySQL Python, совместимый с mysql-python.
  • PostgreSQL — awesome-postgres
    • psycopg — самый популярный адаптер PostgreSQL для Python.
  • SQlite — awesome-sqlite
    • sqlite3 (стандартная библиотека Python) — интерфейс SQlite, соответствующий DB-API 2.0.
    • sqlite-utils — утилита CLI Python и библиотека для управления базами данных SQlite.
  • Другие реляционные базы данных
    • pymssql — простой интерфейс базы данных для Microsoft SQL Server.
    • clickhouse-driver — драйвер Python с собственным интерфейсом для ClickHouse.
  • NoSQL базы данных
    • cassandra-driver — Python-драйвер Apache Cassandra.
    • happybase — удобная для разработчиков библиотека для Apache HBase.
    • kafka-python — клиент Python для Apache Kafka.
    • pymongo — официальный клиент Python для MongoDB.
    • motor — асинхронный драйвер Python для MongoDB.
    • redis-py — клиент Redis для Python.

Дата и время

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

  • arrow — библиотека Python, предлагающая разумный и удобный для человека подход. Создание, манипуляция, форматирование и преобразование дат, времени и временных меток.

  • dateutil — расширения для стандартного модуля Python datetime.

  • pendulum — упрощение работы с датами в Python.

  • pytz — определения часовых поясов мира, современные и исторические. Перенос tz базы данных в Python.

Инструменты отладки

Библиотеки для отладки кода.

  • pdb-подобный отладчик:
    • ipdb — IPython-расширенный pdb.
    • pudb — полноэкранный консольный отладчик Python.
  • Трассировка:
    • manhole — отладка соединений через сокеты UNIX и предоставление трассировок для всех потоков и интерактивной подсказки.
    • python-hunter — гибкий инструментарий для отслеживания кода.
  • Профилировщик:
    • py-spy — выборочный профилировщик для программ на Python, написанный на Rust.
    • vprof — визуальный профилировщик Python.
  • Другие:
    • django-debug-toolbar — отображение различной отладочной информации для Django.
    • flask-debugtoolbar — порт django-debug-toolbar на flask.
    • icecream — проверка переменных, выражений и выполнения программы с помощью одного простого вызова функции.
    • pyelftools — анализ и разбор файлов ELF и отладочная информация DWARF.

Глубокое обучение

Фреймворки для нейронных сетей и глубокого обучения. Также см. awesome-deep-learning.

  • keras — библиотека нейронных сетей высокого уровня, способная работать поверх TensorFlow или Theano.
  • pytorch — тензоры и динамические нейронные сети на Python с мощным ускорением на GPU.
  • pytorch-lightning — фреймворк глубокого обучения для быстрого обучения, развёртывания и поставки продуктов искусственного интеллекта.
  • stable-baselines3 — реализации PyTorch алгоритмов стабильного (глубокого) обучения с подкреплением.
  • tensorflow — самая популярная платформа глубокого обучения, созданная Google.
  • theano — библиотека для быстрых численных вычислений.

DevOps инструменты

Программное обеспечение и библиотеки для DevOps.

  • Управление конфигурацией:
    • ansible — радикально простая платформа автоматизации ИТ.
    • cloudinit — мультидистрибутивный пакет, который обрабатывает раннюю инициализацию облачного экземпляра.
    • openstack — программное обеспечение с открытым исходным кодом для создания частных и публичных облаков.
    • pyinfra — универсальные инструменты CLI и библиотеки Python для автоматизации инфраструктуры.
    • saltstack — система управления и автоматизации инфраструктуры.
  • Развёртывание в стиле SSH:
    • cuisine — функциональность Chef для Fabric.
    • fabric — простой инструмент Pythonic для удалённого выполнения и развёртывания.
  • Управление процессами:
    • supervisor — система контроля процессов Supervisor для UNIX.
  • Мониторинг:
    • psutil — кроссплатформенный модуль системных утилит и утилит процессов.
  • Резервное копирование:
    • borg — архиватор с дедупликацией, сжатием и шифрованием.

Распределённые вычисления

Фреймворки и библиотеки для распределённых вычислений.

  • Пакетная обработка. Dask — гибкая библиотека для параллельных вычислений в аналитических целях.

Luigi — модуль, который помогает создавать сложные конвейеры пакетных заданий.

PySpark — Python API Apache Spark.

Ray — система для параллельного и распределённого выполнения кода на Python, которая объединяет экосистему машинного обучения.

Поток обработки данных:

Faust — библиотека потоковой обработки, переносящая идеи Kafka Streams на Python.

Streamparse — выполнение кода Python на потоках данных в реальном времени с помощью Apache Storm.

Распространение

Библиотеки для создания упакованных исполняемых файлов для выпуска.

py2app — замораживает скрипты Python (Mac OS X).

py2exe — замораживает скрипты Python (Windows).

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

pyinstaller — преобразует программы Python в автономные исполняемые файлы (кросс-платформенный).

shiv — утилита командной строки для создания полностью автономных zipapps (PEP 441), но со всеми включёнными зависимостями.

Документация

Библиотеки для генерации документации по проектам.

sphinx — генератор документации Python.

pdoc — замена Epydoc для автоматического создания документации API для библиотек Python.

Загрузка

Библиотеки для загрузки.

akshare — финансовая библиотека интерфейса данных, созданная для людей!

s3cmd — инструмент командной строки для управления Amazon S3 и CloudFront.

youtube-dl — программа командной строки для скачивания видео с YouTube и других видеосайтов.

Плагины редактора и IDE

Emacs:

elpy — среда разработки Python для Emacs.

Vim:

jedi-vim — привязки Vim для библиотеки автодополнения Jedi для Python.

python-mode — плагин «всё в одном» для превращения Vim в IDE для Python.

YouCompleteMe — включает движок завершения кода на основе Jedi для Python.

Visual Studio:

PTVS — инструменты Python для Visual Studio.

Visual Studio Code:

Python — официальное расширение VSCode с богатой поддержкой Python.

IDE:

PyCharm — коммерческая IDE Python от JetBrains. Доступна бесплатная версия сообщества.

spyder — открытая IDE Python.

Электронная почта

Библиотеки для отправки и анализа электронной почты.

Почтовые серверы:

modoboa — платформа хостинга и управления почтой с современным веб-интерфейсом.

salmon — почтовый сервер Python.

Клиенты:

imbox — Python IMAP для людей.

yagmail — ещё один клиент Gmail/SMTP.

Другие:

flanker — библиотека анализа адресов электронной почты и MIME.

mailer — высокопроизводительная расширяемая структура доставки почты.

Управление средой

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

pyenv — менеджер версий Python. Простое управление версиями Python.

  • virtualenv — инструмент для создания изолированных сред Python.

Работа с файлами.

  • Библиотеки для работы с файлами.

    • mimetypes (стандартная библиотека Python) — сопоставляет имена файлов с типами MIME.
    • pathlib (стандартная библиотека Python) — кроссплатформенная объектно-ориентированная библиотека путей.
    • path.py — модуль-обёртка для os.path.
    • python-magic — интерфейс Python к библиотеке идентификации типов файлов libmagic.
    • watchdog — API и утилиты оболочки для мониторинга событий файловой системы.

Функциональное программирование.

  • Функциональное программирование на Python.

    • coconut — вариант Python, созданный для простого, элегантного и Pythonic функционального программирования.
    • funcy — модные и практичные функциональные инструменты.
    • more-itertools — дополнительные процедуры для работы с итерациями, помимо itertools.
    • returns — набор типобезопасных монад, трансформаторов и утилит композиции.
    • cytoolz — реализация Cython для Toolz: высокопроизводительные функциональные утилиты.
    • toolz — коллекция функциональных утилит для итераторов, функций и словарей.

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

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

    • curses — встроенная оболочка для ncurses, используемая для создания приложений с графическим интерфейсом терминала.
    • Eel — библиотека для создания простых автономных HTML/JS приложений, подобных Electron.
    • enaml — создание красивых пользовательских интерфейсов с декларативным синтаксисом, подобным QML.
    • Flexx — Flexx — это чистый инструментарий Python для создания графических интерфейсов, который использует веб-технологии для рендеринга.
    • Gooey — превратите программы командной строки в полноценное приложение с графическим интерфейсом в одну строку.
    • kivy — библиотека для создания NUI-приложений, работающих на Windows, Linux, Mac OS X, Android и iOS.
    • pyglet — межплатформенное оконное и мультимедийное ПО для Python.
    • PyGObject — привязки Python для GLib/GObject/GIO/GTK+ (GTK+3).
    • PyQt — привязки Python для кроссплатформенного приложения и фреймворка пользовательского интерфейса Qt.
    • PySimpleGUI — оболочка для tkinter, Qt, WxPython и Remi.
    • pywebview — лёгкая кроссплатформенная собственная оболочка вокруг компонента веб-просмотра.
    • Tkinter — Tkinter — де-факто стандартный пакет графического интерфейса Python.
    • Toga — собственный инструментарий Python с поддержкой собственных графических интерфейсов ОС.
    • urwid — библиотека для создания приложений с терминальным графическим интерфейсом с мощной поддержкой виджетов, событий, насыщенных цветов и т. д.
    • wxPython — сочетание библиотеки классов wxWidgets C++ с Python.
    • DearPyGui — простая графическая структура Python с ускорением на GPU.

GraphQL.

  • Библиотеки для работы с GraphQL.

    • graphene — фреймворк GraphQL для Python.

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

  • Отличные библиотеки для разработки игр.

    • Arcade — Arcade — современный фреймворк Python для создания игр с привлекательной графикой и звуком.
    • Cocos2d — Cocos2d — это фреймворк для создания 2D-игр, демонстраций и других графических/интерактивных приложений. Harfang3D — фреймворк на Python для разработки в 3D, VR и игр.

Panda3D — движок для 3D-игр, разработанный Disney.

PyGame — набор модулей Python, предназначенных для создания игр.

PyOgre — привязки Python к рендер-движку Ogre 3D. Может использоваться для игр, симуляций и других 3D приложений.

PyOpenGL — привязка Python к OpenGL и связанным API через ctypes.

PySDL2 — оболочка на основе ctypes для библиотеки SDL2.

RenPy — движок визуальных новелл.

Геолокация

Библиотеки для геокодирования адресов и работы с широтами и долготами.

  • django-countries — приложение Django, предоставляющее поле страны для моделей и форм.
  • geodjango — географический веб-фреймворк мирового класса.
  • geojson — привязки и утилиты Python для GeoJSON.
  • geopy — инструментарий геокодирования Python.

Работа с HTML и XML

Библиотеки для работы с HTML и XML.

  • BeautifulSoup — предоставляет идиомы Pythonic для перебора, поиска и изменения HTML или XML.
  • Bleach — библиотека очистки HTML на основе белого списка и текстовой линковки.
  • CSSUtils — CSS-библиотека для Python.
  • HTML5Lib — совместимая со стандартами библиотека для разбора и сериализации HTML-документов и фрагментов.
  • LXML — очень быстрая, простая в использовании и универсальная библиотека для обработки HTML и XML.
  • Markupsafe — реализует безопасную строку разметки XML/HTML/XHTML для Python.
  • PyQuery — библиотека, подобная jQuery, для анализа HTML.
  • Untangle — преобразует XML-документы в объекты Python для лёгкого доступа.
  • WeasyPrint — визуальный механизм рендеринга HTML и CSS, который может экспортировать в PDF.
  • xmldataset — простой разбор XML.
  • xmltodict — работа с XML, как с JSON.

HTTP-клиенты

Библиотеки для работы с HTTP.

  • httpx — клиент HTTP следующего поколения для Python.
  • Requests — HTTP-запросы для людей.
  • treq — API запросов Python, построенный на вершине HTTP-клиента Twisted.
  • urllib3 — потокобезопасная библиотека HTTP с пулингом соединений, поддержкой файлов и разумным подходом.

Аппаратное обеспечение

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

  • keyboard — перехватывает и имитирует глобальные события клавиатуры на Windows и Linux.
  • mouse — перехватывает и имитирует глобальные события мыши на Windows и Linux.
  • pynput — библиотека для управления и мониторинга устройств ввода.
  • Scapy — блестящая библиотека манипуляции пакетами.

Обработка изображений

Библиотеки для манипулирования изображениями.

  • Pillow — дружественный форк PIL.
  • python-barcode — создание штрихкодов в Python без дополнительных зависимостей.
  • pymatting — библиотека альфа-матирования.
  • python-qrcode — генератор QR-кодов на чистом Python.
  • pywal — инструмент, генерирующий цветовые схемы из изображений.
  • pyvips — быстрая библиотека обработки изображений с низкими потребностями в памяти. Квады (https://github.com/fogleman/Quads) — компьютерное искусство, основанное на квадродеревьях.

Scikit-image (http://scikit-image.org/) — библиотека Python для научной обработки изображений.

Thumbor (https://github.com/thumbor/thumbor) — интеллектуальный сервис обработки изображений, который позволяет изменять размер, обрезать и переворачивать изображения по запросу.

Wand (https://github.com/emcconville/wand) — привязки Python к MagickWand (http://www.imagemagick.org/script/magick-wand.php), C API для ImageMagick.

Реализации

Реализации Python.

Интерактивный интерпретатор

Интерактивные интерпретаторы Python (REPL).

Интернационализация

Библиотеки для работы с i18n.

Планировщик заданий

Библиотеки планирования заданий.

  • Airflow (https://airflow.apache.org/) — платформа для программного создания, планирования и мониторинга рабочих процессов.
  • APScheduler (http://apscheduler.readthedocs.io/en/latest/) — лёгкий, но мощный внутренний планировщик задач, позволяющий планировать функции.
  • django-schedule (https://github.com/thauber/django-schedule) — приложение для календаря Django.
  • doit (http://pydoit.org/) — инструмент для выполнения задач и сборки.
  • gunnery (https://github.com/gunnery/gunnery) — многоцелевой инструмент выполнения задач для распределённых систем с веб-интерфейсом.
  • Joblib (https://joblib.readthedocs.io/) — набор инструментов для обеспечения лёгкой конвейеризации в Python.
  • Plan (https://github.com/fengsp/plan) — написание файла crontab на Python.
  • Prefect (https://github.com/PrefectHQ/prefect) — современная среда оркестровки рабочих процессов, которая упрощает создание, планирование и мониторинг надёжных конвейеров данных.
  • schedule (https://github.com/dbader/schedule) — планирование заданий Python для людей.
  • Spiff (https://github.com/knipknap/SpiffWorkflow) — мощный механизм рабочего процесса, реализованный на чистом Python.
  • TaskFlow (https://docs.openstack.org/developer/taskflow/) — библиотека Python, которая помогает упростить выполнение задач, сделать его последовательным и надёжным.

Логирование

Библиотеки генерации и работы с логами.

Structlog — упрощённое структурированное логирование.

Машинное обучение

Библиотеки для машинного обучения. Также см. awesome-machine-learning.

  • Gym — инструментарий для разработки и сравнения алгоритмов обучения с подкреплением.
  • H2O — открытая масштабируемая платформа машинного обучения.
  • Metrics — метрики оценки машинного обучения.
  • NuPIC — платформа Numenta для интеллектуальных вычислений.
  • Scikit-learn — самая популярная библиотека машинного обучения на Python.
  • Spark ML — масштабируемая библиотека машинного обучения от Apache Spark.
  • Vowpal Porpoise — лёгкая оболочка Python для Vowpal Wabbit.
  • Xgboost — масштабируемая, переносимая и распределённая библиотека градиентного бустинга.
  • MindsDB — открытый слой искусственного интеллекта для существующих баз данных, который позволяет без усилий разрабатывать, обучать и развёртывать современные модели машинного обучения с использованием стандартных запросов.

Microsoft Windows

Программирование на Python в Microsoft Windows.

  • Python(x,y) — дистрибутив Python, ориентированный на научные приложения, основанный на Qt и Spyder.
  • pythonlibs — неофициальные двоичные файлы Windows для пакетов расширений Python.
  • PythonNet — интеграция Python с общеязыковой средой выполнения .NET (CLR).
  • PyWin32 — расширения Python для Windows.
  • WinPython — портативная среда разработки для Windows 7/8.

Разное

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

  • Blinker — быстрая система диспетчеризации сигналов/событий Python внутри процесса.
  • Boltons — набор утилит на чистом Python.
  • ItsDangerous — различные помощники для передачи доверенных данных в недоверенные среды.
  • Magenta — инструмент для создания музыки и искусства с помощью искусственного интеллекта.
  • Pluginbase — простая, но гибкая система плагинов для Python.
  • Tryton — универсальная бизнес-платформа.

Обработка естественного языка

Библиотеки для работы с человеческими языками.

  • Общие
    • Gensim — тематическое моделирование для людей.
    • Langid.py — автономная система идентификации языков.
    • Nltk — ведущая платформа для создания программ на Python для работы с данными человеческого языка.
    • Pattern — модуль веб-майнинга.
    • Polyglot — конвейер для естественных языков, поддерживающий сотни языков.
    • Pytext — фреймворк моделирования естественного языка на основе PyTorch.
    • PyTorch-NLP — инструментарий, позволяющий быстро прототипировать глубокое обучение NLP для исследований.
    • Spacy — библиотека для промышленного анализа естественного языка в Python и Cython.
    • Stanza — официальная библиотека Python Стэнфордской группы по обработке естественного языка, поддерживающая более 60 языков.
  • Китайский
    • FunNLP — коллекция инструментов и наборов данных для китайского NLP.
    • Jieba — самая популярная китайская библиотека сегментации текста. Pkuseg-python — набор инструментов для сегментации китайских слов в различных областях.

Snownlp — библиотека для обработки китайского текста.

Виртуализация сети

Инструменты и библиотеки для виртуальной сети и SDN (программно-определяемой сети).

  • Mininet — популярный сетевой эмулятор и API, написанный на Python.
  • Napalm — кросс-вендорный API для управления сетевыми устройствами.
  • Pox — приложения управления SDN на основе Python, такие как контроллеры OpenFlow SDN.

Лента новостей

Библиотеки для создания действий пользователей.

  • Django-activity-stream — генерация общих потоков активности с сайта.
  • Stream Framework — создание ленты новостей и систем уведомлений с использованием Cassandra и Redis.

ORM

Библиотеки, которые реализуют объектно-реляционное отображение или методы отображения данных.

Реляционные базы данных:

  • Django Models — ORM Django.
  • SQLAlchemy — Python SQL Toolkit и Object Relational Mapper.
  • Dataset — хранение Python dicts в базе данных, работает с SQLite, MySQL и PostgreSQL.
  • Orator — ORM Orator предоставляет простую, но красивую реализацию ActiveRecord.
  • ORM — асинхронный ORM.
  • Peewee — небольшой выразительный ORM.
  • Pony — ORM, который предоставляет генераторно-ориентированный интерфейс к SQL.
  • Pydal — чистый Python Database Abstraction Layer.

Базы данных NoSQL:

  • Hot-redis — богатые типы данных Python для Redis.
  • Mongoengine — Python Object-Document-Mapper для работы с MongoDB.
  • PynamoDB — Pythonic интерфейс для Amazon DynamoDB.
  • Redisco — библиотека Python для простых моделей и контейнеров, сохранённых в Redis.

Управление пакетами

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

  • Pip — установщик пакетов для Python.

  • Pip-tools — набор инструментов, чтобы поддерживать свежие закреплённые зависимости Python.

  • PyPI — онлайн-хранилище программного обеспечения для языка Python.

  • Conda — кроссплатформенный менеджер бинарных пакетов Python, независимый от Python.

  • Poetry — управление зависимостями и упаковка Python стали проще.

Репозитории пакетов

Локальный сервер репозитория PyPI и прокси.

  • Bandersnatch — инструмент зеркалирования PyPI, предоставленный Python Packaging Authority (PyPA).
  • Devpi — сервер PyPI и инструмент упаковки/тестирования/выпуска.
  • Localshop — локальный сервер PyPI (пользовательские пакеты и автоматическое зеркалирование pypi).
  • Warehouse — следующее поколение репозитория пакетов Python (PyPI).

Тестирование на проникновение

Фреймворки и инструменты для тестирования на проникновение.

  • Fsociety — фреймворк для тестирования на проникновение.
  • Setoolkit — инструментарий для социальной инженерии.
  • Sqlmap — автоматический инструмент внедрения SQL-кода и захвата базы данных.

Разрешения

Библиотеки, позволяющие или запрещающие пользователям доступ к данным или функциональности.

  • Django-guardian — реализация разрешений для каждого объекта для Django 1.2+. Процессы

Библиотеки для запуска и взаимодействия с процессами ОС.

Рекомендательные системы

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

  • annoy — приблизительные ближайшие соседи на C++/Python, оптимизированные для использования памяти.
  • fastFM — библиотека для факторных машин.
  • implicit — быстрая реализация на Python коллаборативной фильтрации для неявных наборов данных.
  • libffm — библиотека для полевых факторных машин (FFM).
  • lightfm — реализация на Python ряда популярных алгоритмов рекомендаций.
  • spotlight — глубокие модели рекомендаций с использованием PyTorch.
  • Surprise — scikit для построения и анализа рекомендательных систем.
  • tensorrec — фреймворк рекомендательной системы в TensorFlow.

Рефакторинг

Инструменты и библиотеки рефакторинга для Python

  • Bicycle Repair Man — Bicycle Repair Man, инструмент рефакторинга кода для Python.
  • Bowler — безопасный рефакторинг кода для современного Python.
  • Rope — библиотека рефакторинга Python.

RESTful API

Библиотеки для разработки RESTful API.

  • Django
    • django-rest-framework — мощный и гибкий инструментарий для создания веб-API.
    • django-tastypie — создание вкусных API для приложений Django.
  • Flask
    • eve — REST API фреймворк на основе Flask, MongoDB и благих намерений.
    • flask-api — браузерные веб-API для Flask.
    • flask-restful — быстрое создание REST API для Flask.
  • Pyramid
    • cornice — REST фреймворк для Pyramid.
  • Framework agnostic
    • falcon — высокопроизводительный фреймворк для создания облачных API и бэкендов веб-приложений.
    • fastapi — современный, быстрый веб-фреймворк для создания API на Python 3.6+ на основе стандартных подсказок типов Python.
    • hug — Python 3 фреймворк для чистого предоставления API.
    • sandman2 — автоматизированные REST API для существующих систем, управляемых базой данных.
    • sanic — веб-сервер и веб-фреймворк Python 3.6+, созданный для скорости.

Робототехника

Библиотеки для робототехники.

  • PythonRobotics — сборник различных алгоритмов робототехники с визуализацией.
  • rospy — библиотека для ROS (Robot Operating System).

RPC-серверы

RPC-совместимые серверы.

  • RPyC (Remote Python Call) — прозрачная и симметричная RPC библиотека для Python
  • zeroRPC — zerorpc — гибкая реализация RPC на основе ZeroMQ и MessagePack.

Наука

Библиотеки для научных вычислений. Также см. Python-for-Scientists.

  • astropy — общественная библиотека Python для астрономии. Библиотеки и программное обеспечение для индексации и выполнения поисковых запросов к данным

  • django-haystack — модульный поиск для Django.

  • elasticsearch-dsl-py — официальный высокоуровневый клиент Elasticsearch на Python.

  • Elasticsearch-py — официальный низкоуровневый клиент Elasticsearch на Python.

  • pysolr — лёгкая оболочка для Apache Solr на Python.

  • whoosh — быстрая библиотека поиска на чистом Python.

Библиотеки для сериализации сложных типов данных

  • marshmallow — облегчённая библиотека для преобразования сложных объектов в простые типы данных Python и обратно.
  • pysimdjson — привязки Python для simdjson.
  • python-rapidjson — оболочка Python вокруг RapidJSON.
  • ultrajson — быстрый декодер и кодировщик JSON, написанный на C с привязками Python.

Бессерверные фреймворки

  • python-lambda — инструментарий для разработки и развёртывания кода Python в AWS Lambda.
  • Zappa — инструмент для развёртывания приложений WSGI в AWS Lambda и API Gateway.

Оболочки на основе Python

  • xonsh — кроссплатформенный язык оболочки и командная строка на базе Python, ориентированный на Unix. Tablib — модуль для табличных наборов данных в XLS, CSV, JSON, YAML.

Office

  • docxtpl — редактирование документа docx с помощью шаблона jinja2.
  • Openpyxl — библиотека для чтения и записи файлов Excel 2010 xlsx/xlsm/xltx/xltm.
  • Pyexcel — предоставление единого API для чтения, обработки и записи файлов csv, ods, xls, xlsx и xlsm.
  • Python-docx — чтение, запрос и изменение файлов Microsoft Word 2007/2008 docx.
  • Python-pptx — библиотека Python для создания и обновления файлов PowerPoint (.pptx).
  • Unoconv — преобразование между любыми форматами документов, поддерживаемыми LibreOffice/OpenOffice.
  • XlsxWriter — модуль Python для создания файлов Excel .xlsx.
  • xlwings — библиотека с лицензией BSD, которая упрощает вызов Python из Excel и наоборот.
  • xlwt / xlrd — запись и чтение данных и информации о форматировании из файлов Excel.

PDF

  • Pdfminer.six — форк оригинального PDFMiner, поддерживаемый сообществом.
  • PyPDF2 — библиотека, способная разделять, объединять и преобразовывать страницы PDF.
  • ReportLab — быстрое создание насыщенных документов PDF.

Markdown

  • Mistune — самые быстрые и полнофункциональные парсеры Markdown на чистом Python.
  • Python-Markdown — реализация Markdown Джона Грубера на Python.

YAML

  • PyYAML — реализации YAML для Python.

CSV

  • Csvkit — утилиты для преобразования в CSV и работы с ними.

Генератор статических сайтов

Генератор статических сайтов — это программное обеспечение, которое принимает некоторый текст + шаблоны в качестве входных данных и выдаёт HTML-файлы на выходе.

  • Lektor — простая в использовании статическая CMS и движок блога.
  • Mkdocs — генератор документации, дружественной к Markdown.
  • Makesite — простой, лёгкий и не требующий магии генератор статических сайтов (< 130 строк).
  • Nikola — генератор статического веб-сайта и блога.
  • Pelican — генератор статических сайтов, который поддерживает Markdown и синтаксис reST.

Тегирование

Библиотеки для тегирования элементов.

  • Django-taggit — простое тегирование для Django.

Очереди задач

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

  • Celery — асинхронная очередь задач/очередь заданий, основанная на распределённой передаче сообщений.
  • Dramatiq — быстрая и надёжная библиотека обработки фоновых задач для Python 3.
  • Huey — небольшая многопоточная очередь задач.
  • Mrq — распределённая очередь рабочих задач в Python с использованием Redis & gevent.
  • Rq — простые очереди заданий для Python.

Шаблонизатор

Библиотеки и инструменты для шаблонизации и лексирования.

  • Genshi — набор инструментов для шаблонов Python для генерации веб-ориентированного вывода.
  • Jinja2 — современный и удобный для дизайнеров язык шаблонов.
  • Mako — сверхбыстрый и лёгкий шаблонизатор для платформы Python.

Тестирование

Библиотеки для тестирования кодовых баз и генерации тестовых данных.

Тестовые фреймворки. Гипотеза (hypothesis) — это продвинутая библиотека для тестирования на основе свойств в стиле Quickcheck.

  • nose2 (nose-devs/nose2) — преемник nose, основанный на unittest2.
  • pytest (docs.pytest.org/en/latest/) — зрелый полнофункциональный инструмент тестирования Python.
  • Robot Framework (robotframework/robotframework) — универсальная среда автоматизации тестирования.
  • unittest (docs.python.org/3/library/unittest.html) — фреймворк модульного тестирования из стандартной библиотеки Python.

Тестовые раннеры

  • green (CleanCut/green) — чистый и красочный тестовый раннер.
  • mamba (nestorsalceda.github.io/mamba/) — окончательный инструмент тестирования для Python, рождённый под знаменем BDD.
  • tox (tox.readthedocs.io/en/latest/) — автоматически собирает и тестирует дистрибутивы в нескольких версиях Python.

GUI / веб-тестирование

  • locust (locustio/locust) — инструмент масштабируемого нагрузочного тестирования пользователей, написанный на Python.
  • PyAutoGUI (asweigart/pyautogui) — кроссплатформенный модуль автоматизации графического интерфейса пользователя для людей.
  • Schemathesis (kiwicom/schemathesis) — инструмент автоматического тестирования на основе свойств веб-приложений, созданных с использованием спецификаций Open API / Swagger.
  • Selenium (pypi.org/project/selenium/) — привязки Python для Selenium WebDriver.
  • sixpack (seatgeek/sixpack) — языконезависимый фреймворк A/B-тестирования.
  • splinter (cobrateam/splinter) — открытый инструмент для тестирования веб-приложений.

Mock

  • doublex (pypi.org/project/doublex/) — мощный фреймворк тестовых дублей для Python.
  • freezegun (spulec/freezegun) — путешествуйте во времени, имитируя модуль datetime.
  • httmock (patrys/httmock) — библиотека имитации запросов для Python 2.6+ и 3.2+.
  • httpretty (gabrielfalcao/HTTPretty) — инструмент имитации HTTP-запросов для Python.
  • mock (docs.python.org/3/library/unittest.mock.html) — (Python standard library) библиотека имитации и исправления.
  • mocket (mindflayer/python-mocket) — фреймворк сокетов с поддержкой gevent/asyncio/SSL.
  • responses (getsentry/responses) — служебная библиотека для имитации библиотеки запросов Python.
  • VCR.py (kevin1024/vcrpy) — записывайте и воспроизводите HTTP-взаимодействия в тестах.

Фабрики объектов

  • factory_boy (FactoryBoy/factory_boy) — замена фикстурам для тестов в Python.
  • mixer (klen/mixer) — ещё одна замена фикстур. Поддерживает Django, Flask, SQLAlchemy, Peewee и т. д.
  • model_mommy (vandersonmota/model_mommy) — создание случайных фикстур для тестирования в Django.

Покрытие кода

  • coverage (pypi.org/project/coverage/) — измерение покрытия кода.

Фальшивые данные

  • fake2db (emirozer/fake2db) — генератор фальшивой базы данных.
  • faker (joke2k/faker) — пакет Python, который генерирует фальшивые данные.
  • mimesis (lk-geimfari/mimesis) — библиотека Python, которая помогает генерировать фальшивые данные.
  • radar (pypi.org/project/radar/) — генерирует случайные даты и время.

Обработка текста

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

Общие

  • chardet (chardet/chardet) — детектор кодировки символов, совместимый с Python 2/3.

  • difflib (docs.python.org/3/library/difflib.html) — помощники для вычисления дельт.

  • ftfy (LuminosoInsight/python-ftfy) — делает текст Unicode менее сломанным и более согласованным автоматически.

  • fuzzywuzzy (seatgeek/fuzzywuzzy) — нечёткое сопоставление строк.

  • Levenshtein (ztane/python-Levenshtein/) — быстрое вычисление расстояния Левенштейна и сходства строк. Pangu.py — параноидальное текстовое форматирование.

  • Pyfiglet — реализация figlet на Python.

  • Pypinyin — конвертация китайских иероглифов (漢字) в пиньинь (拼音).

  • Textdistance — вычисление расстояния между последовательностями с использованием более 30 алгоритмов.

  • Unidecode — транслитерация текста из Unicode в ASCII.

Slugify

  • Awesome-slugify — библиотека slugify на Python, которая может сохранять Unicode.
  • Python-slugify — библиотека slugify на Python, которая переводит Unicode в ASCII.
  • Unicode-slugify — slugifier, который генерирует юникод-слаги с Django в качестве зависимости.

Уникальные идентификаторы

  • Hashids — реализация hashids на Python.
  • Shortuuid — генераторная библиотека для создания кратких, однозначных и безопасных URL UUID.

Парсер

  • Ply — реализация инструментов lex и yacc для парсинга на Python.
  • Pygments — универсальный синтаксический маркер.
  • Pyparsing — общая структура для генерации парсеров.
  • Python-nameparser — парсинг человеческих имён на отдельные компоненты.
  • Python-phonenumbers — парсинг, форматирование, хранение и проверка международных телефонных номеров.
  • Python-user-agents — парсер пользовательских агентов браузера.
  • Sqlparse — непроверяющий SQL-парсер.

Сторонние API

Библиотеки для доступа к сторонним сервисам API. Также см. Список оболочек и библиотек Python API.

  • Apache-libcloud — одна библиотека Python для всех облаков.
  • Boto3 — интерфейс Python для Amazon Web Services.
  • Django-wordpress — модели и представления WordPress для Django.
  • Facebook-sdk — Python SDK платформы Facebook.
  • Google-api-python-client — клиентская библиотека Google APIs для Python.
  • Gspread — API Google Таблиц Python.
  • Twython — оболочка Python для Twitter API.

Манипуляции с URL

Библиотеки для анализа URL.

  • Furl — небольшая библиотека Python, упрощающая анализ и манипуляцию URL.
  • Purl — простой неизменяемый класс URL с понятным API для опроса и манипуляции.
  • Pyshorteners — чистая библиотека сокращения URL на Python.
  • Webargs — дружественная библиотека для анализа аргументов HTTP-запроса со встроенной поддержкой популярных веб-фреймворков.

Видео

Библиотеки для работы с видео и GIF.

  • Moviepy — модуль для редактирования фильмов на основе сценариев с множеством форматов, включая анимированные GIF.
  • Scikit-video — процедуры обработки видео для SciPy.
  • Vidgear — самая мощная многопоточная среда обработки видео.

Управление веб-активами

Инструменты для управления, сжатия и минимизации веб-ресурсов.

  • Django-compressor — сжимает связанные и встроенные JavaScript или CSS в один кэшированный файл.
  • Django-pipeline — библиотека упаковки активов. В интернете есть много сайтов с информацией на эту тему. Посмотрите, что нашлось в поиске Ресурсы и новые библиотеки Python.

Информационные бюллетени

Подкасты

Вклад в проект

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

Если у вас есть какие-либо вопросы об этом субъективном списке, не стесняйтесь обращаться ко мне @VintaChen в Twitter или открыть вопрос на GitHub.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

awesome-python китайская версия. Развернуть Свернуть
CC-BY-4.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/awesome-lib-awesome-python.git
git@api.gitlife.ru:oschina-mirror/awesome-lib-awesome-python.git
oschina-mirror
awesome-lib-awesome-python
awesome-lib-awesome-python
master