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

OSCHINA-MIRROR/markhoo-awesome-python

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

Awesome Python

Кураторский список замечательных фреймворков, библиотек, программного обеспечения и ресурсов на Python. Вдохновлён awesome-php от ziadoz.

  • Административные панели.
  • Алгоритмы и шаблоны проектирования.
  • ASGI-серверы.
  • Асинхронное программирование.
  • Аудио.
  • Аутентификация.
  • Инструменты сборки.
  • Улучшение встроенных классов.
  • Кэширование.
  • Средства ChatOps.
  • CMS.
  • Анализ кода.
  • Разработка интерфейса командной строки.
  • Инструменты командной строки.
  • Совместимость.
  • Компьютерное зрение.
  • Параллелизм и параллельное выполнение.
  • Конфигурация.
  • Криптография.
  • Анализ данных.
  • Проверка данных.
  • Визуализация данных.
  • Драйверы баз данных.
  • Базы данных.
  • Дата и время.
  • Отладочные инструменты.
  • Глубокое обучение.
  • DevOps-инструменты.
  • Распределённые вычисления.
  • Дистрибутивы.
  • Документация.
  • Загрузчик.
  • Электронная коммерция.
  • Плагины для редакторов и IDE.
  • Email.
  • Интеграция корпоративных приложений.
  • Управление средой.
  • Файлы.
  • Интерфейс внешних функций.
  • Формы.
  • Функциональное программирование.
  • Разработка игр.
  • Геолокация.
  • GUI-разработка.
  • Аппаратное обеспечение.
  • Манипуляции с HTML.
  • HTTP-клиенты.
  • Обработка изображений.
  • Реализации.
  • Интерактивный интерпретатор.
  • Интернационализация.
  • Планировщик заданий.
  • Логирование.
  • Машинное обучение.
  • Разное.
  • Обработка естественного языка.
  • Сетевая виртуализация.
  • Лента новостей.
  • ORM.
  • Управление пакетами.
  • Репозитории пакетов.
  • Тестирование на проникновение.
  • Разрешения.
  • Процессы.
  • Системы рекомендаций.
  • Рефакторинг.
  • RESTful API.
  • Робототехника.
  • RPC-серверы.
  • Наука.
  • Поиск.
  • Сериализация.
  • Бессерверные фреймворки.
  • Shell.
  • Работа со специфическими форматами.
  • Генератор статических сайтов.
  • Маркировка.
  • Очереди задач.
  • Движок шаблонов.
  • Тестирование.
  • Обработка текста.
  • Сторонние API.
  • Манипуляция URL.
  • Видео.
  • Управление веб-активами.
  • Извлечение веб-контента.
  • Веб-сканирование.
  • Web-фреймворки.
  • WebSocket.
  • WSGI-серверы. Ресурсы
  • Книги
  • Новостные рассылки
  • Подкасты
  • Веб-сайты

Панели администратора

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

  • ajenti — панель администратора, которую заслуживают ваши серверы.
  • django-grappelli — джазовый скин для интерфейса администратора Django.
  • django-jet — современный адаптивный шаблон для интерфейса администратора Django с улучшенной функциональностью.
  • django-suit — альтернативный интерфейс администратора Django (бесплатно только для некоммерческого использования).
  • django-xadmin — замена интерфейса администратора Django «drop-in», которая поставляется с множеством полезных функций.
  • flask-admin — простой и расширяемый фреймворк административного интерфейса для Flask.
  • flower — монитор в реальном времени и веб-администратор для Celery.
  • jet-bridge — фреймворк панели администратора для любого приложения с приятным пользовательским интерфейсом (например, Jet Django).
  • wooey — приложение Django, которое создаёт автоматические веб-интерфейсы для скриптов Python.

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

Реализация на 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.

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

  • asyncio — асинхронный ввод-вывод, цикл событий, сопрограммы и задачи (стандартная библиотека Python). — awesome-asyncio.
  • trio — дружественная библиотека для асинхронной параллельности и ввода-вывода.
  • Twisted — управляемый событиями сетевой движок.
  • uvloop — сверхбыстрый цикл событий asyncio.

Аудио

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

