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
Системы управления контентом.
Кэширование
Библиотеки для кэширования данных. 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.
Библиотеки для отладки кода
- pdb-like Debugger:
- Tracing:
- Profiler:
- Другие:
Фреймворки для нейронных сетей и глубокого обучения
Программное обеспечение и библиотеки для 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
Библиотеки для скачивания.
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.
Лента новостей
Библиотеки для создания активности пользователей.
ORM
Библиотеки, реализующие объектно-реляционное отображение или методы отображения данных.
Реляционные базы данных
Базы данных NoSQL
Управление пакетами
Репозитории пакетов
Локальный сервер PyPI и прокси.
Тестирование на проникновение
Фреймворки и инструменты для тестирования на проникновение.
Разрешения
Библиотеки, которые разрешают или запрещают пользователям доступ к данным или функциональности.
Процессы
Библиотеки для запуска и взаимодействия с процессами ОС.
Сериализация
- Библиотеки для сериализации сложных типов данных.
- 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)
Библиотеки для работы с 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.
Книги
Веб-сайты
- Обучающие материалы:
- Библиотеки:
- Другие:
Информационные бюллетени
Подкасты
Вклад в проект
Ваши идеи всегда приветствуются! Пожалуйста, сначала ознакомьтесь с руководством по внесению вклада.
Я буду держать некоторые запросы на вытягивание открытыми, если я не уверен, являются ли эти библиотеки отличными. Вы можете проголосовать за них, добавив
. Запросы на вытягивание будут объединены, когда их голоса достигнут 20.
Если у вас есть какие-либо вопросы об этом субъективном списке, не стесняйтесь обращаться ко мне @VintaChen в Twitter или открыть вопрос на GitHub.
Опубликовать ( 0 )