Аудио:

  • audioread — кроссплатформенное (GStreamer + Core Audio + MAD + FFmpeg) декодирование аудио.

  • dejavu — распознавание и определение отпечатков пальцев аудио.

  • kapre — препроцессоры аудио Keras.

  • librosa — библиотека Python для анализа аудио и музыки.

  • matchering — библиотека для автоматизированного эталонного мастеринга аудио.

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

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

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

  • TimeSide (https://github.com/Parisson/TimeSide) — открытый фреймворк для обработки аудио в вебе.

Метаданные

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

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

OAuth

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

Компилируйте программное обеспечение из исходного кода.

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

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

CMS

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

  • django-cms (https://www.django-cms.org/en/) — открытая корпоративная CMS на основе Django.
  • feincms (https://github.com/feincms/feincms) — одна из самых продвинутых систем управления контентом, построенная на Django.
  • indico (https://github.com/indico/indico) — многофункциональная система управления событиями, созданная в CERN.
  • Kotti (https://github.com/Kotti/Kotti) — высокоуровневая веб-инфраструктура на основе Python, построенная на Pyramid.
  • mezzanine (https://github.com/stephenmcd/mezzanine) — мощная, последовательная и гибкая платформа управления контентом.
  • plone (https://plone.org/) — CMS, построенная поверх сервера приложений с открытым исходным кодом Zope.
  • quokka (https://github.com/rochacbruno/quokka) — гибкая, расширяемая, небольшая CMS, работающая на Flask и MongoDB.
  • wagtail (https://wagtail.io/) — система управления контентом Django.

Кэширование

Библиотеки для кэширования данных. SimpleCV — открытая платформа для создания приложений компьютерного зрения.

Tesserocr — ещё одна простая оболочка, совместимая с Pillow, вокруг API Tesseract-OCR для оптического распознавания символов (OCR).

Параллелизм и параллельное выполнение

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

  • concurrent.futures (стандартная библиотека Python) — высокоуровневый интерфейс для асинхронного выполнения вызываемых объектов.
  • eventlet — асинхронный фреймворк с поддержкой WSGI.
  • gevent — основанная на сопрограммах сетевая библиотека Python, использующая greenlet.
  • multiprocessing (стандартная библиотека Python) — параллелизм на основе процессов.
  • scoop — масштабируемые параллельные операции в Python.
  • uvloop — сверхбыстрая реализация цикла событий asyncio поверх libuv.

Конфигурация

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

  • configobj — анализатор файлов INI с проверкой.
  • configparser (стандартная библиотека Python) — анализатор файлов INI.
  • hydra — фреймворк для элегантной настройки сложных приложений.
  • profig — конфигурация из нескольких форматов с преобразованием значений.
  • python-decouple — строгое разделение настроек и кода.

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

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

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

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

  • AWS Data Wrangler — Pandas на AWS.
  • Blaze — интерфейс NumPy и Pandas для больших данных.
  • Open Mining — бизнес-аналитика (BI) в интерфейсе Pandas.
  • Optimus — гибкие рабочие процессы Data Science, упрощённые с помощью PySpark.
  • Orange — интеллектуальный анализ данных, визуализация данных, анализ и машинное обучение через визуальное программирование или скрипты.
  • Pandas — библиотека, предоставляющая высокопроизводительные, простые в использовании структуры данных и инструменты анализа данных.

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

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

  • Cerberus — лёгкая и расширяемая библиотека проверки данных.
  • colander — проверка и десериализация данных, полученных через XML, JSON, сообщение формы HTML.
  • jsonschema — реализация JSON Schema для Python.
  • schema — библиотека для проверки структур данных Python.
  • Schematics — проверка структуры данных.
  • valideer — облегчённая расширяемая библиотека проверки и адаптации данных.
  • voluptuous — библиотека проверки данных Python.

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

Библиотеки для визуализации данных. Также см. awesome-javascript.

  • Altair — декларативная статистическая библиотека визуализации для Python. Python-библиотеки для работы с датами и временем

  • dateutil (https://github.com/dateutil/dateutil) — расширения для стандартного модуля datetime языка Python.

  • delorean (https://github.com/myusuf3/delorean/) — библиотека, которая помогает разобраться с неудобными аспектами работы с датой и временем.

  • maya (https://github.com/timofurrer/maya) — работа с датами для людей.

  • moment (https://github.com/zachwill/moment) — библиотека на Python для работы с датами и временем, вдохновлённая Moment.js.

  • Pendulum (https://github.com/sdispater/pendulum) — упрощённая работа с датами в Python.

  • PyTime (https://github.com/shinux/PyTime) — простой в использовании модуль на Python, который работает с датой, временем и датой и временем через строки.

  • pytz (https://launchpad.net/pytz) — определения часовых поясов мира, современные и исторические. Переносит базу данных tz в Python.

  • when.py (https://github.com/dirn/When.py) — предоставляет удобные функции для выполнения распространённых действий с датой и временем.

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

Фреймворки для нейронных сетей и глубокого обучения

  • caffe (https://github.com/BVLC/caffe) — быстрый открытый фреймворк для глубокого обучения.
  • keras (https://github.com/keras-team/keras) — высокоуровневая библиотека нейронных сетей, способная работать поверх TensorFlow или Theano.
  • mxnet (https://github.com/dmlc/mxnet) — фреймворк глубокого обучения, разработанный для эффективности и гибкости.
  • pytorch (https://github.com/pytorch/pytorch) — тензоры и динамические нейронные сети на Python с сильным ускорением на GPU.
  • SerpentAI (https://github.com/SerpentAI/SerpentAI) — игровой агентный фреймворк. Используйте любую видеоигру как песочницу для глубокого обучения.
  • tensorflow (https://github.com/tensorflow/tensorflow) — самый популярный фреймворк Deep Learning от Google.
  • Theano (https://github.com/Theano/Theano) — библиотека для быстрых численных вычислений. Инструменты DevOps

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

  • Управление конфигурацией
    • Ansible — радикально простая платформа автоматизации IT.
    • CloudInit — мультидистрибутивный пакет, который обрабатывает раннюю инициализацию облачного экземпляра.
    • OpenStack — открытое программное обеспечение для создания частных и публичных облаков.
    • Pyinfra — универсальные инструменты CLI и библиотеки Python для автоматизации инфраструктуры.
    • SaltStack — система автоматизации и управления инфраструктурой.
  • Развёртывание в стиле SSH
    • Cuisine — функциональность Chef для Fabric.
    • Fabric — простой инструмент на Python для удалённого выполнения и развёртывания.
    • Fabtools — инструменты для написания отличных файлов Fabric.
  • Управление процессами
    • Honcho — клон Python от Foreman для управления приложениями на основе Procfile.
    • Supervisor — система контроля процессов UNIX.
  • Мониторинг
    • Psutil — кроссплатформенный модуль утилит для процессов и системы.
  • Резервное копирование
    • BorgBackup — архиватор с дедупликацией, сжатием и шифрованием.
  • Прочее
    • Docker-compose — быстрые изолированные среды разработки с использованием Docker.

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

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

  • Пакетная обработка
    • Dask — гибкая библиотека параллельных вычислений для аналитических вычислений.
    • Luigi — модуль, помогающий создавать сложные конвейеры пакетных заданий.
    • MrJob — запуск заданий MapReduce на Hadoop или Amazon Web Services.
    • PySpark — API Python Apache Spark.
    • Ray — система для параллельного и распределённого Python, объединяющая экосистему машинного обучения.
  • Потоковая обработка
    • Faust — библиотека потоковой обработки, переносящая идеи Kafka Streams на Python.
    • Streamparse — выполнение кода Python против потоков данных в реальном времени через Apache Storm.

Распределение

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

  • Dh-virtualenv — сборка и распространение virtualenv как пакета Debian.
  • Nuitka — компиляция скриптов, модулей, пакетов в исполняемый файл или модуль расширения.
  • Py2app — замораживает скрипты Python (Mac OS X).
  • Py2exe — замораживает скрипты Python (Windows).
  • PyArmor — инструмент для запутывания скриптов Python, привязки запутанных скриптов к фиксированной машине или истечения срока действия запутанных скриптов.
  • PyInstaller — преобразует программы Python в автономные исполняемые файлы (кроссплатформенные).
  • Pynsist — инструмент для создания установщиков Windows, установщики включают сам Python.
  • Shiv — утилита командной строки для создания полностью автономных zipapps (PEP 441), но со всеми включёнными зависимостями.

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

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

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

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

  • pycco (https://github.com/pycco-docs/pycco) — генератор документации в стиле literate programming.

Downloader

Библиотеки для скачивания.

  • akshare (https://github.com/jindaxiang/akshare) — библиотека интерфейса финансовых данных, созданная для людей!
  • s3cmd (https://github.com/s3tools/s3cmd) — инструмент командной строки для управления Amazon S3 и CloudFront.
  • s4cmd (https://github.com/bloomreach/s4cmd) — суперинструмент командной строки S3, подходит для более высокой производительности.
  • you-get (https://you-get.org/) — загрузчик видео с YouTube/Youku/Niconico, написанный на Python 3.
  • youtube-dl (https://rg3.github.io/youtube-dl/) — небольшая программа командной строки для загрузки видео с YouTube.

E-commerce

Фреймворки и библиотеки для электронной коммерции и платежей.

Редактор плагинов и IDE

Emacs * elpy (https://github.com/jorgenschaefer/elpy) — среда разработки Python для Emacs. Sublime Text * anaconda (https://github.com/DamnWidget/anaconda) — Anaconda превращает ваш Sublime Text 3 в полноценную среду разработки Python. * SublimeJEDI (https://github.com/srusskih/SublimeJEDI) — плагин Sublime Text для потрясающей библиотеки автозаполнения Jedi. Vim * jedi-vim (https://github.com/davidhalter/jedi-vim) — привязки Vim для библиотеки автозавершения Jedi для Python. * python-mode (https://github.com/python-mode/python-mode) — все в одном плагине для превращения Vim в IDE Python. * YouCompleteMe (https://github.com/Valloric/YouCompleteMe) — включает движок завершения на основе Jedi для Python. Visual Studio * PTVS (https://github.com/Microsoft/PTVS) — инструменты Python для Visual Studio. Visual Studio Code * Python (https://marketplace.visualstudio.com/items?itemName=ms-python.python) — официальное расширение VSCode с богатой поддержкой Python. IDE * PyCharm (https://www.jetbrains.com/pycharm/) — коммерческая среда разработки Python от JetBrains. Доступна бесплатная версия сообщества. * spyder (https://github.com/spyder-ide/spyder) — открытая среда разработки Python.

Email

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

Почтовые серверы * modoboa (https://github.com/modoboa/modoboa) — платформа хостинга и управления почтой, включающая современный веб-интерфейс. * salmon (https://github.com/moggers87/salmon) — почтовый сервер Python. Клиенты * imbox (https://github.com/martinrusev/imbox) — Python IMAP для людей. * yagmail (https://github.com/kootenpv/yagmail) — ещё один клиент Gmail/SMTP. Другие * flanker (https://github.com/mailgun/flanker) — библиотека разбора адресов электронной почты и Mime. * mailer (https://github.com/marrow/mailer) — высокопроизводительная расширяемая структура доставки почты.

Интеграция корпоративных приложений

Платформы и инструменты для интеграции систем в корпоративной среде.

  • Zato (https://zato.io) — ESB, SOA, REST, API и облачная интеграция на Python.

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

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

Pyenv — простое управление версиями Python.

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

Файлы

Библиотеки для работы с файлами и определения MIME-типов:

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

Интерфейс внешних функций

Библиотеки, предоставляющие интерфейс внешних функций:

  • cffi — интерфейс внешних функций для вызова кода C из Python;
  • ctypes (стандартная библиотека Python) — интерфейс внешних функций для вызова кода C из Python;
  • PyCUDA — оболочка Python для CUDA API от Nvidia;
  • SWIG — упрощённый генератор оболочек и интерфейсов.

Формы

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

  • Deform — библиотека генерации HTML-форм на Python под влиянием библиотеки formish;
  • django-bootstrap3 — интеграция Bootstrap 3 с Django;
  • django-bootstrap4 — интеграция Bootstrap 4 с Django;
  • django-crispy-forms — приложение Django, позволяющее создавать красивые формы элегантным и DRY способом;
  • django-remote-forms — независимый от платформы сериализатор форм Django;
  • WTForms — гибкая библиотека проверки и рендеринга форм.

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

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

  • Coconut — вариант Python, созданный для простого, элегантного и Pythonic функционального программирования;
  • CyToolz — реализация Toolz на Cython: высокопроизводительные функциональные утилиты;
  • fn.py — функциональное программирование в Python: реализация недостающих функций для использования FP;
  • funcy — модные и практичные функциональные инструменты;
  • more-itertools — дополнительные процедуры для работы с итерациями помимо itertools;
  • returns — набор типобезопасных монад, трансформаторов и утилит композиции;
  • Toolz — коллекция функциональных утилит для итераторов, функций и словарей.

Разработка графического интерфейса

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

  • curses — встроенная обёртка для ncurses, используемая для создания терминальных приложений с GUI;
  • Eel — библиотека для создания простых автономных приложений HTML/JS GUI, похожих на Electron;
  • enaml — создание красивых пользовательских интерфейсов с декларативным синтаксисом, подобным QML;
  • Flexx — Flexx — это чистый Python-инструментарий для создания GUI, который использует веб-технологии для рендеринга;
  • 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 — де-факто стандартный пакет графического интерфейса пользователя Python.
  • Toga — собственный набор инструментов GUI для Python, ориентированный на операционную систему.
  • urwid — библиотека для создания терминальных приложений с графическим интерфейсом с мощной поддержкой виджетов, событий, насыщенных цветов и т. д.
  • wxPython — сочетание библиотеки классов C++ wxWidgets с Python.
  • DearPyGui — простой ускоренный графический интерфейс Python на GPU.

GraphQL

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

  • graphene — фреймворк GraphQL для Python.
  • tartiflette-aiohttp — обёртка на основе aiohttp для Tartiflette для предоставления API GraphQL через HTTP.
  • tartiflette-asgi — поддержка ASGI для движка Tartiflette GraphQL.
  • tartiflette — реализация SDL-first движка GraphQL для Python 3.6+ и asyncio.

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

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

  • Arcade — современный фреймворк Python для создания игр с привлекательной графикой и звуком.
  • Cocos2d — фреймворк для создания 2D-игр, демонстраций и других графических/интерактивных приложений.
  • Harfang3D — фреймворк Python для 3D, VR и разработки игр.
  • Panda3D — 3D-движок, разработанный Disney.
  • Pygame — набор модулей Python, предназначенных для написания игр.
  • PyOgre — привязки Python к рендер-движку Ogre 3D, могут использоваться для игр, симуляций, всего, что связано с 3D.
  • PyOpenGL — привязки ctypes Python для OpenGL и связанных API.
  • PySDL2 — основанная на ctypes оболочка для библиотеки SDL2.
  • RenPy — движок визуальных новелл.

Геолокация

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

  • django-countries — приложение Django, которое предоставляет поле страны для моделей и форм.
  • GeoDjango — географический веб-фреймворк мирового класса.
  • GeoIP — Python API для устаревшей базы данных MaxMind GeoIP.
  • geojson — привязки и утилиты Python для GeoJSON.
  • geopy — набор инструментов Python для геолокации.

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

Библиотеки для работы с 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.

XML датасэт (xmldataset) — простой анализ XML.

Иксмльтодикт (xmltodict) — работа с XML как с JSON.

HTTP-клиенты

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

  • г реквесты (grequests) — запросы + gevent для асинхронных HTTP-запросов.
  • хттп либ два (httplib2) — комплексная библиотека HTTP-клиента.
  • хттп икс (httpx) — клиент HTTP следующего поколения для Python.
  • реквесты (requests) — HTTP-запросы для людей.
  • трек (treq) — API запросов Python, построенный на основе HTTP-клиента Twisted.
  • урлиб три (urllib3) — библиотека HTTP с поточно-безопасным объединением соединений, поддержкой файлов и разумной функциональностью.

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

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

  • ино (ino) — набор инструментов командной строки для работы с Arduino.
  • клавиатура (keyboard) — перехватывает и имитирует глобальные события клавиатуры на Windows и Linux.
  • мышь (mouse) — перехватывает и имитирует глобальные события мыши на Windows и Linux.
  • Пинго (Pingo) — предоставляет унифицированный API для программирования таких устройств, как Raspberry Pi, pcDuino, Intel Galileo и т. д.
  • Пай юзер инпут (PyUserInput) — модуль для кроссплатформенного управления мышью и клавиатурой.
  • скапи (scapy) — блестящая библиотека манипуляции пакетами.

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

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

  • эйч мэп (hmap) — перестроение гистограммы изображения.
  • имг сик (imgSeek) — проект для поиска коллекции изображений с использованием визуального сходства.
  • нуд точка пи (nude.py) — обнаружение наготы.
  • паган (pagan) — создание ретро-идентификаторов (аватаров) на основе входной строки и хэша.
  • пиллоу (pillow) — дружественный форк PIL.
  • пайтон бар код (python-barcode) — создание штрихкодов в Python без дополнительных зависимостей.
  • пайграм (pygram) — фильтры для Instagram-подобных изображений.
  • ПиМаттинг (PyMatting) — библиотека для альфа-матирования.
  • пайтон кью эр код (python-qrcode) — генератор QR-кода на чистом Python.
  • пай вал (pywal) — инструмент, генерирующий цветовые схемы из изображений.
  • пай випс (pyvips) — быстрая библиотека обработки изображений с низкими потребностями в памяти.
  • квадс (Quads) — компьютерное искусство на основе квадродеревьев.
  • скикит имдж (scikit-image) — библиотека Python для научной обработки изображений.
  • тамбор (thumbor) — интеллектуальный сервис обработки изображений, позволяющий выполнять обрезку, изменение размера и переворачивание изображений по запросу.
  • уэнд (wand) — привязки Python для MagickWand, C API для ImageMagick.

Реализации

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

  • СиПитон (CLPython) — реализация языка программирования Python, написанная на Common Lisp.
  • Си Питон (CPython) — стандартная, наиболее широко используемая реализация языка программирования Python, написанная на C.
  • Сайтон (Cython) — оптимизирующий статический компилятор для Python.
  • Грампи (Grumpy) — больше компилятор, чем интерпретатор, так как... Платформы:
  • 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 от Стэнфордской группы NLP, поддерживающая более 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

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

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

Базы данных NoSQL

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

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

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

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

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

Разрешения

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

  • django-guardian (https://github.com/django-guardian/django-guardian) — реализация разрешений для каждого объекта для Django 1.2+.
  • django-rules (https://github.com/dfunckt/django-rules) — небольшое, но мощное приложение, предоставляющее разрешения на уровне объектов для Django без использования базы данных.

Процессы

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

  • delegator.py (https://github.com/amitt001/delegator.py) — подпроцессы для людей 2.0.
  • sarge (https://sarge.readthedocs.io/en/latest/) — ещё одна оболочка для subprocess.
  • sh (https://github.com/amoffat/sh) — полноценный Поиск
  • Библиотеки и ПО для индексации и выполнения поисковых запросов к данным.
    • django-haystack — модульный поиск для Django.
    • elasticsearch-dsl-py — официальный высокоуровневый клиент Elasticsearch на Python.
    • Elasticsearch-py — официальный низкоуровневый клиент Elasticsearch на Python.
    • pysolr — лёгкая оболочка Python для Apache Solr.
    • whoosh — быстрая библиотека поиска на чистом Python.

Сериализация

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

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

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

Оболочка

  • Оболочки на основе Python.
    • xonsh — кроссплатформенный язык оболочки и командная строка на базе Python, ориентированный на Unix.

Обработка конкретных форматов

  • Библиотеки для анализа и обработки определённых текстовых форматов.
    • General
      • 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 — инструмент для извлечения информации из PDF-документов.

PyPDF2 — библиотека, способная разделять, объединять и преобразовывать страницы PDF.

ReportLab — быстрое создание насыщенных PDF-документов с открытым исходным кодом.

Markdown

Mistune — самый быстрый и полнофункциональный чистый парсер Markdown на Python.

Python Markdown — реализация Markdown Джона Грубера на Python.

YAML

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

CSV

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

Архив

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

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

Генератор статических сайтов — это программное обеспечение, которое принимает текст и шаблоны в качестве входных данных и создаёт 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, основанный на unittest2.

pytest — зрелый полнофункциональный инструмент тестирования Python.

Robot Framework — универсальная среда автоматизации тестирования. Универсальная среда автоматизации тестирования.

  • unittest (Python standard library) — фреймворк для модульного тестирования.

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

  • green — чистый и красочный тестовый раннер;
  • mamba — основной инструмент тестирования для Python, созданный под знаменем BDD;
  • tox — автоматически собирает и тестирует дистрибутивы в нескольких версиях Python.

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

  • locust — инструмент для масштабируемого нагрузочного тестирования пользователей, написанный на Python;
  • PyAutoGUI — кроссплатформенный модуль автоматизации графического интерфейса пользователя для людей;
  • Schemathesis — инструмент автоматического тестирования свойств веб-приложений, созданных с использованием спецификаций Open API / Swagger;
  • Selenium — привязки Python для Selenium WebDriver;
  • sixpack — языконезависимый фреймворк A/B-тестирования;
  • splinter — открытый инструмент для тестирования веб-приложений.

Мок-фреймворки:

  • doublex — мощный фреймворк тестовых дублей для Python;
  • freezegun — путешествуйте во времени, издеваясь над модулем datetime;
  • httmock — библиотека для имитации запросов для Python 2.6+ и 3.2+;
  • httpretty — инструмент имитации HTTP-запросов для Python;
  • mock (Python standard library) — библиотека имитации и исправления;
  • mocket — фреймворк сокетов с поддержкой gevent/asyncio/SSL;
  • responses — служебная библиотека для имитации библиотеки запросов Python;
  • VCR.py — записывайте и воспроизводите HTTP-взаимодействия в тестах.

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

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

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

  • coverage — измерение покрытия кода.

Фейковые данные:

  • fake2db — генератор фейковых баз данных;
  • faker — пакет Python для генерации фейковых данных;
  • mimesis — библиотека Python, которая помогает генерировать фейковые данные;
  • radar — генерирует случайные даты и время.

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

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

Общие:

  • chardet — детектор кодировки символов, совместимый с Python 2/3;
  • difflib (Python standard library) — помощники для вычисления дельт;
  • ftfy — делает текст Unicode менее сломанным и более согласованным автоматически;
  • fuzzywuzzy — нечёткое сопоставление строк;
  • Levenshtein — быстрое вычисление расстояния Левенштейна и сходства строк;
  • pangu.py — параноидальное текстовое форматирование;
  • pyfiglet — реализация figlet на Python;
  • pypinyin — конвертирует китайские иероглифы в пиньинь;
  • textdistance — вычисляет расстояние между последовательностями с помощью 30+ алгоритмов. Python-библиотеки для транслитерации, генерации уникальных идентификаторов, парсинга, работы с API и другими задачами

unidecode — ASCII-транслитерация текста в Юникоде.

  • Slugify:
    • awesome-slugify — библиотека slugify на Python, которая может сохранять юникод.
    • python-slugify — библиотека slugify на Python, которая переводит юникод в ASCII.
    • unicode-slugify — slugifier, который генерирует юникод-слаги с Django в качестве зависимости.
  • Уникальные идентификаторы:
    • hashids — реализация hashids на Python.
    • shortuuid — генераторная библиотека для кратких, однозначных и безопасных UUID.
  • Парсинг:
    • ply — реализация инструментов lex и yacc для парсинга на Python.
    • pygments — универсальный синтаксический маркер.
    • pyparsing — общая структура для создания парсеров.
    • python-nameparser — парсинг человеческих имён на отдельные компоненты.
    • python-phonenumbers — парсинг, форматирование, хранение и проверка международных телефонных номеров.
    • python-user-agents — парсер пользовательских агентов браузеров.
    • sqlparse — непроверяющий SQL-парсер.

Библиотеки для доступа к сторонним сервисам через API (также см. List of Python API Wrappers and Libraries)

  • 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 Spreadsheets Python.
  • twython — оболочка Python для Twitter API.

Библиотеки для работы с 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 — пакетная библиотека активов для Django.
  • django-storages — коллекция пользовательских бэкендов хранения для Django.
  • fanstatic — пакеты, оптимизирует и обслуживает статические файловые зависимости как пакеты Python.
  • fileconveyor — демон для обнаружения и синхронизации файлов с CDN, S3 и FTP. В интернете есть много сайтов с информацией на эту тему. Посмотрите, что нашлось в поиске Ресурсы

Где найти обучающие ресурсы или новые библиотеки Python.

Книги

Веб-сайты

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

Подкасты

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

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

Я буду держать некоторые запросы на вытягивание открытыми, если я не уверен, являются ли эти библиотеки отличными. Вы можете проголосовать за них, добавив :+1:. Запросы на вытягивание будут объединены, когда их голоса достигнут 20.

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

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

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

Введение

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

Обновления

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

Участники

все

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

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