Библиотеки — это готовые модули кода, которые используют разработчики, чтобы не писать один и тот же код несколько раз. В этой статье делимся подборкой самых полезных библиотек Python, рассказываем, как их установить, а также коротко описываем возможности.
- Стандартные библиотеки Python
- Как подключить библиотеку Python
- Библиотеки Python для веб-разработки
- HTTPX
- Celery
- Scrapy
- Dash
- Библиотеки Python для Machine Learning
- NumPy
- Pandas
- TensorFlow
- LightGBM
- Библиотеки Python для форматирования и очистки данных
- Dora
- Datacleaner
- Tabulate
- Scrubadub
- Библиотеки Python для визуализации данных
- Matplotlib
- Altair
- Bokeh
- Leather
- Библиотеки Python для создания Telegram-ботов
- Aiogram
- Python-telegram-bot
- Telebot
- Итог
К началу 2023 года Python остается одним из самых популярных языков программирования. Кроме простоты и легкости синтаксиса, он также отличается множеством подключаемых библиотек. В Python их более 137000, и практически каждый день это число растет.
Стандартные библиотеки Python
Стандартные библиотеки Python — это модули кода, которые доступны разработчикам без дополнительной установки
Например, библиотека math
в Python дает возможность выполнять самые разные математические функции: находить целое от вещественного числа (math.trunc(x))
, вычислять логарифмы (math.log(x[, base]))
или значение числа 𝜋 (math.pi)
. А библиотека os
Python необходима для работы с файловой системой компьютера и операционной системой.
Другие стандартные библиотеки — random
и datetime
. Первая дает инструменты для работы со случайными числами, а вторая незаменима для программ, которые оперируют временем и датами.
Стандартные библиотеки Python не требуют отдельного подключения. Чтобы использовать их функционал, достаточно просто в начале программы написать import
и название библиотеки.
import math
Как подключить библиотеку Python
Большинство других библиотек Python требуют отдельного подключения. Но сделать это не сложно. При использовании современной версии Python 2.7.9 и выше или 3.4 и выше необходимый для подключения библиотек инструмент — система управления библиотеками PIP
– устанавливается автоматически. Поэтому, чтобы установить библиотеку, вам достаточно сделать всего три шага:
- Войдите в командную строку.
- На Mac OS нажмите клавиши
Command
+Space
, введите в появившемся окне словоTerminal
и нажмитеEnter
/ - На Windows нажмите клавиши
Win
+R
, введите в появившемся окнеcmd
и нажмитеEnter
.
- На Mac OS нажмите клавиши
- Чтобы проверить, установлен ли у вас
PIP
, а заодно обновить его до последней версии, введите в командную строку следующие команды и нажмитеEnter
:- Для Mac OS:
pip install –U pip
- Для Windows:
python -m pip install -U pip
- Для Mac OS:
- Теперь просто введите
pip install
и название библиотеки. Например,pip install pandas
илиpip install theano
, а затем нажмитеEnter
. Файлы библиотеки автоматически загрузятся на компьютер, и она установится.
Узнать, какие библиотеки Python подойдут под ваши задачи, можно из этой статьи и с помощью агрегатора библиотек — pypi.org.
Разберем несколько библиотек для решения задач из разных сфер — веб-разработки, Data Science, дата-аналитики, визуализации данных и создания Telegram-ботов. Под описанием каждой библиотеки приведем код для установки.
Станьте профессиональным Python-разработчиком с нуля за 10 месяцев
На Хекслете есть профессия «Python-разработчик». Пройдите ее, чтобы изучить самый популярный язык программирования, освоить его фреймворки и создать большое портфолио с проектами на GitHub.
Библиотеки Python для веб-разработки
Среди веб-разработчиков на Python чаще работают бэкендеры — возможно, вы слышали про популярные у них фреймворки Django и Tornado. Еще на этом языке делают парсеры — программы для сбора данных с разных страниц в интернете.
HTTPX
HTTPX
— одна из главных библиотек для бэкенд-разработчиков. В отличие от другой популярной библиотеки — Requests
, HTTPX
позволяет работать не только с синхронными, но и с асинхронными HTTP-запросами. Эта библиотека также поддерживает современную версию протокола — HTTP2 и довольно проста в использовании.
Код для установки:
pip install httpx
Celery
Celery
нужна для работы с фоновыми задачами. Она позволяет выстраивать их в очередь и распределять выполнение между разными процессорами и устройствами. Это помогает уменьшить нагрузку на процессор и выполнять трудоемкие задачи без ущерба производительности. Больше всего Celery
полезна для разработчиков приложений.
pip install celery
Scrapy
Scrapy
– это библиотека, с которой удобно собирать данные для вашего приложения. Ее используют для написания поисковых роботов (веб-краулеров) и других алгоритмов для сбора данных. Она поддерживает асинхронность и поэтому позволяет быстро и эффективно решать самые разные задачи: от загрузки веб-страниц до их обработки и сохранения в различных форматах.
pip install scrapy
Dash
Dash
— это библиотека Python для работы над веб-приложениями. Ее отличает доступный инструментарий для создания графических интерфейсов (GUI), через которые пользователь может работать с данными. А еще в ней удобно делать приложения с интерактивными диаграммами, графиками, дашбордами.
pip install dash
Изучите Django и начните работать с базами данных с помощью ORM
Чтобы создавать сайты и веб-сервисы на Python, недостаточно знать сам язык. Нужно также понимать протокол HTTP, разбираться в веб-серверах и многом другом. Пройдите трек «Веб-разработка на Django» на Хекслете и найдите еще одно применение вашим навыкам Python-разработки.
Библиотеки Python для Machine Learning
Специалистам по машинному обучению в первую очередь важно обучать различные модели на данных и применять их для классификации, регрессии, кластеризации и решения других задач.
NumPy
NumPy
— библиотека, известная не только программистам, работающим с Python. Она позволяет хранить и редактировать данные в n-мерных массивах, что в некоторых случаях намного надежнее обычных списков в Python. В основе NumPy
— возможность выполнять очень сложные математические преобразования.
pip install numpy
Pandas
Pandas
— это основная библиотека Python для наиболее трудоемких задач в машинном обучении: подготовки и первичного анализа данных. С помощью Pandas
удобно фильтровать, объединять и группировать данные, а также строить модели интерпретации любого уровня сложности.
pip install pandas
TensorFlow
TensorFlow
— это библиотека популярная у разработчиков нейронных сетей. Она использует тензоры — многомерные массивы, которые дают возможность работать с несколькими сетями одновременно. Также TensorFlow
часто используется для распознавания изображений и рукописного текста.
pip install tensorflow
LightGBM
LightGBM
— библиотека, созданная сотрудниками Microsoft для работы в сфере машинного обучения. Ее ключевая особенность — быстрая реализация градиентного бустинга. Это такой принцип машинного обучения, который помогает разработчикам создавать новые алгоритмы, используя многоуровневые решения.
pip install lightgbm
Читайте также:
Как программировать на Python в Windows. Разбираем WSL
Библиотеки Python для форматирования и очистки данных
Среди аналитиков и научных работников на Python востребованы библиотеки для форматирования и очистки данных. Они помогают приводить данные к нужному виду, удалять пропуски и выбросы, объединять разные источники данных и так далее. Без таких библиотек работа с данными была бы гораздо сложнее и дольше.
Цифровых данных с каждым днем становится больше, и для упрощения их обработки нужны специальные инструменты. В Python есть множество библиотек, которые помогают приводить данные к нужному виду: удалять пропуски и выбросы, объединять разные источники данных.
Dora
Dora
— это библиотека для очистки и разведочного анализа данных, которая значительно упрощает решение задач Data Science. С ее помощью можно преобразовывать категориальные данные в порядковые, менять и удалять столбцы, выделять, извлекать и визуализировать признаки и решать много других задач.
pip install dora
Datacleaner
Datacleaner
нужна для автоматической очистки и подготовки данных к анализу. Она позволяет удалять строки без указанного значения, кодировать нечисловые переменные, работать с фреймами Pandas
и решать множество других задач. Datacleaner
проста в использовании, так что подойдет и начинающим пользователям.
pip install datacleaner
Tabulate
Tabulate
используется для создания таблиц с удобным дизайном. В ней есть множество функций форматирования для удобного вывода словарей, списков, двумерных массивов библиотек NumPy
и Pandas
. Кроме консоли Tabulate
поддерживает выгрузку данных и в различных веб-форматах — от HTML до Markdown Extra.
pip install tabulate
Scrubadub
Scrubadub
– это библиотека, особенно полезная для работы с конфиденциальными данными. Она предлагает множество гибких инструментов для удаления из массива данных имен, телефонов, URL-адресов, ID и других важных данных.
pip install scrubadub
Читайте также:
Базы данных в Python: как подключить PostgreSQL и что это такое
Библиотеки Python для визуализации данных
Библиотеки для визуализации данных позволяют создавать разнообразные графики, диаграммы, дашборды и другие изображения, которые помогают представить данные. С помощью таких библиотек можно сделать данные более привлекательными и понятными для аудитории.
Matplotlib
Matplotlib
– одна из главных библиотек для визуализации данных на Python. Многие другие библиотеки, например, Cartopy
или Seaborn
используют для работы с графиками элементы именно этой библиотеки. У Matplotlib
есть понятный объектно-ориентированный интерфейс и удобный API для встраивания в другие приложения.
pip install matplotlib
Altair
Altair
— это библиотека Python для статистической визуализации. Она носит «декларативный» характер: разработчикам не нужно писать объемный код для визуализации, а достаточно указать на связь с данными. Altair
не поддерживает 3D, но особенно полезен для создания составных и комплексных 2D-графиков.
pip install altair
Bokeh
Bokeh
– библиотека визуализации данных, оптимизированная под браузеры. Она поддерживает работу с веб-приложениями и JSON-объектами, а также оптимизирована под работу с данными в реальном времени. Особенно часто Bokeh
применяют для создания интерактивных визуализаций.
pip install bokeh
Leather
Leather
— это совсем новая библиотека визуализации данных для Python. Она наиболее полезна, когда задачу нужно решить как можно быстрее. В отличие от ряда подобных библиотек, Lether
способна взаимодействовать с широким разнообразием данных и выводить их через векторную графику.
pip install leather
Читайте также:
Вышел SQLAlchemy 2.0: что нового в культовой ORM для работы с базами данных на Python
Библиотеки Python для создания Telegram-ботов
Telegram-боты — то, что сделало Python особенно популярным на постсоветском пространстве. Боты используют для разных задач — от записи на публичные лекции до оказания помощи или написания текстовых RPG.
Aiogram
Aiogram
– это удобная и полностью асинхронная библиотека для создания ботов. Написанные с ее помощью боты отличаются высокой скоростью работы и способностью оперативно справляться с большим трафиком.
pip install aiogram
Python-telegram-bot
Python-telegram-bot
– одна из самых старых библиотек для создания ботов c синхронным режимом работы. Кроме реализации чистого API эта библиотека содержит ряд высокоуровневых классов, упрощающих разработку ботов.
pip install python-telegram-bot
Telebot
Telebot
– библиотека, которая в большей степени подойдет начинающим разработчикам. Она проста в использовании, требует меньших объемов кода и способна работать как синхронно, так и асинхронно.
pip install telebot
Итог
Мы рассмотрели 19 библиотек для Python, применяющихся в наиболее популярных областях программирования. Какую выбрать – зависит от ваших задач. Если вы опытный разработчик и не нашли в списке библиотеку, о которой точно должен знать каждый — расскажите о ней в комментариях.
Станьте профессиональным Python-разработчиком с нуля за 10 месяцев
На Хекслете есть профессия «Python-разработчик». Пройдите ее, чтобы изучить самый популярный язык программирования, освоить его фреймворки и создать большое портфолио с проектами на GitHub.
Данная статья является переводом. Ссылка на оригинал.
Tkinter
Оптимален для простых утилит.
Это легковесная библиотека со стандартным набором элементов управления: от простых кнопок до вкладок и индикаторов прогресса. Подходит для создания несложных приложений без дополнительных зависимостей. Работает на всех платформах, хотя интерфейс выглядит несколько устаревшим.
Разработан создателем Python Гвидо ван Россумом совместно со Стином Ламхолтом. Распространяется под лицензией Python Software Foundation, которая позволяет использовать библиотеку как в открытых, так и в проприетарных проектах.
Простое Hello-world приложение:
import tkinter as tk
window = tk.Tk()
window.title("Hello World")
def handle_button_press(event):
window.destroy()
button = tk.Button(text="My simple app.")
button.bind("", handle_button_press)
button.pack()
# Start the event loop.
window.mainloop()
- Туториал
- Документация
Статьи по теме
- 🐍 Python, Tkinter и SQL: разрабатываем приложение для создания словарей и запоминания иностранных слов
- 🐍 Самоучитель по Python для начинающих. Часть 20: Графический интерфейс на Tkinter
PyQt и PySide
Инструменты для создания профессиональных десктопных приложений.
PyQt и PySide — это обертки для фреймворка Qt, позволяющие создавать современные приложения для Windows, macOS, Linux и Android. Их главное преимущество — Qt Creator с визуальным редактором интерфейсов и обширная экосистема с документацией и поддержкой сообщества.
Qt предоставляет не просто инструменты для создания GUI, а полноценный фреймворк разработки. Помимо стандартных виджетов, он включает:
- Способ организации кода MVC
- Работу с базами данных
- Построение графиков и векторную графику
- Поддержку мультимедиа и звука
- Интерфейсы для работы с периферией
PyQt (1998) распространяется под GPL v3, что требует открытия исходного кода приложений или покупки коммерческой лицензии. PySide (2009) под LGPL позволяет использование в закрытых проектах без дополнительных платежей.
Установка: pip install pyqt6
или pip install pyside6
Hello-world приложение на PyQt6:
from PyQt6.QtWidgets import QMainWindow, QApplication, QPushButton
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Hello World")
button = QPushButton("My simple app.")
button.pressed.connect(self.close)
self.setCentralWidget(button)
self.show()
app = QApplication(sys.argv)
w = MainWindow()
app.exec()
Hello-world приложение на PySide6:
from PySide6.QtWidgets import QMainWindow, QApplication, QPushButton
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Hello World")
button = QPushButton("My simple app.")
button.pressed.connect(self.close)
self.setCentralWidget(button)
self.show()
app = QApplication(sys.argv)
w = MainWindow()
app.exec()
PySide6:
- Учебник по PySide6
- Сайт PySide
- Документация PySide
- Репозиторий на GitHub
PyQt6:
- Учебник по PyQt6
- Сайт PyQt
- Документация PyQt6
PyQt5:
- Книга по PyQt5
- Учебник по PyQt5
- Документация PyQt6
Qt Quick/QML в PyQt и PySide
Идеальное решение для встраиваемых систем и сенсорных интерфейсов.
PyQt и PySide предлагают два подхода к созданию интерфейсов:
- Qt Widgets — для классических десктопных приложений
- Qt Quick/QML — декларативный подход для современных интерфейсов
Архитектура приложения разделена на:
- Python-код для логики приложения
- QML-файлы для описания интерфейса
Такое разделение позволяет:
- Управлять интерфейсом из Python
- Обрабатывать события и анимации через JavaScript
Основные области применения
- Встраиваемые системы (Raspberry Pi)
- Промышленные контроллеры
- Бытовая электроника с сенсорным управлением
- Кастомизированные десктопные приложения и игры
Установка: pip install pyqt6
или pip install pyside6
Приложение Hello World на PyQt6 с использованием QML. Сохраните файл QML в той же папке, что и файл Python, и запустите его как обычно.
main.py:
import sys
from PyQt6.QtGui import QGuiApplication
from PyQt6.QtQml import QQmlApplicationEngine
app = QGuiApplication(sys.argv)
engine = QQmlApplicationEngine()
engine.quit.connect(app.quit)
engine.load('main.qml')
sys.exit(app.exec())
main.qml:
import QtQuick 2.15
import QtQuick.Controls 2.15
ApplicationWindow {
visible: true
width: 600
height: 500
title: "HelloApp"
Text {
anchors.centerIn: parent
text: "Hello World"
font.pixelSize: 24
}
}
PyQt:
- Урок по QML/PyQt5
- Урок по QML/PyQt6
- Веб-сайт PyQt
- Документация PyQt6
PySide:
- Урок по QML/PySide2
- Урок по QML/PySide6
- Веб-сайт PySide
- Документация PySide
- Репозиторий на GitHub
🐍🎓 Библиотека Python для собеса
Kivy
Идеальный фреймворк для мобильной разработки.
Ключевые особенности
- Написан преимущественно на чистом Python (в отличие от других GUI-фреймворков)
- Специализируется на сенсорных интерфейсах для Android и iOS
- Работает также на Windows, macOS и Linux
- Широкое сообщество и богатая база обучающих материалов
Возможности и компоненты
- Высокая гибкость настройки интерфейса
- Собственный язык разметки Kv для отделения дизайна от логики
- Альтернатива Pygame для создания игр
- KivyMD — дополнение с виджетами в стиле Material Design
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.core.window import Window
Window.size = (300, 200)
class MainWindow(BoxLayout):
def __init__(self):
super().__init__()
self.button = Button(text="Hello, World?")
self.button.bind(on_press=self.handle_button_clicked)
self.add_widget(button)
def handle_button_clicked(self, event):
self.button.text = "Hello, World!"
class MyApp(App):
def build(self):
self.title = "Hello, World!"
return MainWindow()
app = MyApp()
app.run()
Эквивалентное приложение, созданное с использованием декларативного языка Kv, показано ниже.
main.py:
import kivy
kivy.require('1.0.5')
from kivy.uix.floatlayout import FloatLayout
from kivy.app import App
from kivy.properties import ObjectProperty, StringProperty
class Controller(FloatLayout):
'''Create a controller that receives a custom widget from the kv lang file.
Add an action to be called from the kv lang file.
'''
def button_pressed(self):
self.button_wid.text = 'Hello, World!'
class ControllerApp(App):
def build(self):
return Controller()
if __name__ == '__main__':
ControllerApp().run()
controller.kv:
#:kivy 1.0
:
button_wid: custom_button
BoxLayout:
orientation: 'vertical'
padding: 20
Button:
id: custom_button
text: 'Hello, World?'
on_press: root.button_pressed()
Имя файла Kv должно совпадать с именем класса из основного приложения — здесь это Controller и controller.kv.
- Веб-сайт Kivy
- Документация Kivy
- Репозиторий на GitHub
- Документация KivyMD
- Документация языка Kv
🐍🧩 Библиотека задач по Python
BeeWare Toga
Создание кроссплатформенных приложений с нативным интерфейсом.
BeeWare — это экосистема инструментов для разработки приложений на Python с использованием нативных элементов интерфейса. Ваши программы будут выглядеть и работать как приложения операционной системы, используя системные виджеты и стандартное поведение.
Основные компоненты
- Toga — библиотека нативных виджетов для всех платформ
- Briefcase — инструмент для создания готовых пакетов приложений
- Нативные API — библиотеки для работы с системными функциями
Особенности
- Единый код для всех платформ
- Нативный внешний вид на каждой ОС
- Простота развертывания через Briefcase
- Открытый исходный код (лицензия BSD 3-Clause)
Установка: pip install toga
import toga
from toga.style import Pack
class HelloWorld(toga.App):
def startup(self):
layout = toga.Box()
self.button = toga.Button(
"Say Hello!",
on_press=self.say_hello,
style=Pack(margin=5),
)
layout.add(self.button)
self.main_window = toga.MainWindow(title="Hello world!")
self.main_window.content = layout
self.main_window.show()
def say_hello(self, source_widget):
# Receives the button that was clicked.
source_widget.text = "Hello, world!"
app = HelloWorld(formal_name="Hello, world!", app_id="hello.world")
app.main_loop()
- Урок по Toga
- Главная страница BeeWare
WxPython
Лучший выбор для простых настольных кроссплатформенных приложений.
WxPython представляет собой оболочку для популярного GUI-фреймворка WxWidgets. Реализован в виде набора Python-модулей расширения, которые обеспечивают работу с компонентами графического интерфейса известной кроссплатформенной библиотеки wxWidgets. Сама библиотека написана на C++.
WxPython использует системные элементы интерфейса на большинстве платформ, благодаря чему приложение естественно вписывается в интерфейс любой операционной системы.
Как WxWidgets, так и WxPython распространяются под лицензией WxWindows Library License — свободной лицензией, схожей с LGPL (с особыми условиями). Эта лицензия позволяет использовать и модифицировать WxPython как в проприетарных, так и в открытых проектах.
Установка: pip install wxpython
import wx
class MainWindow(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, title=title, size=(200, -1))
self.button = wx.Button(self, label="My simple app.")
self.Bind(
wx.EVT_BUTTON, self.handle_button_click, self.button
)
self.sizer = wx.BoxSizer(wx.VERTICAL)
self.sizer.Add(self.button)
self.SetSizer(self.sizer)
self.SetAutoLayout(True)
self.Show()
def handle_button_click(self, event):
self.Close()
app = wx.App(False)
w = MainWindow(None, "Hello World")
app.MainLoop()
- Веб-сайт WxPython
- Вики WxPython
- Репозиторий на GitHub
PyGObject (GTK+)
Оптимальный выбор для разработки приложений под GNOME.
Если вы планируете создать приложение, которое будет органично работать в GNOME и других GTK-окружениях Linux, PyGObject станет для вас оптимальным решением. Это библиотека, обеспечивающая связь Python с инструментарием GTK+. С ее помощью можно создавать современные адаптивные интерфейсы, соответствующие рекомендациям по проектированию интерфейсов GNOME (HIG).
PyGObject позволяет разрабатывать универсальные приложения, способные работать как на компьютерах, так и на мобильных устройствах с Linux на борту. Разработчикам доступны как официальные, так и сторонние инструменты от сообщества. Среди них — GNOME Builder и Glade (визуальный редактор для быстрого создания графических интерфейсов).
Библиотека распространяется под лицензией LGPL версии 2.1. Хотя эта версия отличается от текущей LGPL 3.0, она по-прежнему разрешает использование в проприетарном ПО, но требует открытия исходного кода при модификации самой библиотеки.
Установка:
- Ubuntu/Debian:
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-4.0
- macOS:
brew install pygobject4 gtk+4
import gi
gi.require_version("Gtk", "4.0")
from gi.repository import Gtk
def on_activate(app):
win = Gtk.ApplicationWindow(application=app)
btn = Gtk.Button(label="Hello, World!")
btn.connect('clicked', lambda x: win.close())
win.set_child(btn)
win.present()
app = Gtk.Application(application_id='org.gtk.Example')
app.connect('activate', on_activate)
app.run(None)
- Главная страница проекта PyGObject
- Документация PyGObject
- Репозиторий на GitLab
Remi
Лучшее решение для создания веб-интерфейсов.
Remi (аббревиатура от REMote Interface – «удаленный интерфейс») – идеальное решение для приложений, работающих на серверах и системах без графического интерфейса, таких как Raspberry Pi. В отличие от большинства других фреймворков для создания GUI, Remi отображается в браузере благодаря встроенному веб-серверу. Это делает его по-настоящему кроссплатформенным решением, одинаково хорошо работающим на любой платформе.
Такая архитектура позволяет получить доступ к интерфейсу приложения с любого устройства с браузером в пределах одной сети. И хотя есть возможность ограничить доступ с помощью логина и пароля, по умолчанию механизмы безопасности не включены.
Важно понимать: Remi создан для разработки классических приложений с графическим интерфейсом, а не для создания веб-сайтов. При одновременном подключении нескольких пользователей они будут работать с одним и тем же интерфейсом – словно приложением пользуется один пользователь.
Для работы с Remi достаточно базовых знаний Python – код автоматически преобразуется в HTML. В комплект входит визуальный редактор с поддержкой перетаскивания элементов (drag-and-drop), похожий на Qt Designer для PyQt и PySide.
Remi распространяется под лицензией Apache License v2.0 – это «разрешительная» лицензия, схожая с MIT License. Она позволяет использовать фреймворк как в открытых, так и в проприетарных проектах, включая возможность вносить закрытые изменения в сам фреймворк. Основные требования лицензии касаются сохранения уведомлений об авторских правах и условий лицензирования.
import remi.gui as gui
from remi import start, App
class MyApp(App):
def main(self):
container = gui.VBox(width=120, height=100)
# Create a button, with the label "Hello, World!"
self.bt = gui.Button('Hello, World?')
self.bt.onclick.do(self.on_button_pressed)
# Add the button to the container, and return it.
container.append(self.bt)
return container
def on_button_pressed(self, widget):
self.bt.set_text('Hello, World!')
start(MyApp)
- Репозиторий на GitHub
- Reddit (r/RemiGUI)
Best-of Python
🏆 A ranked list of awesome Python open-source libraries & tools. Updated weekly.
This curated list contains 390 awesome open-source projects with a total of 1.8M stars grouped into 28 categories. All projects are ranked by a project-quality score, which is calculated based on various metrics automatically collected from GitHub and different package managers. If you like to add or update projects, feel free to open an issue, submit a pull request, or directly edit the projects.yaml. Contributions are very welcome!
🧙♂️ Discover other best-of lists or create your own.
📫 Subscribe to our newsletter for updates and trending projects.
Contents
- Data Serialization 16 projects
- Data Containers & Dataframes 30 projects
- Data Structures 15 projects
- Data Validation 15 projects
- Algorithms & Design Patterns 4 projects
- Date & Time Utilities 9 projects
- File & Path Utilities 10 projects
- Compatiblity 7 projects
- Cryptography 7 projects
- Infrastructure & DevOps 20 projects
- Process Utilities 4 projects
- Asynchronous Programming 7 projects
- Configuration 9 projects
- CLI Development 19 projects
- Development Tools 1 projects
- Data Caching 6 projects
- GUI Development 10 projects
- Computer & Machine Vision 2 projects
- Machine Learning & Data Engineering 1 projects
- Text Data 12 projects
- Web Development 1 projects
- Database Clients 64 projects
- Data Loading & Extraction 30 projects
- Data Pipelines & Streaming 43 projects
- File Formats 3 projects
- Code Inspection 4 projects
- General Utilities 15 projects
- Python Implementations 6 projects
- Others 21 projects
Explanation
- 🥇🥈🥉 Combined project-quality score
- ⭐️ Star count from GitHub
- 🐣 New project (less than 6 months old)
- 💤 Inactive project (6 months no activity)
- 💀 Dead project (12 months no activity)
- 📈📉 Project is trending up or down
- ➕ Project was recently added
- ❗️ Warning (e.g. missing/risky license)
- 👨💻 Contributors count from GitHub
- 🔀 Fork count from GitHub
- 📋 Issue count from GitHub
- ⏱️ Last update timestamp on package manager
- 📥 Download count from package manager
- 📦 Number of dependent projects
- Pandas related project
Data Serialization
protobuf (🥇52 · ⭐ 64K · 📉) — Protocol Buffers — Googles data interchange format. BSD-3
-
GitHub (👨💻 1.2K · 🔀 15K · 📥 44M · 📦 650K · 📋 6.2K — 6% open · ⏱️ 06.06.2024):
git clone https://github.com/protocolbuffers/protobuf
-
PyPi (📥 190M / month · 📦 6.8K · ⏱️ 23.05.2024):
-
Conda (📥 18M · ⏱️ 06.03.2024):
conda install -c conda-forge protobuf
-
npm (📥 7.6M / month · 📦 2.9K · ⏱️ 10.10.2022):
npm install google-protobuf
flatbuffers (🥇43 · ⭐ 22K) — FlatBuffers: Memory Efficient Serialization Library. Apache-2
-
GitHub (👨💻 680 · 🔀 3.2K · 📥 460K · 📦 110K · 📋 2.4K — 6% open · ⏱️ 03.06.2024):
git clone https://github.com/google/flatbuffers
-
PyPi (📥 19M / month · 📦 410 · ⏱️ 26.03.2024):
-
Conda (📥 1.1M · ⏱️ 26.03.2024):
conda install -c conda-forge flatbuffers
-
npm (📥 1.4M / month · 📦 230 · ⏱️ 26.03.2024):
marshmallow (🥈40 · ⭐ 6.9K) — A lightweight library for converting complex objects to and from.. MIT
-
GitHub (👨💻 210 · 🔀 620 · 📦 140K · 📋 1.2K — 14% open · ⏱️ 06.06.2024):
git clone https://github.com/marshmallow-code/marshmallow
-
PyPi (📥 49M / month · 📦 2.2K · ⏱️ 06.06.2024):
-
Conda (📥 2.5M · ⏱️ 06.06.2024):
conda install -c conda-forge marshmallow
orjson (🥈38 · ⭐ 5.7K) — Fast, correct Python JSON library supporting dataclasses, datetimes,.. Apache-2
-
GitHub (👨💻 22 · 🔀 200 · 📦 98K · 📋 400 — 2% open · ⏱️ 03.05.2024):
git clone https://github.com/ijl/orjson
-
PyPi (📥 32M / month · 📦 2.4K · ⏱️ 03.05.2024):
-
Conda (📥 1.3M · ⏱️ 03.05.2024):
conda install -c conda-forge orjson
dill (🥈37 · ⭐ 2.2K) — serialize all of Python. BSD-3
-
GitHub (👨💻 45 · 🔀 170 · 📥 290K · 📦 160K · 📋 520 — 35% open · ⏱️ 24.05.2024):
git clone https://github.com/uqfoundation/dill
-
PyPi (📥 60M / month · 📦 2.9K · ⏱️ 27.01.2024):
-
Conda (📥 6.8M · ⏱️ 28.01.2024):
conda install -c conda-forge dill
jsonpickle (🥈36 · ⭐ 1.2K) — Python library for serializing any arbitrary object graph into.. BSD-3
-
GitHub (👨💻 76 · 🔀 170 · 📋 320 — 22% open · ⏱️ 02.06.2024):
git clone https://github.com/jsonpickle/jsonpickle
-
PyPi (📥 12M / month · 📦 1.2K · ⏱️ 11.04.2024):
-
Conda (📥 1.7M · ⏱️ 11.04.2024):
conda install -c conda-forge jsonpickle
msgpack (🥈35 · ⭐ 1.9K) — MessagePack serializer implementation for Python msgpack.org[Python]. Apache-2
-
GitHub (👨💻 79 · 🔀 220 · 📥 1.3K · 📋 290 — 1% open · ⏱️ 07.05.2024):
git clone https://github.com/msgpack/msgpack-python
-
PyPi (📥 71M / month · 📦 1.9K · ⏱️ 07.05.2024):
-
Conda (📥 16M · ⏱️ 14.05.2024):
conda install -c conda-forge msgpack-python
ultrajson (🥉34 · ⭐ 4.3K) — Ultra fast JSON decoder and encoder written in C with Python bindings. BSD-3
-
GitHub (👨💻 88 · 🔀 360 · 📋 350 — 8% open · ⏱️ 01.06.2024):
git clone https://github.com/ultrajson/ultrajson
-
PyPi (📥 21M / month · 📦 2.2K · ⏱️ 14.05.2024):
-
Conda (📥 4.9M · ⏱️ 15.05.2024):
conda install -c conda-forge ujson
simplejson (🥉34 · ⭐ 1.6K) — simplejson is a simple, fast, extensible JSON encoder/decoder for.. MIT
-
GitHub (👨💻 43 · 🔀 330 · 📥 6.5K · 📦 130K · 📋 200 — 10% open · ⏱️ 03.12.2023):
git clone https://github.com/simplejson/simplejson
-
PyPi (📥 21M / month · 📦 2.5K · ⏱️ 06.10.2023):
-
Conda (📥 3.3M · ⏱️ 15.02.2024):
conda install -c conda-forge simplejson
cloudpickle (🥉32 · ⭐ 1.6K) — Extended pickling support for Python objects. BSD-3
-
GitHub (👨💻 59 · 🔀 160 · 📥 27 · 📋 260 — 34% open · ⏱️ 08.04.2024):
git clone https://github.com/cloudpipe/cloudpickle
-
PyPi (📥 44M / month · 📦 1.6K · ⏱️ 16.10.2023):
-
Conda (📥 17M · ⏱️ 16.10.2023):
conda install -c conda-forge cloudpickle
python-rapidjson (🥉29 · ⭐ 490) — Python wrapper around rapidjson. MIT
-
GitHub (👨💻 23 · 🔀 47 · 📦 5.5K · 📋 110 — 12% open · ⏱️ 18.05.2024):
git clone https://github.com/python-rapidjson/python-rapidjson
-
PyPi (📥 2M / month · 📦 240 · ⏱️ 18.05.2024):
pip install python-rapidjson
-
Conda (📥 1.7M · ⏱️ 18.05.2024):
conda install -c conda-forge python-rapidjson
srsly (🥉28 · ⭐ 420) — Modern high-performance serialization utilities for Python (JSON,.. MIT
-
GitHub (👨💻 15 · 🔀 30 · 📦 45K · 📋 30 — 13% open · ⏱️ 11.04.2024):
git clone https://github.com/explosion/srsly
-
PyPi (📥 11M / month · 📦 170 · ⏱️ 22.09.2023):
-
Conda (📥 1.5M · ⏱️ 25.09.2023):
conda install -c conda-forge srsly
pysimdjson (🥉26 · ⭐ 630) — Python bindings for the simdjson project. MIT
-
GitHub (👨💻 14 · 🔀 52 · 📦 1.3K · 📋 87 — 10% open · ⏱️ 05.02.2024):
git clone https://github.com/TkTech/pysimdjson
-
PyPi (📥 1.1M / month · 📦 49 · ⏱️ 06.02.2024):
-
Conda (📥 98K · ⏱️ 06.02.2024):
conda install -c conda-forge pysimdjson
hickle (🥉26 · ⭐ 480) — a HDF5-based python pickle replacement. MIT
-
GitHub (👨💻 26 · 🔀 71 · 📦 760 · 📋 110 — 5% open · ⏱️ 31.03.2024):
git clone https://github.com/telegraphic/hickle
-
PyPi (📥 49K / month · 📦 39 · ⏱️ 30.03.2024):
-
Conda (📥 25K · ⏱️ 14.02.2024):
conda install -c conda-forge hickle
rtoml (🥉22 · ⭐ 300) — A fast TOML library for python implemented in rust. MIT
-
GitHub (👨💻 15 · 🔀 30 · 📦 420 · 📋 26 — 57% open · ⏱️ 26.01.2024):
git clone https://github.com/samuelcolvin/rtoml
-
PyPi (📥 460K / month · 📦 110 · ⏱️ 21.12.2023):
Show 1 hidden projects…
- pyasn1 (🥈35 · ⭐ 240 · 💀) — Generic ASN.1 library for Python.
BSD-2
Data Containers & Dataframes
General-purpose data containers as well as utilities & extensions for pandas.
pandas (🥇54 · ⭐ 42K) — Flexible and powerful data analysis / manipulation library for.. BSD-3
-
GitHub (👨💻 3.6K · 🔀 17K · 📥 270K · 📦 1.7M · 📋 27K — 14% open · ⏱️ 05.06.2024):
git clone https://github.com/pandas-dev/pandas
-
PyPi (📥 230M / month · 📦 67K · ⏱️ 10.04.2024):
-
Conda (📥 52M · ⏱️ 16.05.2024):
conda install -c conda-forge pandas
polars (🥇44 · ⭐ 27K · 📈) — Dataframes powered by a multithreaded, vectorized query engine, written.. MIT
-
GitHub (👨💻 420 · 🔀 1.6K · 📥 980 · 📦 9.8K · 📋 7.7K — 21% open · ⏱️ 06.06.2024):
git clone https://github.com/pola-rs/polars
-
PyPi (📥 7.6M / month · 📦 980 · ⏱️ 01.06.2024):
h5py (🥈41 · ⭐ 2K) — HDF5 for Python — The h5py package is a Pythonic interface to the HDF5.. BSD-3
-
GitHub (👨💻 200 · 🔀 520 · 📥 3.4K · 📦 270K · 📋 1.5K — 18% open · ⏱️ 06.06.2024):
git clone https://github.com/h5py/h5py
-
PyPi (📥 22M / month · 📦 6.7K · ⏱️ 10.04.2024):
-
Conda (📥 16M · ⏱️ 06.06.2024):
conda install -c conda-forge h5py
xarray (🥈40 · ⭐ 3.4K) — N-D labeled arrays and datasets in Python. Apache-2
-
GitHub (👨💻 500 · 🔀 1K · 📦 27K · 📋 4.3K — 26% open · ⏱️ 04.06.2024):
git clone https://github.com/pydata/xarray
-
PyPi (📥 5.3M / month · 📦 3K · ⏱️ 13.05.2024):
-
Conda (📥 10M · ⏱️ 13.05.2024):
conda install -c conda-forge xarray
Modin (🥈37 · ⭐ 9.5K) — Modin: Scale your Pandas workflows by changing a single line of.. Apache-2
-
GitHub (👨💻 130 · 🔀 640 · 📥 200K · 📦 1.5K · 📋 4.2K — 16% open · ⏱️ 03.06.2024):
git clone https://github.com/modin-project/modin
-
PyPi (📥 1.4M / month · 📦 47 · ⏱️ 15.05.2024):
-
Conda (📥 330K · ⏱️ 15.05.2024):
conda install -c conda-forge modin-core
numexpr (🥈37 · ⭐ 2.2K) — Fast numerical array expression evaluator for Python, NumPy, Pandas,.. MIT
-
GitHub (👨💻 78 · 🔀 200 · 📥 640 · 📦 76K · 📋 380 — 1% open · ⏱️ 31.05.2024):
git clone https://github.com/pydata/numexpr
-
PyPi (📥 3.9M / month · 📦 860 · ⏱️ 02.04.2024):
-
Conda (📥 8.2M · ⏱️ 27.05.2024):
conda install -c conda-forge numexpr
zarr (🥈36 · ⭐ 1.4K) — An implementation of chunked, compressed, N-dimensional arrays for Python. MIT
-
GitHub (👨💻 98 · 🔀 260 · 📦 3.9K · 📋 770 — 42% open · ⏱️ 04.06.2024):
git clone https://github.com/zarr-developers/zarr-python
-
PyPi (📥 610K / month · 📦 900 · ⏱️ 26.05.2024):
-
Conda (📥 3.1M · ⏱️ 27.05.2024):
conda install -c conda-forge zarr
PyTables (🥈34 · ⭐ 1.3K) — A Python package to manage extremely large amounts of data. BSD-3
-
GitHub (👨💻 140 · 🔀 270 · 📥 190 · 📋 730 — 23% open · ⏱️ 06.06.2024):
git clone https://github.com/PyTables/PyTables
-
PyPi (📥 970K / month · 📦 1.4K · ⏱️ 27.11.2023):
-
Conda (📥 7.3M · ⏱️ 11.04.2024):
conda install -c conda-forge pytables
pandera (🥈33 · ⭐ 3.1K) — A light-weight, flexible, and expressive statistical data testing.. MIT
-
GitHub (👨💻 130 · 🔀 280 · 📦 1.6K · 📋 800 — 40% open · ⏱️ 31.05.2024):
git clone https://github.com/pandera-dev/pandera
-
PyPi (📥 1.9M / month · 📦 180 · ⏱️ 14.05.2024):
-
Conda (📥 40K · ⏱️ 08.05.2024):
conda install -c conda-forge pandera-core
Bottleneck (🥈33 · ⭐ 1K) — Fast NumPy array functions written in C. BSD-2
-
GitHub (👨💻 32 · 🔀 99 · 📦 48K · 📋 240 — 20% open · ⏱️ 23.05.2024):
git clone https://github.com/pydata/bottleneck
-
PyPi (📥 1M / month · 📦 410 · ⏱️ 23.05.2024):
-
Conda (📥 4.1M · ⏱️ 26.02.2024):
conda install -c conda-forge bottleneck
TinyDB (🥈32 · ⭐ 6.6K · 💤) — TinyDB is a lightweight document oriented database optimized for your.. MIT
-
GitHub (👨💻 82 · 🔀 520 · 📦 13K · 📋 320 — 8% open · ⏱️ 24.07.2023):
git clone https://github.com/msiemens/tinydb
-
PyPi (📥 650K / month · 📦 650 · ⏱️ 12.06.2023):
-
Conda (📥 400K · ⏱️ 12.06.2023):
conda install -c conda-forge tinydb
docarray (🥈32 · ⭐ 2.8K) — Represent, send, store and search multimodal data. Apache-2
-
GitHub (👨💻 74 · 🔀 220 · 📦 4.4K · 📋 640 — 10% open · ⏱️ 06.06.2024):
git clone https://github.com/jina-ai/docarray
-
PyPi (📥 86K / month · 📦 68 · ⏱️ 22.12.2023):
-
Conda (📥 140K · ⏱️ 18.06.2023):
conda install -c conda-forge docarray
Koalas (🥉31 · ⭐ 3.3K · 💤) — Koalas: pandas API on Apache Spark. Apache-2
spark
-
GitHub (👨💻 51 · 🔀 360 · 📥 1K · 📦 340 · 📋 600 — 18% open · ⏱️ 21.09.2023):
git clone https://github.com/databricks/koalas
-
PyPi (📥 2.3M / month · 📦 31 · ⏱️ 19.10.2021):
-
Conda (📥 340K · ⏱️ 16.06.2023):
conda install -c conda-forge koalas
datasketch (🥉31 · ⭐ 2.4K) — MinHash, LSH, LSH Forest, Weighted MinHash, HyperLogLog,.. MIT
-
GitHub (👨💻 30 · 🔀 290 · 📥 27 · 📦 1.3K · 📋 170 — 30% open · ⏱️ 26.03.2024):
git clone https://github.com/ekzhu/datasketch
-
PyPi (📥 2.8M / month · 📦 44 · ⏱️ 04.06.2024):
Vaex (🥉30 · ⭐ 8.2K · 💤) — Out-of-Core hybrid Apache Arrow/NumPy DataFrame for Python, ML,.. MIT
-
GitHub (👨💻 72 · 🔀 590 · 📥 280 · 📦 760 · 📋 1.3K — 40% open · ⏱️ 21.07.2023):
git clone https://github.com/vaexio/vaex
-
PyPi (📥 22K / month · 📦 51 · ⏱️ 21.07.2023):
-
Conda (📥 190K · ⏱️ 16.06.2023):
conda install -c conda-forge vaex
datatable (🥉28 · ⭐ 1.8K) — A Python package for manipulating 2-dimensional tabular data.. MPL-2.0
-
GitHub (👨💻 37 · 🔀 150 · 📥 2.4K · 📋 1.5K — 11% open · ⏱️ 01.12.2023):
git clone https://github.com/h2oai/datatable
-
PyPi (📥 53K / month · 📦 45 · ⏱️ 01.12.2023):
-
Conda (📥 26K · ⏱️ 16.06.2023):
conda install -c conda-forge datatable
Pandaral·lel (🥉27 · ⭐ 3.6K) — A simple and efficient tool to parallelize Pandas.. BSD-3
jupyter
-
GitHub (👨💻 26 · 🔀 200 · 📋 220 — 40% open · ⏱️ 16.02.2024):
git clone https://github.com/nalepae/pandarallel
-
PyPi (📥 420K / month · 📦 91 · ⏱️ 02.05.2023):
-
Conda (📥 93K · ⏱️ 16.06.2023):
conda install -c conda-forge pandarallel
StaticFrame (🥉27 · ⭐ 410) — Immutable and statically-typeable DataFrames with runtime type and.. MIT
-
GitHub (👨💻 23 · 🔀 33 · 📦 22 · 📋 630 — 7% open · ⏱️ 21.05.2024):
git clone https://github.com/InvestmentSystems/static-frame
-
PyPi (📥 6.1K / month · 📦 4 · ⏱️ 21.05.2024):
-
Conda (📥 340K · ⏱️ 21.05.2024):
conda install -c conda-forge static-frame
swifter (🥉26 · ⭐ 2.5K) — A package which efficiently applies any function to a pandas.. MIT
-
GitHub (👨💻 18 · 🔀 100 · 📦 1.3K · 📋 150 — 13% open · ⏱️ 14.03.2024):
git clone https://github.com/jmcarpenter2/swifter
-
PyPi (📥 720K / month · 📦 52 · ⏱️ 31.07.2023):
-
Conda (📥 340K · ⏱️ 31.07.2023):
conda install -c conda-forge swifter
Pandas Summary (🥉24 · ⭐ 490) — Engine for ML/Data tracking, visualization,.. Apache-2
-
GitHub (👨💻 99 · 🔀 43 · 📋 14 — 42% open · ⏱️ 16.05.2024):
git clone https://github.com/polyaxon/datatile
-
PyPi (📥 87K / month · 📦 21 · ⏱️ 25.11.2021):
pip install pandas-summary
Show 10 hidden projects…
Data Structures
pyrsistent (🥇35 · ⭐ 2K · 💤) — Persistent/Immutable/Functional data structures for Python. MIT
-
GitHub (👨💻 73 · 🔀 140 · 📦 340K · 📋 180 — 14% open · ⏱️ 25.10.2023):
git clone https://github.com/tobgu/pyrsistent
-
PyPi (📥 41M / month · 📦 1K · ⏱️ 25.10.2023):
-
Conda (📥 21M · ⏱️ 31.10.2023):
conda install -c conda-forge pyrsistent
python-sortedcontainers (🥇32 · ⭐ 3.3K) — Python Sorted Container Types: Sorted List, Sorted.. Apache-2
-
GitHub (👨💻 24 · 🔀 200 · 📋 190 — 12% open · ⏱️ 01.03.2024):
git clone https://github.com/grantjenks/python-sortedcontainers
-
PyPi (📥 59M / month · 📦 1.2K · ⏱️ 16.05.2021):
pip install sortedcontainers
-
Conda (📥 13M · ⏱️ 16.06.2023):
conda install -c conda-forge sortedcontainers
bidict (🥇32 · ⭐ 1.4K) — The bidirectional mapping library for Python. MPL-2.0
-
GitHub (👨💻 15 · 🔀 63 · 📥 53 · 📦 26K · 📋 62 — 3% open · ⏱️ 04.05.2024):
git clone https://github.com/jab/bidict
-
PyPi (📥 3.9M / month · 📦 440 · ⏱️ 18.02.2024):
-
Conda (📥 410K · ⏱️ 18.02.2024):
conda install -c conda-forge bidict
multidict (🥇32 · ⭐ 400) — The multidict implementation. Apache-2
-
GitHub (👨💻 54 · 🔀 95 · 📥 6.8K · 📋 160 — 14% open · ⏱️ 19.04.2024):
git clone https://github.com/aio-libs/multidict
-
PyPi (📥 110M / month · 📦 1.3K · ⏱️ 01.02.2024):
-
Conda (📥 13M · ⏱️ 04.02.2024):
conda install -c conda-forge multidict
anytree (🥈31 · ⭐ 910 · 💤) — Python tree data library. Apache-2
-
GitHub (👨💻 29 · 🔀 130 · 📦 19K · 📋 190 — 14% open · ⏱️ 16.11.2023):
git clone https://github.com/c0fec0de/anytree
-
PyPi (📥 1.5M / month · 📦 480 · ⏱️ 16.11.2023):
-
Conda (📥 40K · ⏱️ 16.06.2023):
conda install -c conda-forge anytree
python-benedict (🥈29 · ⭐ 1.4K) — dict subclass with keylist/keypath support, built-in I/O.. MIT
-
GitHub (👨💻 7 · 🔀 48 · 📦 1.7K · 📋 110 — 17% open · ⏱️ 15.05.2024):
git clone https://github.com/fabiocaccamo/python-benedict
-
PyPi (📥 620K / month · 📦 67 · ⏱️ 04.03.2024):
pip install python-benedict
-
Conda (📥 160K · ⏱️ 05.03.2024):
conda install -c conda-forge python-benedict
glom (🥉28 · ⭐ 1.8K) — Pythons nested data operator (and CLI), for all your declarative.. BSD-3
-
GitHub (👨💻 23 · 🔀 60 · 📦 1.6K · 📋 190 — 59% open · ⏱️ 12.01.2024):
git clone https://github.com/mahmoud/glom
-
PyPi (📥 2.1M / month · 📦 170 · ⏱️ 27.11.2023):
-
Conda (📥 34K · ⏱️ 27.11.2023):
conda install -c conda-forge glom
immutables (🥉27 · ⭐ 1.1K · 💤) — A high-performance immutable mapping type for Python. Apache-2
-
GitHub (👨💻 16 · 🔀 54 · 📦 6.7K · 📋 48 — 22% open · ⏱️ 15.08.2023):
git clone https://github.com/MagicStack/immutables
-
PyPi (📥 1.2M / month · 📦 130 · ⏱️ 14.08.2023):
-
Conda (📥 1M · ⏱️ 25.09.2023):
conda install -c conda-forge immutables
janus (🥉27 · ⭐ 790) — Thread-safe asyncio-aware queue for Python. Apache-2
-
GitHub (👨💻 26 · 🔀 45 · 📋 42 — 21% open · ⏱️ 06.06.2024):
git clone https://github.com/aio-libs/janus
-
PyPi (📥 800K / month · 📦 120 · ⏱️ 17.12.2021):
-
Conda (📥 19K · ⏱️ 16.06.2023):
conda install -c conda-forge janus
munch (🥉27 · ⭐ 760 · 💤) — A Munch is a Python dictionary that provides attribute-style access (a.. MIT
-
GitHub (👨💻 27 · 🔀 84 · 📋 49 — 18% open · ⏱️ 01.07.2023):
git clone https://github.com/Infinidat/munch
-
PyPi (📥 1.9M / month · 📦 540 · ⏱️ 01.07.2023):
-
Conda (📥 4M · ⏱️ 02.07.2023):
conda install -c conda-forge munch
python-box (🥉25 · ⭐ 2.4K · 💤) — Python dictionaries with advanced dot notation access. MIT
-
GitHub (👨💻 1 · 🔀 98 · 📥 39 · 📋 160 — 14% open · ⏱️ 26.08.2023):
git clone https://github.com/cdgriffith/Box
-
PyPi (📥 3.1M / month · 📦 410 · ⏱️ 26.08.2023):
-
Conda (📥 560K · ⏱️ 01.10.2023):
conda install -c conda-forge python-box
Show 4 hidden projects…
- addict (🥈29 · ⭐ 2.4K · 💀) — The Python Dict thats better than heroin.
MIT
- sqlitedict (🥈29 · ⭐ 1.1K · 💀) — Persistent dict, backed by sqlite3 and pickle, multithread-..
Apache-2
- ordered-set (🥉28 · ⭐ 210 · 💀) — A mutable set that remembers the order of its entries. One of..
MIT
- cleverdict (🥉15 · ⭐ 99 · 💀) — A JSON-friendly data structure which allows both object attributes..
MIT
Data Validation
pydantic (🥇46 · ⭐ 19K) — Data validation using Python type hints. MIT
-
GitHub (👨💻 540 · 🔀 1.7K · 📦 420K · 📋 4.1K — 10% open · ⏱️ 06.06.2024):
git clone https://github.com/samuelcolvin/pydantic
-
PyPi (📥 200M / month · 📦 19K · ⏱️ 03.06.2024):
-
Conda (📥 7.9M · ⏱️ 04.06.2024):
conda install -c conda-forge pydantic
jsonschema (🥇41 · ⭐ 4.5K · 📈) — An implementation of the JSON Schema specification for Python. MIT
-
GitHub (👨💻 110 · 🔀 570 · 📥 250 · 📦 570K · 📋 830 — 3% open · ⏱️ 05.06.2024):
git clone https://github.com/Julian/jsonschema
-
PyPi (📥 120M / month · 📦 6.2K · ⏱️ 30.04.2024):
-
Conda (📥 28M · ⏱️ 01.05.2024):
conda install -c conda-forge jsonschema
validators (🥈35 · ⭐ 920) — Python Data Validation for Humans. MIT
-
GitHub (👨💻 54 · 🔀 150 · 📥 40 · 📦 120K · 📋 170 — 0% open · ⏱️ 25.05.2024):
git clone https://github.com/kvesteri/validators
-
PyPi (📥 8.5M / month · 📦 7.1K · ⏱️ 25.05.2024):
-
Conda (📥 650K · ⏱️ 28.05.2024):
conda install -c conda-forge validators
cerberus (🥈34 · ⭐ 3.1K · 💤) — Lightweight, extensible data validation library for Python. ISC
-
GitHub (👨💻 66 · 🔀 240 · 📦 16K · 📋 350 — 5% open · ⏱️ 23.10.2023):
git clone https://github.com/pyeve/cerberus
-
PyPi (📥 4.5M / month · 📦 660 · ⏱️ 09.08.2023):
-
Conda (📥 380K · ⏱️ 06.10.2023):
conda install -c conda-forge cerberus
schema (🥈33 · ⭐ 2.8K) — Schema validation just got Pythonic. MIT
-
GitHub (👨💻 69 · 🔀 210 · 📦 9.4K · 📋 180 — 53% open · ⏱️ 06.05.2024):
git clone https://github.com/keleshev/schema
-
PyPi (📥 18M / month · 📦 740 · ⏱️ 04.05.2024):
-
Conda (📥 170K · ⏱️ 04.05.2024):
conda install -c conda-forge schema
voluptuous (🥈32 · ⭐ 1.8K) — CONTRIBUTIONS ONLY: Voluptuous, despite the name, is a Python data.. BSD-3
-
GitHub (👨💻 96 · 🔀 210 · 📦 16K · 📋 250 — 16% open · ⏱️ 02.02.2024):
git clone https://github.com/alecthomas/voluptuous
-
PyPi (📥 2.5M / month · 📦 540 · ⏱️ 03.02.2024):
-
Conda (📥 370K · ⏱️ 03.02.2024):
conda install -c conda-forge voluptuous
python-email-validator (🥉30 · ⭐ 1K) — A robust email syntax and deliverability validation.. Unlicense
-
GitHub (👨💻 24 · 🔀 150 · 📋 98 — 11% open · ⏱️ 10.05.2024):
git clone https://github.com/JoshData/python-email-validator
-
PyPi (📥 22M / month · 📦 690 · ⏱️ 26.02.2024):
pip install email-validator
-
Conda (📥 210K · ⏱️ 27.02.2024):
conda install -c conda-forge email-validator
param (🥉30 · ⭐ 400) — Param: Make your Python code clearer and more reliable by declaring.. BSD-3
-
GitHub (👨💻 37 · 🔀 68 · 📦 11K · 📋 460 — 35% open · ⏱️ 15.05.2024):
git clone https://github.com/holoviz/param
-
PyPi (📥 600K / month · 📦 150 · ⏱️ 02.05.2024):
-
Conda (📥 1.6M · ⏱️ 22.03.2024):
conda install -c conda-forge param
dirty-equals (🥉21 · ⭐ 780 · 💤) — Doing dirty (but extremely useful) things with equals. MIT
-
GitHub (👨💻 16 · 🔀 35 · 📦 330 · 📋 34 — 44% open · ⏱️ 15.11.2023):
git clone https://github.com/samuelcolvin/dirty-equals
-
PyPi (📥 140K / month · 📦 31 · ⏱️ 15.11.2023):
-
Conda (📥 48K · ⏱️ 15.11.2023):
conda install -c conda-forge dirty-equals
validr (🥉17 · ⭐ 210) — A simple, fast, extensible python library for data validation. MIT
-
GitHub (👨💻 7 · 🔀 12 · 📋 25 — 12% open · ⏱️ 23.12.2023):
git clone https://github.com/guyskk/validr
-
PyPi (📥 620 / month · 📦 6 · ⏱️ 13.12.2023):
Show 5 hidden projects…
- schematics (🥉30 · ⭐ 2.6K · 💀) — Python Data Structures for Humans.
BSD-3
- strictyaml (🥉27 · ⭐ 1.4K · 💀) — Type-safe YAML parser and validator.
MIT
- valideer (🥉19 · ⭐ 260 · 💀) — Lightweight data validation and adaptation Python library.
MIT
- typical (🥉19 · ⭐ 180 · 💀) — Typical: Fast, simple, & correct data-validation using Python 3 typing.
MIT
- dataklasses (🥉7 · ⭐ 780 · 💀) — A different spin on dataclasses.
❗Unlicensed
Algorithms & Design Patterns
🔗 python-patterns ( ⭐ 40K) — Collection of design patterns/idioms in Python.
transitions (🥇34 · ⭐ 5.4K) — A lightweight, object-oriented finite state machine implementation.. MIT
-
GitHub (👨💻 78 · 🔀 520 · 📦 3.5K · 📋 460 — 3% open · ⏱️ 28.05.2024):
git clone https://github.com/pytransitions/transitions
-
PyPi (📥 600K / month · 📦 170 · ⏱️ 14.05.2024):
-
Conda (📥 660K · ⏱️ 14.05.2024):
conda install -c conda-forge transitions
algorithms (🥉29 · ⭐ 24K) — Minimal examples of data structures and algorithms in Python. MIT
-
GitHub (👨💻 200 · 🔀 4.6K · 📦 110 · 📋 300 — 66% open · ⏱️ 05.02.2024):
git clone https://github.com/keon/algorithms
-
PyPi (📥 1.5K / month · 📦 4 · ⏱️ 04.10.2020):
-
Conda (📥 2.2K · ⏱️ 16.06.2023):
conda install -c conda-forge algorithms
PyPattyrn (🥉21 · ⭐ 2.2K) — A simple library for implementing common design patterns. MIT
-
GitHub (👨💻 4 · 🔀 150 · 📦 49 · 📋 42 — 2% open · ⏱️ 26.05.2024):
git clone https://github.com/tylerlaberge/PyPattyrn
-
PyPi (📥 1.4K / month · 📦 14 · ⏱️ 11.09.2016):
Date & Time Utilities
arrow (🥇39 · ⭐ 8.6K · 💤) — Better dates & times for Python. Apache-2
-
GitHub (👨💻 270 · 🔀 660 · 📦 110K · 📋 500 — 20% open · ⏱️ 30.09.2023):
git clone https://github.com/arrow-py/arrow
-
PyPi (📥 30M / month · 📦 1.9K · ⏱️ 30.09.2023):
-
Conda (📥 4.9M · ⏱️ 01.10.2023):
conda install -c conda-forge arrow
pendulum (🥈35 · ⭐ 6.1K) — Python datetimes made easy. MIT
-
GitHub (👨💻 96 · 🔀 360 · 📥 650 · 📦 28K · 📋 560 — 42% open · ⏱️ 16.12.2023):
git clone https://github.com/sdispater/pendulum
-
PyPi (📥 48M / month · 📦 1.2K · ⏱️ 16.12.2023):
-
Conda (📥 1M · ⏱️ 07.01.2024):
conda install -c conda-forge pendulum
python-dateutil (🥈35 · ⭐ 2.3K) — Useful extensions to the standard Python datetime features. Apache-2
-
GitHub (👨💻 130 · 🔀 480 · 📥 35K · 📋 790 — 45% open · ⏱️ 20.05.2024):
git clone https://github.com/dateutil/dateutil
-
PyPi (📥 360M / month · 📦 10K · ⏱️ 01.03.2024):
pip install python-dateutil
-
Conda (📥 58M · ⏱️ 01.03.2024):
conda install -c conda-forge python-dateutil
dateparser (🥈34 · ⭐ 2.5K) — python parser for human readable dates. BSD-3
-
GitHub (👨💻 140 · 🔀 470 · 📦 28K · 📋 700 — 46% open · ⏱️ 08.04.2024):
git clone https://github.com/scrapinghub/dateparser
-
PyPi (📥 7.2M / month · 📦 1K · ⏱️ 17.11.2023):
-
Conda (📥 220K · ⏱️ 17.11.2023):
conda install -c conda-forge dateparser
pytz (🥈34 · ⭐ 320) — pytz Python historical timezone library and database. MIT
-
GitHub (👨💻 21 · 🔀 86 · 📥 59 · 📦 2M · 📋 88 — 37% open · ⏱️ 02.02.2024):
git clone https://github.com/stub42/pytz
-
PyPi (📥 180M / month · 📦 11K · ⏱️ 02.02.2024):
-
Conda (📥 54M · ⏱️ 02.02.2024):
conda install -c conda-forge pytz
holidays (🥉31 · ⭐ 1.4K) — Generate and work with holidays in Python. MIT
-
GitHub (👨💻 230 · 🔀 440 · ⏱️ 12.04.2024):
git clone https://github.com/dr-prodigy/python-holidays
-
PyPi (📥 7.4M / month · 📦 320 · ⏱️ 03.06.2024):
-
Conda (📥 3.9M · ⏱️ 04.06.2024):
conda install -c conda-forge holidays
tzlocal (🥉31 · ⭐ 180) — A Python module that tries to figure out what your local timezone is. MIT
-
GitHub (👨💻 31 · 🔀 59 · 📦 170K · 📋 84 — 3% open · ⏱️ 08.12.2023):
git clone https://github.com/regebro/tzlocal
-
PyPi (📥 47M / month · 📦 1.6K · ⏱️ 22.10.2023):
-
Conda (📥 2.7M · ⏱️ 22.10.2023):
conda install -c conda-forge tzlocal
Show 2 hidden projects…
- parsedatetime (🥉29 · ⭐ 690 · 💀) — Parse human-readable date/time strings.
Apache-2
- isodate (🥉29 · ⭐ 140 · 💀) — ISO 8601 date/time parser.
BSD-3
File & Path Utilities
filesystem_spec (🥇40 · ⭐ 920) — A specification that python filesystems should adhere to. BSD-3
-
GitHub (👨💻 240 · 🔀 340 · 📦 130K · 📋 690 — 37% open · ⏱️ 04.06.2024):
git clone https://github.com/fsspec/filesystem_spec
-
PyPi (📥 260M / month · 📦 1.6K · ⏱️ 04.06.2024):
-
Conda (📥 17M · ⏱️ 04.06.2024):
conda install -c conda-forge fsspec
watchdog (🥈36 · ⭐ 6.3K) — Python library and shell utilities to monitor filesystem events. Apache-2
-
GitHub (👨💻 150 · 🔀 680 · 📦 150K · 📋 650 — 29% open · ⏱️ 23.05.2024):
git clone https://github.com/gorakhargosh/watchdog
-
PyPi (📥 22M / month · 📦 2.4K · ⏱️ 23.05.2024):
-
Conda (📥 3M · ⏱️ 24.05.2024):
conda install -c conda-forge watchdog
filelock (🥈35 · ⭐ 700) — A platform-independent file lock for Python. Unlicense
-
GitHub (👨💻 46 · 🔀 100 · 📦 450K · 📋 110 — 13% open · ⏱️ 04.06.2024):
git clone https://github.com/tox-dev/py-filelock
-
PyPi (📥 140M / month · 📦 2.1K · ⏱️ 29.04.2024):
-
Conda (📥 18M · ⏱️ 29.04.2024):
conda install -c conda-forge filelock
aiofiles (🥉33 · ⭐ 2.6K) — File support for asyncio. Apache-2
-
GitHub (👨💻 36 · 🔀 150 · 📦 150K · 📋 120 — 42% open · ⏱️ 06.02.2024):
git clone https://github.com/Tinche/aiofiles
-
PyPi (📥 19M / month · 📦 2.5K · ⏱️ 09.08.2023):
-
Conda (📥 1.1M · ⏱️ 02.11.2023):
conda install -c conda-forge aiofiles
path (🥉33 · ⭐ 1.1K) — Object-oriented file system path manipulation. MIT
-
GitHub (👨💻 54 · 🔀 140 · 📦 15K · 📋 140 — 2% open · ⏱️ 27.05.2024):
git clone https://github.com/jaraco/path
-
PyPi (📥 1.4M / month · 📦 200 · ⏱️ 09.04.2024):
-
Conda (📥 550K · ⏱️ 15.04.2024):
conda install -c conda-forge path
scandir (🥉28 · ⭐ 530 · 💤) — Better directory iterator and faster os.walk(), now in the Python.. BSD-3
-
GitHub (👨💻 23 · 🔀 69 · 📦 15K · 📋 96 — 6% open · ⏱️ 29.08.2023):
git clone https://github.com/benhoyt/scandir
-
PyPi (📥 3.2M / month · 📦 210 · ⏱️ 09.03.2019):
-
Conda (📥 1.4M · ⏱️ 23.09.2023):
conda install -c conda-forge scandir
Show 4 hidden projects…
- zipp (🥈36 · ⭐ 52 · 📈) — Backport of pathlib-compatible object wrapper for zip files.
MIT
- appdirs (🥉31 · ⭐ 1K · 💀) — A small Python module for determining appropriate platform-specific..
MIT
- pyfilesystem2 (🥉30 · ⭐ 2K · 💀) — Pythons Filesystem abstraction layer.
MIT
- Unipath (🥉22 · ⭐ 520 · 💀) — An object-oriented approach to Python file/directory operations.
MIT
Compatiblity
future (🥇38 · ⭐ 1.2K) — Easy, clean, reliable Python 2/3 compatibility. MIT
-
GitHub (👨💻 130 · 🔀 280 · 📦 330K · 📋 400 — 46% open · ⏱️ 21.02.2024):
git clone https://github.com/PythonCharmers/python-future
-
PyPi (📥 41M / month · 📦 5.5K · ⏱️ 21.02.2024):
-
Conda (📥 13M · ⏱️ 22.02.2024):
conda install -c conda-forge future
six (🥈37 · ⭐ 970) — Python 2 and 3 compatibility library. MIT
-
GitHub (👨💻 67 · 🔀 270 · 📦 2.2M · 📋 300 — 37% open · ⏱️ 27.03.2024):
git clone https://github.com/benjaminp/six
-
PyPi (📥 320M / month · 📦 24K · ⏱️ 05.05.2021):
-
Conda (📥 56M · ⏱️ 16.06.2023):
conda install -c conda-forge six
typing (🥈34 · ⭐ 1.6K) — Python static typing home. Hosts the documentation and a user help.. Python-2.0
-
GitHub (👨💻 100 · 🔀 220 · 📋 800 — 19% open · ⏱️ 05.06.2024):
git clone https://github.com/python/typing
-
PyPi (📥 9.1M / month · 📦 3.1K · ⏱️ 01.05.2021):
-
Conda (📥 3M · ⏱️ 17.05.2024):
conda install -c conda-forge typing
Show 4 hidden projects…
- contextlib2 (🥉28 · ⭐ 38) — contextlib2 is a backport of the standard librarys contextlib..
❗️psfrag
- dataclasses (🥉27 · ⭐ 580 · 💀) — A backport of the dataclasses module for Python 3.6.
Apache-2
- futures (🥉27 · ⭐ 230 · 💀) — Backport of the concurrent.futures package to Python 2.6 and 2.7.
Python-2.0
- pathlib2 (🥉27 · ⭐ 81 · 💤) — Backport of pathlib aiming to support the full stdlib Python API.
MIT
Cryptography
cryptography (🥇47 · ⭐ 6.4K) — cryptography is a package designed to expose cryptographic.. Apache-2
-
GitHub (👨💻 320 · 🔀 1.5K · 📦 680K · 📋 2.5K — 1% open · ⏱️ 06.06.2024):
git clone https://github.com/pyca/cryptography
-
PyPi (📥 270M / month · 📦 8.8K · ⏱️ 04.06.2024):
-
Conda (📥 48M · ⏱️ 05.06.2024):
conda install -c conda-forge cryptography
pycryptodomex (🥈39 · ⭐ 2.7K) — A self-contained cryptographic library for Python. BSD-3
-
GitHub (👨💻 150 · 🔀 480 · 📥 540 · 📦 98K · 📋 580 — 10% open · ⏱️ 12.05.2024):
git clone https://github.com/Legrandin/pycryptodome
-
PyPi (📥 36M / month · 📦 1.3K · ⏱️ 10.01.2024):
pip install pycryptodomex
-
Conda (📥 1.7M · ⏱️ 23.09.2023):
conda install -c conda-forge pycryptodomex
keyring (🥈39 · ⭐ 1.2K) — Store and access your passwords safely. MIT
-
GitHub (👨💻 120 · 🔀 150 · 📦 120K · 📋 520 — 12% open · ⏱️ 13.05.2024):
git clone https://github.com/jaraco/keyring
-
PyPi (📥 54M / month · 📦 2.9K · ⏱️ 13.05.2024):
-
Conda (📥 4.8M · ⏱️ 14.05.2024):
conda install -c conda-forge keyring
bcrypt (🥉38 · ⭐ 1.2K) — Modern(-ish) password hashing for your software and your servers. Apache-2
-
GitHub (👨💻 32 · 🔀 150 · 📦 230K · 📋 140 — 5% open · ⏱️ 03.06.2024):
git clone https://github.com/pyca/bcrypt
-
PyPi (📥 61M / month · 📦 1.3K · ⏱️ 04.05.2024):
-
Conda (📥 5M · ⏱️ 17.05.2024):
conda install -c conda-forge bcrypt
tink (🥉37 · ⭐ 13K) — Tink is a multi-language, cross-platform, open source library that.. Apache-2
-
GitHub (👨💻 120 · 🔀 1.2K · 📥 1.1K · 📦 1.1K · ⏱️ 17.04.2024):
git clone https://github.com/google/tink
-
PyPi (📥 420K / month · 📦 8 · ⏱️ 02.05.2024):
-
npm (📥 270 / month · 📦 3 · ⏱️ 02.05.2023):
asn1crypto (🥉33 · ⭐ 320 · 💤) — Python ASN.1 library with a focus on performance and a pythonic API. MIT
-
GitHub (👨💻 39 · 🔀 140 · 📦 110K · 📋 190 — 25% open · ⏱️ 03.11.2023):
git clone https://github.com/wbond/asn1crypto
-
PyPi (📥 82M / month · 📦 590 · ⏱️ 15.03.2022):
-
Conda (📥 8.5M · ⏱️ 16.06.2023):
conda install -c conda-forge asn1crypto
rsa (🥉29 · ⭐ 470) — Python-RSA is a pure-Python RSA implementation. Apache-2
-
GitHub (👨💻 43 · 🔀 100 · 📋 130 — 15% open · ⏱️ 30.01.2024):
git clone https://github.com/sybrenstuvel/python-rsa
-
PyPi (📥 200M / month · 📦 1.4K · ⏱️ 20.07.2022):
-
Conda (📥 14M · ⏱️ 16.06.2023):
conda install -c conda-forge rsa
Infrastructure & DevOps
ansible (🥇48 · ⭐ 62K) — Ansible is a radically simple IT automation platform that makes your.. ❗️GPL-3.0
-
GitHub (👨💻 6.8K · 🔀 24K · 📦 34K · 📋 33K — 2% open · ⏱️ 06.06.2024):
git clone https://github.com/ansible/ansible
-
PyPi (📥 5.1M / month · 📦 460 · ⏱️ 06.06.2024):
-
Conda (📥 1.1M · ⏱️ 06.06.2024):
conda install -c conda-forge ansible
botocore (🥇44 · ⭐ 1.4K) — The low-level, core functionality of boto3 and the AWS CLI. Apache-2
-
GitHub (👨💻 200 · 🔀 1.1K · 📦 330K · 📋 1.1K — 13% open · ⏱️ 05.06.2024):
git clone https://github.com/boto/botocore
-
PyPi (📥 640M / month · 📦 2.6K · ⏱️ 05.06.2024):
-
Conda (📥 27M · ⏱️ 05.06.2024):
conda install -c conda-forge botocore
pulumi (🥈43 · ⭐ 20K) — Pulumi — Infrastructure as Code in any programming language. Apache-2
-
GitHub (👨💻 270 · 🔀 1.1K · 📥 3.4M · 📦 7.9K · 📋 7.3K — 29% open · ⏱️ 06.06.2024):
git clone https://github.com/pulumi/pulumi
-
PyPi (📥 940K / month · 📦 260 · ⏱️ 06.06.2024):
-
npm (📥 2.7M / month · 📦 930 · ⏱️ 31.05.2024):
npm install @pulumi/pulumi
awscli (🥈43 · ⭐ 15K) — Universal Command Line Interface for Amazon Web Services. Apache-2
-
GitHub (👨💻 440 · 🔀 4K · 📥 1.7K · 📦 5 · 📋 4.6K — 11% open · ⏱️ 05.06.2024):
git clone https://github.com/aws/aws-cli
-
PyPi (📥 140M / month · 📦 620 · ⏱️ 05.06.2024):
-
Conda (📥 24M · ⏱️ 06.06.2024):
conda install -c conda-forge awscli
docker (🥈43 · ⭐ 6.7K) — A Python library for the Docker Engine API. Apache-2
-
GitHub (👨💻 450 · 🔀 1.7K · 📥 980 · 📦 82K · 📋 1.7K — 27% open · ⏱️ 23.05.2024):
git clone https://github.com/docker/docker-py
-
PyPi (📥 44M / month · 📦 3.1K · ⏱️ 23.05.2024):
-
Conda (📥 4.3M · ⏱️ 24.05.2024):
conda install -c conda-forge docker-py
docker-compose (🥈40 · ⭐ 33K) — Define and run multi-container applications with Docker. Apache-2
-
GitHub (👨💻 540 · 🔀 5.1K · 📥 98M · 📦 560 · 📋 7.5K — 3% open · ⏱️ 05.06.2024):
git clone https://github.com/docker/compose
-
PyPi (📥 1.9M / month · 📦 250 · ⏱️ 10.05.2021):
pip install docker-compose
-
Conda (📥 420K · ⏱️ 24.05.2024):
conda install -c conda-forge docker-compose
paramiko (🥈40 · ⭐ 8.9K · 📉) — The leading native Python SSHv2 protocol library. ❗️LGPL-2.1
-
GitHub (👨💻 190 · 🔀 2K · 📦 97K · 📋 1.8K — 56% open · ⏱️ 11.02.2024):
git clone https://github.com/paramiko/paramiko
-
PyPi (📥 58M / month · 📦 2.8K · ⏱️ 18.12.2023):
-
Conda (📥 4.6M · ⏱️ 19.12.2023):
conda install -c conda-forge paramiko
kubernetes (🥈39 · ⭐ 6.5K) — Official Python client library for kubernetes. Apache-2
-
GitHub (👨💻 200 · 🔀 3.2K · 📋 1.3K — 7% open · ⏱️ 30.05.2024):
git clone https://github.com/kubernetes-client/python
-
PyPi (📥 30M / month · 📦 1.3K · ⏱️ 30.05.2024):
-
Conda (📥 500K · ⏱️ 30.05.2024):
conda install -c conda-forge kubernetes
netmiko (🥉37 · ⭐ 3.5K) — Multi-vendor library to simplify Paramiko SSH connections to network.. MIT
-
GitHub (👨💻 240 · 🔀 1.3K · 📦 4.4K · 📋 2.1K — 8% open · ⏱️ 16.05.2024):
git clone https://github.com/ktbyers/netmiko
-
PyPi (📥 320K / month · 📦 180 · ⏱️ 17.11.2023):
fabric (🥉36 · ⭐ 15K) — Simple, Pythonic remote execution and deployment. BSD-2
-
GitHub (👨💻 140 · 🔀 1.9K · 📦 21 · 📋 1.8K — 26% open · ⏱️ 26.01.2024):
git clone https://github.com/fabric/fabric
-
PyPi (📥 6.5M / month · 📦 280 · ⏱️ 31.08.2023):
-
Conda (📥 94K · ⏱️ 31.08.2023):
conda install -c conda-forge fabric
schedule (🥉36 · ⭐ 12K) — Python job scheduling for humans. MIT
-
GitHub (👨💻 60 · 🔀 950 · 📦 35K · 📋 460 — 34% open · ⏱️ 25.05.2024):
git clone https://github.com/dbader/schedule
-
PyPi (📥 2.3M / month · 📦 660 · ⏱️ 25.05.2024):
-
Conda (📥 58K · ⏱️ 02.10.2023):
conda install -c conda-forge schedule
plumbum (🥉34 · ⭐ 2.8K) — Plumbum: Shell Combinators. MIT
-
GitHub (👨💻 110 · 🔀 180 · 📦 6.5K · 📋 360 — 37% open · ⏱️ 20.05.2024):
git clone https://github.com/tomerfiliba/plumbum
-
PyPi (📥 2.9M / month · 📦 290 · ⏱️ 29.04.2024):
-
Conda (📥 1M · ⏱️ 29.04.2024):
conda install -c conda-forge plumbum
pyinfra (🥉31 · ⭐ 3.6K) — pyinfra turns Python code into shell commands and runs them on your.. MIT
-
GitHub (👨💻 120 · 🔀 350 · 📦 120 · 📋 720 — 22% open · ⏱️ 27.05.2024):
git clone https://github.com/Fizzadar/pyinfra
-
PyPi (📥 20K / month · 📦 16 · ⏱️ 04.05.2024):
pypyr (🥉20 · ⭐ 570 · 💤) — pypyr task-runner cli & api for automation pipelines. Automate.. Apache-2
-
GitHub (👨💻 10 · 🔀 26 · 📦 110 · 📋 140 — 11% open · ⏱️ 22.09.2023):
git clone https://github.com/pypyr/pypyr
-
PyPi (📥 2.6K / month · 📦 11 · ⏱️ 22.09.2023):
-
Conda (📥 16K · ⏱️ 22.09.2023):
conda install -c conda-forge pypyr
Show 6 hidden projects…
- sshtunnel (🥉31 · ⭐ 1.2K · 💀) — SSH tunnels to remote server.
MIT
- parallel-ssh (🥉26 · ⭐ 1.2K · 💀) — Asynchronous parallel SSH client library.
❗️LGPL-2.1
- storm (🥉24 · ⭐ 3.9K · 💀) — Manage your SSH like a boss.
MIT
- fabtools (🥉24 · ⭐ 1.2K · 💀) — Tools for writing awesome Fabric files.
BSD-2
- wssh (🥉17 · ⭐ 1.4K · 💀) — SSH to WebSockets Bridge.
MIT
- Grai (🥉14 · ⭐ 280) — Platform to programmatically manage, test, and debug data..
❗️MulanPSL-2.0
Process Utilities
pexpect (🥇38 · ⭐ 2.5K · 💤) — A Python module for controlling interactive programs in a pseudo-.. ISC
-
GitHub (👨💻 110 · 🔀 480 · 📥 4.4K · 📦 390K · 📋 490 — 32% open · ⏱️ 25.11.2023):
git clone https://github.com/pexpect/pexpect
-
PyPi (📥 72M / month · 📦 1.6K · ⏱️ 25.11.2023):
-
Conda (📥 19M · ⏱️ 24.01.2024):
conda install -c conda-forge pexpect
supervisor (🥈36 · ⭐ 8.3K) — Supervisor process control system for Unix.. ❗️Repoze Public License
-
GitHub (👨💻 180 · 🔀 1.2K · 📦 11K · 📋 1.2K — 13% open · ⏱️ 22.05.2024):
git clone https://github.com/Supervisor/supervisor
-
PyPi (📥 1.5M / month · 📦 120 · ⏱️ 24.12.2022):
-
Conda (📥 310K · ⏱️ 23.11.2023):
conda install -c conda-forge supervisor
sh (🥉35 · ⭐ 6.9K) — Python process launching. MIT
-
GitHub (👨💻 98 · 🔀 500 · 📦 15K · 📋 480 — 1% open · ⏱️ 31.05.2024):
git clone https://github.com/amoffat/sh
-
PyPi (📥 7.2M / month · 📦 720 · ⏱️ 01.06.2024):
-
Conda (📥 210K · ⏱️ 01.06.2024):
conda install -c conda-forge sh
ptyprocess (🥉24 · ⭐ 210 · 💤) — Run a subprocess in a pseudo terminal. ISC
-
GitHub (👨💻 19 · 🔀 70 · 📋 37 — 51% open · ⏱️ 23.10.2023):
git clone https://github.com/pexpect/ptyprocess
-
PyPi (📥 73M / month · 📦 680 · ⏱️ 28.12.2020):
-
Conda (📥 18M · ⏱️ 16.06.2023):
conda install -c conda-forge ptyprocess
Asynchronous Programming
uvloop (🥇37 · ⭐ 10K · 💤) — Ultra fast asyncio event loop. Apache-2
-
GitHub (👨💻 60 · 🔀 530 · 📥 440 · 📦 130K · 📋 360 — 28% open · ⏱️ 22.10.2023):
git clone https://github.com/MagicStack/uvloop
-
PyPi (📥 18M / month · 📦 1.3K · ⏱️ 22.10.2023):
-
Conda (📥 730K · ⏱️ 23.10.2023):
conda install -c conda-forge uvloop
anyio (🥇37 · ⭐ 1.6K) — High level asynchronous concurrency and networking framework that works on.. MIT
-
GitHub (👨💻 51 · 🔀 130 · 📦 310K · 📋 350 — 16% open · ⏱️ 03.06.2024):
git clone https://github.com/agronholm/anyio
-
PyPi (📥 74M / month · 📦 1.5K · ⏱️ 26.05.2024):
-
Conda (📥 14M · ⏱️ 19.02.2024):
conda install -c conda-forge anyio
greenlet (🥇37 · ⭐ 1.6K) — Lightweight in-process concurrent programming. MIT
-
GitHub (👨💻 68 · 🔀 240 · 📦 390K · 📋 250 — 12% open · ⏱️ 21.12.2023):
git clone https://github.com/python-greenlet/greenlet
-
PyPi (📥 100M / month · 📦 1.1K · ⏱️ 21.12.2023):
-
Conda (📥 10M · ⏱️ 21.12.2023):
conda install -c conda-forge greenlet
asyncer (🥉28 · ⭐ 1.5K) — Asyncer, async and await, focused on developer experience. MIT
-
GitHub (👨💻 15 · 🔀 47 · 📦 3.9K · 📋 20 — 80% open · ⏱️ 23.05.2024):
git clone https://github.com/tiangolo/asyncer
-
PyPi (📥 210K / month · 📦 120 · ⏱️ 30.04.2024):
-
Conda (📥 8.4K · ⏱️ 30.04.2024):
conda install -c conda-forge asyncer
aiomisc (🥉24 · ⭐ 370) — aiomisc — miscellaneous utils for asyncio. MIT
-
GitHub (👨💻 20 · 🔀 26 · 📦 370 · 📋 24 — 25% open · ⏱️ 04.06.2024):
git clone https://github.com/aiokitchen/aiomisc
-
PyPi (📥 19K / month · 📦 57 · ⏱️ 04.06.2024):
unsync (🥉22 · ⭐ 870) — Unsynchronize asyncio. MIT
-
GitHub (👨💻 11 · 🔀 51 · 📦 230 · 📋 31 — 9% open · ⏱️ 16.03.2024):
git clone https://github.com/alex-sherman/unsync
-
PyPi (📥 67K / month · 📦 19 · ⏱️ 21.10.2021):
-
Conda (📥 13K · ⏱️ 16.06.2023):
conda install -c conda-forge unsync
stopit (🥉21 · ⭐ 110) — Raise asynchronous exceptions in other thread, control the timeout of.. MIT
-
GitHub (👨💻 7 · 🔀 21 · 📦 2.4K · 📋 20 — 25% open · ⏱️ 09.01.2024):
git clone https://github.com/glenfant/stopit
-
PyPi (📥 390K / month · 📦 94 · ⏱️ 09.02.2018):
-
Conda (📥 910K · ⏱️ 16.06.2023):
conda install -c conda-forge stopit
Configuration
python-dotenv (🥇38 · ⭐ 7.2K) — Reads key-value pairs from a .env file and can set them as.. BSD-3
-
GitHub (👨💻 95 · 🔀 410 · 📦 810K · 📋 290 — 19% open · ⏱️ 29.04.2024):
git clone https://github.com/theskumar/python-dotenv
-
PyPi (📥 70M / month · 📦 9.2K · ⏱️ 23.01.2024):
pip install python-dotenv
-
Conda (📥 3.5M · ⏱️ 23.01.2024):
conda install -c conda-forge python-dotenv
traitlets (🥇38 · ⭐ 600) — A lightweight Traits like module. BSD-3
-
GitHub (👨💻 120 · 🔀 200 · 📥 350 · 📦 440K · 📋 300 — 33% open · ⏱️ 19.04.2024):
git clone https://github.com/ipython/traitlets
-
PyPi (📥 45M / month · 📦 1.3K · ⏱️ 19.04.2024):
-
Conda (📥 28M · ⏱️ 19.04.2024):
conda install -c conda-forge traitlets
Dynaconf (🥈34 · ⭐ 3.6K) — Configuration Management for Python. MIT
-
GitHub (👨💻 120 · 🔀 290 · 📦 8.6K · 📋 510 — 23% open · ⏱️ 28.05.2024):
git clone https://github.com/rochacbruno/dynaconf
-
PyPi (📥 2.9M / month · 📦 420 · ⏱️ 18.03.2024):
-
Conda (📥 78K · ⏱️ 26.03.2024):
conda install -c conda-forge dynaconf
hydra (🥈33 · ⭐ 8.3K) — Hydra is a framework for elegantly configuring complex applications. MIT
-
GitHub (👨💻 120 · 🔀 600 · 📦 24K · 📋 1.4K — 19% open · ⏱️ 03.04.2024):
git clone https://github.com/facebookresearch/hydra
-
PyPi (📥 10K / month · 📦 11 · ⏱️ 03.08.2016):
-
Conda (📥 990K · ⏱️ 16.06.2023):
conda install -c conda-forge hydra-core
python-decouple (🥉32 · ⭐ 2.7K) — Strict separation of config from code. MIT
-
GitHub (👨💻 36 · 🔀 190 · 📥 12 · 📦 130K · 📋 94 — 4% open · ⏱️ 01.01.2024):
git clone https://github.com/henriquebastos/python-decouple
-
PyPi (📥 3.9M / month · 📦 650 · ⏱️ 01.03.2023):
pip install python-decouple
-
Conda (📥 85K · ⏱️ 16.06.2023):
conda install -c conda-forge python-decouple
omegaconf (🥉31 · ⭐ 1.8K) — Flexible Python configuration system. The last one you will ever need. BSD-3
-
GitHub (👨💻 35 · 🔀 98 · 📦 31K · 📋 560 — 19% open · ⏱️ 30.05.2024):
git clone https://github.com/omry/omegaconf
-
PyPi (📥 9.5M / month · 📦 910 · ⏱️ 29.02.2024):
-
Conda (📥 1.4M · ⏱️ 16.06.2023):
conda install -c conda-forge omegaconf
gin-config (🥉29 · ⭐ 2K) — Gin provides a lightweight configuration framework for Python. Apache-2
-
GitHub (👨💻 24 · 🔀 120 · 📦 8.7K · 📋 95 — 55% open · ⏱️ 05.02.2024):
git clone https://github.com/google/gin-config
-
PyPi (📥 270K / month · 📦 72 · ⏱️ 03.11.2021):
-
Conda (📥 25K · ⏱️ 16.06.2023):
conda install -c conda-forge gin-config
everett (🥉24 · ⭐ 150) — configuration library for python projects. MPL-2.0
-
GitHub (👨💻 8 · 🔀 33 · 📦 1.3K · 📋 88 — 4% open · ⏱️ 02.06.2024):
git clone https://github.com/willkg/everett
-
PyPi (📥 220K / month · 📦 22 · ⏱️ 06.11.2023):
-
Conda (📥 63K · ⏱️ 06.11.2023):
conda install -c conda-forge everett
Show 1 hidden projects…
- configobj (🥉28 · ⭐ 310 · 💀) — Python 3+ compatible port of the configobj library.
BSD-3
CLI Development
click (🥇46 · ⭐ 15K) — Python composable command line interface toolkit. BSD-3
-
GitHub (👨💻 370 · 🔀 1.4K · 📥 370 · 📦 1.7M · 📋 1.6K — 7% open · ⏱️ 03.06.2024):
git clone https://github.com/pallets/click
-
PyPi (📥 210M / month · 📦 37K · ⏱️ 17.08.2023):
-
Conda (📥 35M · ⏱️ 17.08.2023):
conda install -c conda-forge click
rich (🥇43 · ⭐ 48K) — Rich is a Python library for rich text and beautiful formatting in the terminal. MIT
-
GitHub (👨💻 240 · 🔀 1.7K · 📦 220K · 📋 1.4K — 20% open · ⏱️ 01.05.2024):
git clone https://github.com/Textualize/rich
-
PyPi (📥 67M / month · 📦 11K · ⏱️ 28.02.2024):
-
Conda (📥 7.1M · ⏱️ 28.02.2024):
conda install -c conda-forge rich
Typer (🥈40 · ⭐ 15K) — Typer, build great CLIs. Easy to code. Based on Python type hints. MIT
-
GitHub (👨💻 55 · 🔀 620 · 📦 98K · 📋 390 — 53% open · ⏱️ 23.05.2024):
git clone https://github.com/tiangolo/typer
-
PyPi (📥 33M / month · 📦 5.2K · ⏱️ 09.04.2024):
-
Conda (📥 2.5M · ⏱️ 09.04.2024):
conda install -c conda-forge typer
python-fire (🥈39 · ⭐ 26K) — Python Fire is a library for automatically generating command.. Apache-2
-
GitHub (👨💻 65 · 🔀 1.4K · 📦 34K · 📋 340 — 44% open · ⏱️ 05.04.2024):
git clone https://github.com/google/python-fire
-
PyPi (📥 6.9M / month · 📦 2.3K · ⏱️ 11.03.2024):
-
Conda (📥 950K · ⏱️ 12.03.2024):
conda install -c conda-forge fire
python-prompt-toolkit (🥈39 · ⭐ 9K) — Library for building powerful interactive command line.. BSD-3
-
GitHub (👨💻 230 · 🔀 710 · 📋 1.2K — 52% open · ⏱️ 04.06.2024):
git clone https://github.com/prompt-toolkit/python-prompt-toolkit
-
PyPi (📥 51M / month · 📦 2.6K · ⏱️ 04.06.2024):
pip install prompt_toolkit
-
Conda (📥 23M · ⏱️ 05.06.2024):
conda install -c conda-forge prompt-toolkit
colorama (🥈36 · ⭐ 3.5K) — Simple cross-platform colored terminal text in Python. BSD-3
-
GitHub (👨💻 51 · 🔀 240 · 📦 970K · 📋 260 — 45% open · ⏱️ 01.12.2023):
git clone https://github.com/tartley/colorama
-
PyPi (📥 170M / month · 📦 11K · ⏱️ 25.10.2022):
-
Conda (📥 31M · ⏱️ 16.06.2023):
conda install -c conda-forge colorama
argcomplete (🥈35 · ⭐ 1.4K) — Python and tab completion, better together. Apache-2
-
GitHub (👨💻 73 · 🔀 120 · 📥 360 · 📦 53K · 📋 270 — 19% open · ⏱️ 12.05.2024):
git clone https://github.com/kislyuk/argcomplete
-
PyPi (📥 29M / month · 📦 1.3K · ⏱️ 14.04.2024):
-
Conda (📥 1.6M · ⏱️ 15.04.2024):
conda install -c conda-forge argcomplete
cleo (🥉33 · ⭐ 1.2K) — Cleo allows you to create beautiful and testable command-line interfaces. MIT
-
GitHub (👨💻 36 · 🔀 85 · 📦 22K · 📋 110 — 29% open · ⏱️ 03.06.2024):
git clone https://github.com/sdispater/cleo
-
PyPi (📥 33M / month · 📦 310 · ⏱️ 30.10.2023):
-
Conda (📥 730K · ⏱️ 30.10.2023):
conda install -c conda-forge cleo
wcwidth (🥉33 · ⭐ 380) — Python library that measures the width of unicode strings rendered to a.. MIT
-
GitHub (👨💻 19 · 🔀 56 · 📦 560K · 📋 59 — 32% open · ⏱️ 14.02.2024):
git clone https://github.com/jquast/wcwidth
-
PyPi (📥 65M / month · 📦 1.6K · ⏱️ 06.01.2024):
-
Conda (📥 25M · ⏱️ 08.01.2024):
conda install -c conda-forge wcwidth
questionary (🥉30 · ⭐ 1.4K) — Python library to build pretty command line user prompts Easy to use.. MIT
-
GitHub (👨💻 40 · 🔀 85 · 📦 12K · 📋 150 — 35% open · ⏱️ 12.01.2024):
git clone https://github.com/tmbo/questionary
-
PyPi (📥 2M / month · 📦 660 · ⏱️ 08.09.2023):
-
Conda (📥 76K · ⏱️ 10.09.2023):
conda install -c conda-forge questionary
asciimatics (🥉29 · ⭐ 3.6K) — A cross platform package to do curses-like operations, plus.. Apache-2
-
GitHub (👨💻 45 · 🔀 240 · 📦 1K · 📋 300 — 8% open · ⏱️ 24.04.2024):
git clone https://github.com/peterbrittain/asciimatics
-
PyPi (📥 24K / month · 📦 110 · ⏱️ 25.10.2023):
-
Conda (📥 160K · ⏱️ 25.10.2023):
conda install -c conda-forge asciimatics
ConfigArgParse (🥉28 · ⭐ 700 · 💤) — A drop-in replacement for argparse that allows options to.. MIT
-
GitHub (👨💻 53 · 🔀 120 · 📦 17K · 📋 200 — 36% open · ⏱️ 23.07.2023):
git clone https://github.com/bw2/ConfigArgParse
-
PyPi (📥 4.6M / month · 📦 570 · ⏱️ 23.07.2023):
pip install configargparse
-
Conda (📥 860K · ⏱️ 23.07.2023):
conda install -c conda-forge configargparse
docopt-ng (🥉23 · ⭐ 180) — Humane command line arguments parser. Now with maintenance, typehints,.. MIT
-
GitHub (👨💻 49 · 🔀 20 · 📦 320 · 📋 35 — 54% open · ⏱️ 13.05.2024):
git clone https://github.com/jazzband/docopt-ng
-
PyPi (📥 210K / month · 📦 84 · ⏱️ 30.05.2023):
colout (🥉18 · ⭐ 1.1K) — Color text streams with a polished command line interface. ❗️GPL-3.0
-
GitHub (👨💻 30 · 🔀 58 · 📦 6 · 📋 72 — 19% open · ⏱️ 29.01.2024):
git clone https://github.com/nojhan/colout
-
PyPi (📥 200 / month · ⏱️ 21.06.2020):
Show 5 hidden projects…
- docopt (🥈36 · ⭐ 7.9K · 💀) — Create beautiful command-line interfaces with Python.
MIT
- blessings (🥉28 · ⭐ 1.4K · 💀) — A thin, practical wrapper around terminal capabilities in Python.
MIT
- clint (🥉24 · ⭐ 95 · 💀) — Python Command-line Application Tools.
ISC
- bashplotlib (🥉22 · ⭐ 1.8K · 💀) — plotting in the terminal.
MIT
- Click Extra (🥉22 · ⭐ 54) — Extra colorization and configuration loading for Click.
❗️GPL-2.0
Development Tools
🔗 best-of-python-dev ( ⭐ 930) — A ranked list of awesome python developer tools and libraries. Updated..
Data Caching
cachetools (🥇34 · ⭐ 2.2K) — Extensible memoizing collections and decorators. MIT
-
GitHub (👨💻 13 · 🔀 160 · 📋 240 — 4% open · ⏱️ 02.06.2024):
git clone https://github.com/tkem/cachetools
-
PyPi (📥 140M / month · 📦 2.5K · ⏱️ 26.02.2024):
-
Conda (📥 12M · ⏱️ 26.02.2024):
conda install -c conda-forge cachetools
aiocache (🥈30 · ⭐ 1K) — Asyncio cache manager for redis, memcached and memory. BSD-3
-
GitHub (👨💻 45 · 🔀 140 · 📥 16 · 📦 2.2K · 📋 300 — 13% open · ⏱️ 01.06.2024):
git clone https://github.com/aio-libs/aiocache
-
PyPi (📥 770K / month · 📦 120 · ⏱️ 06.08.2023):
beaker (🥉29 · ⭐ 510) — WSGI middleware for sessions and caching. BSD-3
-
GitHub (👨💻 91 · 🔀 140 · 📦 5.4K · 📋 140 — 55% open · ⏱️ 11.04.2024):
git clone https://github.com/bbangert/beaker
-
PyPi (📥 220K / month · 📦 78 · ⏱️ 11.04.2024):
-
Conda (📥 75K · ⏱️ 12.04.2024):
conda install -c conda-forge beaker
pylibmc (🥉27 · ⭐ 480 · 💤) — A Python wrapper around the libmemcached interface from TangentOrg. BSD-3
-
GitHub (👨💻 54 · 🔀 130 · 📥 610 · 📦 5.1K · 📋 190 — 11% open · ⏱️ 11.10.2023):
git clone https://github.com/lericson/pylibmc
-
PyPi (📥 250K / month · 📦 79 · ⏱️ 30.08.2022):
-
Conda (📥 230K · ⏱️ 26.09.2023):
conda install -c conda-forge pylibmc
cachier (🥉26 · ⭐ 520) — Persistent, stale-free, local and cross-machine caching for Python.. MIT
-
GitHub (👨💻 20 · 🔀 59 · 📥 17 · 📦 460 · 📋 82 — 26% open · ⏱️ 01.06.2024):
git clone https://github.com/shaypal5/cachier
-
PyPi (📥 100K / month · 📦 40 · ⏱️ 26.02.2024):
Show 1 hidden projects…
- cached-property (🥈30 · ⭐ 680 · 💀) — A decorator for caching properties in classes.
BSD-3
GUI Development
🔗 best-of-web-python — Web UI ( ⭐ 2.2K) — Collection of libraries to implement web-based UIs.
kivy (🥇41 · ⭐ 17K) — Open source UI framework written in Python, running on Windows, Linux, macOS,.. MIT
-
GitHub (👨💻 620 · 🔀 3K · 📥 37K · 📦 13K · 📋 5.1K — 15% open · ⏱️ 27.05.2024):
git clone https://github.com/kivy/kivy
-
PyPi (📥 180K / month · 📦 310 · ⏱️ 05.01.2024):
-
Conda (📥 360K · ⏱️ 08.04.2024):
conda install -c conda-forge kivy
DearPyGui (🥈32 · ⭐ 12K) — Dear PyGui: A fast and powerful Graphical User Interface Toolkit for.. MIT
-
GitHub (👨💻 65 · 🔀 650 · 📦 3K · 📋 1.3K — 21% open · ⏱️ 13.04.2024):
git clone https://github.com/hoffstadt/DearPyGui
-
PyPi (📥 41K / month · 📦 100 · ⏱️ 15.03.2024):
toga (🥈32 · ⭐ 4.2K) — A Python native, OS native GUI toolkit. BSD-3
-
GitHub (👨💻 270 · 🔀 650 · 📥 3.4K · 📦 3 · 📋 910 — 20% open · ⏱️ 03.06.2024):
git clone https://github.com/beeware/toga
-
PyPi (📥 4.8K / month · 📦 24 · ⏱️ 08.05.2024):
-
npm (📥 8 / month · 📦 5 · ⏱️ 23.04.2017):
flexx (🥉26 · ⭐ 3.2K) — Write desktop and web apps in pure Python. BSD-2
-
GitHub (👨💻 37 · 🔀 260 · 📦 140 · 📋 460 — 19% open · ⏱️ 06.01.2024):
git clone https://github.com/flexxui/flexx
-
PyPi (📥 810 / month · 📦 7 · ⏱️ 12.04.2022):
-
Conda (📥 110K · ⏱️ 16.06.2023):
conda install -c conda-forge flexx
Show 5 hidden projects…
- PySimpleGUI (🥈35 · ⭐ 13K) — PySimpleGUI is a Python package that enables Python..
❗Unlicensed
- Eel (🥉31 · ⭐ 6.2K · 💀) — A little Python library for making simple Electron-like HTML/JS GUI apps.
MIT
- Gooey (🥉30 · ⭐ 20K · 💀) — Turn (almost) any Python command line program into a full GUI..
MIT
- enaml (🥉25 · ⭐ 1.5K) — Declarative User Interfaces for Python.
❗Unlicensed
- Phoenix (🥉24 · ⭐ 2.2K) — wxPythons Project Phoenix. A new implementation of wxPython,..
❗️wxWindows
Computer & Machine Vision
🔗 best-of-ml-python — Computer Vision ( ⭐ 16K) — Collection of computer vision and image processing..
Pipeless (🥇18 · ⭐ 660) — An open-source framework to create and deploy computer vision.. Apache-2
-
GitHub (👨💻 8 · 🔀 31 · 📥 990 · 📋 26 — 26% open · ⏱️ 08.05.2024):
git clone https://github.com/pipeless-ai/pipeless
-
PyPi (📥 80 / month · 📦 2 · ⏱️ 02.11.2023):
Machine Learning & Data Engineering
🔗 best-of-ml-python ( ⭐ 16K) — A ranked list of awesome machine learning Python libraries. Updated..
Text Data
🔗 best-of-ml-python — NLP ( ⭐ 16K) — Collection of text processing and NLP libraries.
emoji (🥇37 · ⭐ 1.8K) — emoji terminal output for Python. BSD-3
-
GitHub (👨💻 68 · 🔀 270 · 📦 71K · 📋 170 — 8% open · ⏱️ 20.05.2024):
git clone https://github.com/carpedm20/emoji
-
PyPi (📥 4.1M / month · 📦 980 · ⏱️ 20.05.2024):
-
Conda (📥 75K · ⏱️ 20.05.2024):
conda install -c conda-forge emoji
phonenumbers (🥇34 · ⭐ 3.4K) — Python port of Googles libphonenumber. Apache-2
-
GitHub (👨💻 31 · 🔀 410 · 📋 180 — 5% open · ⏱️ 04.06.2024):
git clone https://github.com/daviddrysdale/python-phonenumbers
-
PyPi (📥 7M / month · 📦 530 · ⏱️ 04.06.2024):
-
Conda (📥 920K · ⏱️ 05.06.2024):
conda install -c conda-forge phonenumbers
inflect (🥇34 · ⭐ 930) — Correctly generate plurals, ordinals, indefinite articles; convert numbers.. MIT
-
GitHub (👨💻 55 · 🔀 100 · 📦 22K · 📋 120 — 23% open · ⏱️ 24.04.2024):
git clone https://github.com/jaraco/inflect
-
PyPi (📥 6M / month · 📦 610 · ⏱️ 23.04.2024):
-
Conda (📥 380K · ⏱️ 23.04.2024):
conda install -c conda-forge inflect
python-slugify (🥈33 · ⭐ 1.5K) — Returns unicode slugs. MIT
-
GitHub (👨💻 36 · 🔀 110 · 📦 85K · 📋 73 — 2% open · ⏱️ 01.03.2024):
git clone https://github.com/un33k/python-slugify
-
PyPi (📥 20M / month · 📦 1.4K · ⏱️ 08.02.2024):
pip install python-slugify
-
Conda (📥 2.1M · ⏱️ 08.02.2024):
conda install -c conda-forge python-slugify
chardet (🥈31 · ⭐ 2.1K · 💤) — Python character encoding detector. ❗️LGPL-2.1
-
GitHub (👨💻 48 · 🔀 250 · 📦 6 · 📋 150 — 42% open · ⏱️ 01.08.2023):
git clone https://github.com/chardet/chardet
-
PyPi (📥 68M / month · 📦 5.4K · ⏱️ 01.08.2023):
-
Conda (📥 23M · ⏱️ 23.09.2023):
conda install -c conda-forge chardet
-
npm (📥 58 / month · 📦 5 · ⏱️ 20.08.2017):
npm install @pypi/chardet
pyahocorasick (🥉29 · ⭐ 900) — Python module (C extension and plain python) implementing Aho-.. BSD-3
-
GitHub (👨💻 30 · 🔀 120 · 📥 50 · 📦 2.8K · 📋 130 — 18% open · ⏱️ 21.03.2024):
git clone https://github.com/WojciechMula/pyahocorasick
-
PyPi (📥 830K / month · 📦 140 · ⏱️ 21.03.2024):
pip install pyahocorasick
-
Conda (📥 220K · ⏱️ 21.03.2024):
conda install -c conda-forge pyahocorasick
price-parser (🥉21 · ⭐ 300 · 💤) — Extract price amount and currency symbol from a raw text.. BSD-3
-
GitHub (👨💻 14 · 🔀 48 · 📦 420 · 📋 39 — 66% open · ⏱️ 17.10.2023):
git clone https://github.com/scrapinghub/price-parser
-
PyPi (📥 120K / month · 📦 32 · ⏱️ 25.11.2020):
Show 4 hidden projects…
- humanize (🥉30 · ⭐ 1.7K · 💀) — python humanize functions.
MIT
- coolname (🥉22 · ⭐ 130 · 💀) — Random Name and Slug Generator.
BSD-2
- awesome-slugify (🥉20 · ⭐ 480 · 💀) — Python flexible slugify function.
❗️GPL-3.0
- millify (🥉16 · ⭐ 83 · 💀) — Convert long numbers into a human-readable format in Python.
MIT
Web Development
🔗 best-of-web-python ( ⭐ 2.2K) — A ranked list of awesome python libraries for web development. Updated..
Database Clients
Libraries for connecting to, operating, and querying databases.
boto3 (🥇48 · ⭐ 8.8K · 📉) — AWS SDK for Python. Apache-2
-
GitHub (👨💻 160 · 🔀 1.8K · 📦 440K · 📋 3.3K — 5% open · ⏱️ 05.06.2024):
git clone https://github.com/boto/boto3
-
PyPi (📥 1.3B / month · 📦 11K · ⏱️ 05.06.2024):
-
Conda (📥 20M · ⏱️ 06.06.2024):
conda install -c conda-forge boto3
SQLAlchemy (🥇46 · ⭐ 9K) — The Database Toolkit for Python. MIT
-
GitHub (👨💻 710 · 🔀 1.3K · 📥 48K · 📦 790K · 📋 7.8K — 2% open · ⏱️ 04.06.2024):
git clone https://github.com/sqlalchemy/sqlalchemy
-
PyPi (📥 120M / month · 📦 11K · ⏱️ 05.05.2024):
-
Conda (📥 15M · ⏱️ 06.05.2024):
conda install -c conda-forge sqlalchemy
azure-storage-blob (🥇43 · ⭐ 4.3K) — This repository is for active development of the Azure SDK.. MIT
-
GitHub (👨💻 720 · 🔀 2.7K · 📦 2.5K · 📋 9.8K — 10% open · ⏱️ 06.06.2024):
git clone https://github.com/Azure/azure-sdk-for-python
-
PyPi (📥 52M / month · 📦 880 · ⏱️ 08.05.2024):
pip install azure-storage-blob
-
Conda (📥 1.1M · ⏱️ 09.05.2024):
conda install -c conda-forge azure-storage-blob
redis (🥇42 · ⭐ 12K) — Redis Python client. MIT
-
GitHub (👨💻 440 · 🔀 2.5K · 📋 1.7K — 13% open · ⏱️ 06.06.2024):
git clone https://github.com/redis/redis-py
-
PyPi (📥 41M / month · 📦 5.5K · ⏱️ 06.06.2024):
-
Conda (📥 1.2M · ⏱️ 06.06.2024):
conda install -c conda-forge redis-py
google-cloud-storage (🥇42 · ⭐ 4.7K) — Google Cloud Client Library for Python. Apache-2
-
GitHub (👨💻 520 · 🔀 1.5K · 📋 3.8K — 2% open · ⏱️ 05.06.2024):
git clone https://github.com/googleapis/google-cloud-python
-
PyPi (📥 75M / month · 📦 1.6K · ⏱️ 18.03.2024):
pip install google-cloud-storage
-
Conda (📥 4.5M · ⏱️ 19.03.2024):
conda install -c conda-forge google-cloud-storage
elasticsearch (🥇42 · ⭐ 4.2K) — Official Python client for Elasticsearch. Apache-2
-
GitHub (👨💻 200 · 🔀 1.2K · 📥 3.9K · 📦 49K · 📋 1.1K — 5% open · ⏱️ 06.06.2024):
git clone https://github.com/elastic/elasticsearch-py
-
PyPi (📥 28M / month · 📦 1.4K · ⏱️ 06.06.2024):
pip install elasticsearch
-
Conda (📥 1M · ⏱️ 25.05.2024):
conda install -c conda-forge elasticsearch
peewee (🥇41 · ⭐ 11K) — a small, expressive orm — supports postgresql, mysql, sqlite and.. MIT
-
GitHub (👨💻 160 · 🔀 1.4K · 📦 30K · 📋 2.4K — 0% open · ⏱️ 22.05.2024):
git clone https://github.com/coleifer/peewee
-
PyPi (📥 2.6M / month · 📦 900 · ⏱️ 10.05.2024):
-
Conda (📥 670K · ⏱️ 18.04.2024):
conda install -c conda-forge peewee
PyMySQL (🥈40 · ⭐ 7.6K) — MySQL client library for Python. MIT
-
GitHub (👨💻 120 · 🔀 1.4K · 📦 220K · 📋 660 — 2% open · ⏱️ 21.05.2024):
git clone https://github.com/PyMySQL/PyMySQL
-
PyPi (📥 50M / month · 📦 7 · ⏱️ 21.05.2024):
-
Conda (📥 1.4M · ⏱️ 26.06.2023):
conda install -c conda-forge pymysql
python-bigquery (🥈39 · ⭐ 720) — Google BigQuery API client library. Apache-2
-
GitHub (👨💻 160 · 🔀 280 · 📦 30K · 📋 660 — 7% open · ⏱️ 04.06.2024):
git clone https://github.com/googleapis/python-bigquery
-
PyPi (📥 48M / month · 📦 880 · ⏱️ 04.06.2024):
pip install google-cloud-bigquery
-
Conda (📥 2.9M · ⏱️ 05.06.2024):
conda install -c conda-forge google-cloud-bigquery
Ibis (🥈38 · ⭐ 4.4K) — the portable Python dataframe library. Apache-2
-
GitHub (👨💻 310 · 🔀 540 · 📥 150 · 📦 1.6K · 📋 2.9K — 9% open · ⏱️ 05.06.2024):
git clone https://github.com/ibis-project/ibis
-
PyPi (📥 190K / month · 📦 67 · ⏱️ 02.06.2024):
pip install ibis-framework
-
Conda (📥 340K · ⏱️ 13.05.2024):
conda install -c conda-forge ibis-framework
MongoEngine (🥈38 · ⭐ 4.2K) — A Python Object-Document-Mapper for working with MongoDB. MIT
-
GitHub (👨💻 390 · 🔀 1.2K · 📦 24K · 📋 1.7K — 22% open · ⏱️ 10.03.2024):
git clone https://github.com/MongoEngine/mongoengine
-
PyPi (📥 1.1M / month · 📦 390 · ⏱️ 07.03.2024):
-
Conda (📥 250K · ⏱️ 28.09.2023):
conda install -c conda-forge mongoengine
pymongo (🥈38 · ⭐ 4.1K) — PyMongo — the Official MongoDB Python driver. Apache-2
-
GitHub (👨💻 210 · 🔀 1.1K · ⏱️ 05.06.2024):
git clone https://github.com/mongodb/mongo-python-driver
-
PyPi (📥 29M / month · 📦 4K · ⏱️ 04.06.2024):
-
Conda (📥 1.8M · ⏱️ 05.06.2024):
conda install -c conda-forge pymongo
AWS Data Wrangler (🥈38 · ⭐ 3.8K) — pandas on AWS — Easy integration with Athena, Glue,.. Apache-2
-
GitHub (👨💻 150 · 🔀 670 · 📥 240K · 📦 1.6K · 📋 1.1K — 3% open · ⏱️ 05.06.2024):
git clone https://github.com/awslabs/aws-data-wrangler
-
PyPi (📥 46M / month · 📦 97 · ⏱️ 05.06.2024):
-
Conda (📥 500K · ⏱️ 05.06.2024):
conda install -c conda-forge awswrangler
sqlmodel (🥈37 · ⭐ 13K · 📈) — SQL databases in Python, designed for simplicity, compatibility,.. MIT
pydantic
-
GitHub (👨💻 77 · 🔀 610 · 📦 13K · 📋 390 — 60% open · ⏱️ 05.06.2024):
git clone https://github.com/tiangolo/sqlmodel
-
PyPi (📥 1.4M / month · 📦 360 · ⏱️ 04.06.2024):
-
Conda (📥 31K · ⏱️ 04.06.2024):
conda install -c conda-forge sqlmodel
kafka-python (🥈37 · ⭐ 5.5K) — Python client for Apache Kafka. Apache-2
-
GitHub (👨💻 220 · 🔀 1.4K · 📥 1.8K · 📦 26K · 📋 1.5K — 20% open · ⏱️ 08.03.2024):
git clone https://github.com/dpkp/kafka-python
-
PyPi (📥 13M / month · 📦 690 · ⏱️ 30.09.2020):
-
Conda (📥 440K · ⏱️ 16.06.2023):
conda install -c conda-forge kafka-python
Elasticsearch DSL (🥈37 · ⭐ 3.8K) — High level Python client for Elasticsearch. Apache-2
-
GitHub (👨💻 140 · 🔀 800 · 📥 200 · 📦 10K · 📋 1.3K — 3% open · ⏱️ 30.05.2024):
git clone https://github.com/elastic/elasticsearch-dsl-py
-
PyPi (📥 4.5M / month · 📦 340 · ⏱️ 30.04.2024):
pip install elasticsearch-dsl
-
Conda:
conda install -c anaconda elasticsearch-dsl
alembic (🥈36 · ⭐ 2.5K · 📉) — A database migrations tool for SQLAlchemy. MIT
-
GitHub (👨💻 180 · 🔀 230 · 📦 220K · 📋 1.1K — 10% open · ⏱️ 24.04.2024):
git clone https://github.com/sqlalchemy/alembic
-
PyPi (📥 41M / month · 📦 1.5K · ⏱️ 20.12.2023):
-
Conda (📥 4.7M · ⏱️ 13.01.2024):
conda install -c conda-forge alembic
SQLAlchemy-Utils (🥈36 · ⭐ 1.2K) — Various utility functions and datatypes for SQLAlchemy. BSD-3
-
GitHub (👨💻 120 · 🔀 320 · 📦 30K · 📋 440 — 45% open · ⏱️ 22.03.2024):
git clone https://github.com/kvesteri/sqlalchemy-utils
-
PyPi (📥 7.3M / month · 📦 860 · ⏱️ 24.03.2024):
pip install sqlalchemy-utils
-
Conda (📥 580K · ⏱️ 24.03.2024):
conda install -c conda-forge sqlalchemy-utils
s3fs (🥈36 · ⭐ 830) — S3 Filesystem. BSD-3
-
GitHub (👨💻 140 · 🔀 270 · 📦 18K · 📋 470 — 29% open · ⏱️ 04.06.2024):
git clone https://github.com/fsspec/s3fs
-
PyPi (📥 260M / month · 📦 950 · ⏱️ 04.06.2024):
-
Conda (📥 6.9M · ⏱️ 04.06.2024):
conda install -c conda-forge s3fs
tortoise-orm (🥈35 · ⭐ 4.3K) — Familiar asyncio ORM for python, built with relations in mind. Apache-2
-
GitHub (👨💻 130 · 🔀 350 · 📥 13 · 📦 7.8K · 📋 1.1K — 50% open · ⏱️ 03.06.2024):
git clone https://github.com/tortoise/tortoise-orm
-
PyPi (📥 140K / month · 📦 160 · ⏱️ 01.06.2024):
-
Conda:
conda install -c conda-forge tortoise-orm
Motor (🥈35 · ⭐ 2.3K) — Motor — the async Python driver for MongoDB and Tornado or asyncio. Apache-2
-
GitHub (👨💻 52 · 🔀 210 · 📦 91K · ⏱️ 05.06.2024):
git clone https://github.com/mongodb/motor
-
PyPi (📥 2M / month · 📦 560 · ⏱️ 26.03.2024):
-
Conda (📥 68K · ⏱️ 26.03.2024):
conda install -c conda-forge motor
s3transfer (🥈35 · ⭐ 200) — Amazon S3 Transfer Manager for Python. Apache-2
-
GitHub (👨💻 39 · 🔀 130 · 📦 290K · 📋 87 — 58% open · ⏱️ 23.05.2024):
git clone https://github.com/boto/s3transfer
-
PyPi (📥 340M / month · 📦 670 · ⏱️ 14.03.2024):
-
Conda:
conda install -c conda-forge s3transfer
Prometheus Client (🥈34 · ⭐ 3.8K) — Prometheus instrumentation library for Python.. Apache-2
-
GitHub (👨💻 150 · 🔀 790 · 📋 550 — 19% open · ⏱️ 28.05.2024):
git clone https://github.com/prometheus/client_python
-
PyPi (📥 36M / month · 📦 1.5K · ⏱️ 14.02.2024):
pip install prometheus_client
-
Conda (📥 17M · ⏱️ 14.02.2024):
conda install -c conda-forge prometheus_client
Databases (🥈34 · ⭐ 3.7K) — Async database support for Python. BSD-3
-
GitHub (👨💻 59 · 🔀 260 · 📦 23K · 📋 330 — 39% open · ⏱️ 01.03.2024):
git clone https://github.com/encode/databases
-
PyPi (📥 720K / month · 📦 160 · ⏱️ 01.03.2024):
-
Conda:
conda install -c conda-forge databases
mysqlclient (🥈34 · ⭐ 2.4K) — MySQL database connector for Python (with Python 3 support). ❗️GPL-2.0
-
GitHub (👨💻 84 · 🔀 430 · 📥 5.3K · 📦 170K · 📋 340 — 3% open · ⏱️ 08.02.2024):
git clone https://github.com/PyMySQL/mysqlclient
-
PyPi (📥 8.3M / month · 📦 800 · ⏱️ 08.02.2024):
-
Conda (📥 370K · ⏱️ 10.03.2024):
conda install -c conda-forge mysqlclient
Cassandra Driver (🥈34 · ⭐ 1.4K) — DataStax Python Driver for Apache Cassandra. Apache-2
-
GitHub (👨💻 200 · 🔀 540 · 📦 7K · ⏱️ 31.05.2024):
git clone https://github.com/datastax/python-driver
-
PyPi (📥 2.1M / month · 📦 200 · ⏱️ 20.03.2024):
pip install cassandra-driver
-
Conda (📥 220K · ⏱️ 20.03.2024):
conda install -c conda-forge cassandra-driver
PyPika (🥉33 · ⭐ 2.4K) — PyPika is a python SQL query builder that exposes the full richness.. Apache-2
-
GitHub (👨💻 100 · 🔀 290 · 📦 22K · 📋 470 — 44% open · ⏱️ 26.04.2024):
git clone https://github.com/kayak/pypika
-
PyPi (📥 3.1M / month · 📦 160 · ⏱️ 15.03.2022):
-
Conda (📥 16K · ⏱️ 16.06.2023):
conda install -c conda-forge pypika
neo4j-driver (🥉33 · ⭐ 870) — Neo4j Bolt driver for Python. Apache-2
-
GitHub (👨💻 43 · 🔀 190 · 📦 9.5K · 📋 240 — 1% open · ⏱️ 15.05.2024):
git clone https://github.com/neo4j/neo4j-python-driver
-
PyPi (📥 130K / month · 📦 61 · ⏱️ 26.04.2024):
-
Conda:
conda install -c conda-forge neo4j-python-driver
minio (🥉33 · ⭐ 790) — MinIO Client SDK for Python. Apache-2
-
GitHub (👨💻 130 · 🔀 310 · 📦 7.7K · 📋 560 — 1% open · ⏱️ 30.04.2024):
git clone https://github.com/minio/minio-py
-
PyPi (📥 2.7M / month · 📦 510 · ⏱️ 30.04.2024):
-
Conda (📥 170K · ⏱️ 01.05.2024):
conda install -c conda-forge minio
pandas-gbq (🥉33 · ⭐ 420) — Google BigQuery connector for pandas. BSD-3
-
GitHub (👨💻 51 · 🔀 120 · 📥 350 · 📦 10K · 📋 350 — 10% open · ⏱️ 04.06.2024):
git clone https://github.com/googleapis/python-bigquery-pandas
-
PyPi (📥 16M / month · 📦 180 · ⏱️ 20.05.2024):
-
Conda (📥 1.9M · ⏱️ 30.05.2024):
conda install -c conda-forge pandas-gbq
Pony (🥉32 · ⭐ 3.6K · 💤) — Pony Object Relational Mapper. Apache-2
-
GitHub (👨💻 30 · 🔀 240 · 📥 110 · 📦 4K · 📋 650 — 48% open · ⏱️ 25.09.2023):
git clone https://github.com/ponyorm/pony
-
PyPi (📥 180K / month · 📦 160 · ⏱️ 25.09.2023):
-
Conda (📥 100K · ⏱️ 25.09.2023):
conda install -c conda-forge pony
PynamoDB (🥉32 · ⭐ 2.4K) — A pythonic interface to Amazons DynamoDB. MIT
-
GitHub (👨💻 110 · 🔀 430 · 📦 1.7K · 📋 660 — 42% open · ⏱️ 29.05.2024):
git clone https://github.com/pynamodb/PynamoDB
-
PyPi (📥 2.3M / month · 📦 80 · ⏱️ 29.05.2024):
-
Conda (📥 660K · ⏱️ 31.05.2024):
conda install -c conda-forge pynamodb
libcloud (🥉32 · ⭐ 2K) — Apache Libcloud is a Python library which hides differences between.. Apache-2
-
GitHub (👨💻 480 · 🔀 930 · 📋 210 — 40% open · ⏱️ 27.04.2024):
git clone https://github.com/apache/libcloud
-
PyPi (📥 180K / month · 📦 160 · ⏱️ 10.08.2023):
pip install apache-libcloud
pygsheets (🥉32 · ⭐ 1.5K) — Google Sheets Python API v4. MIT
-
GitHub (👨💻 91 · 🔀 220 · 📦 2.5K · 📋 400 — 15% open · ⏱️ 14.01.2024):
git clone https://github.com/nithinmurali/pygsheets
-
PyPi (📥 1.8M / month · 📦 76 · ⏱️ 30.11.2022):
Records (🥉31 · ⭐ 7.1K) — SQL for Humans. ISC
-
GitHub (👨💻 50 · 🔀 570 · 📦 1.2K · 📋 130 — 29% open · ⏱️ 30.03.2024):
git clone https://github.com/kennethreitz/records
-
PyPi (📥 190K / month · 📦 46 · ⏱️ 29.03.2024):
-
Conda:
conda install -c conda-forge records
influxdb (🥉31 · ⭐ 1.7K) — Python client for InfluxDB. MIT
-
GitHub (👨💻 140 · 🔀 520 · 📋 550 — 30% open · ⏱️ 17.04.2024):
git clone https://github.com/influxdata/influxdb-python
-
PyPi (📥 2.3M / month · 📦 350 · ⏱️ 18.04.2024):
-
Conda (📥 150K · ⏱️ 16.06.2023):
conda install -c conda-forge influxdb
cx-Oracle (🥉31 · ⭐ 880) — Python interface to Oracle Database now superseded by python-oracledb. BSD-3
-
GitHub (👨💻 17 · 🔀 360 · 📦 8.3K · 📋 650 — 4% open · ⏱️ 31.05.2024):
git clone https://github.com/oracle/python-cx_Oracle
-
PyPi (📥 3.9M / month · 📦 420 · ⏱️ 20.07.2023):
-
Conda:
conda install -c conda-forge cx_oracle
dataset (🥉30 · ⭐ 4.7K · 💤) — Easy-to-use data handling for SQL data stores with support for.. MIT
-
GitHub (👨💻 78 · 🔀 300 · 📦 3.9K · 📋 300 — 12% open · ⏱️ 12.07.2023):
git clone https://github.com/pudo/dataset
-
PyPi (📥 120K / month · 📦 130 · ⏱️ 12.07.2023):
-
Conda (📥 8.9K · ⏱️ 12.07.2023):
conda install -c conda-forge dataset
confluent-kafka-python (🥉29 · ⭐ 3.6K) — Confluents Kafka Python Client. Apache-2
-
GitHub (👨💻 100 · 🔀 880 · 📦 10K):
git clone https://github.com/confluentinc/confluent-kafka-python
-
PyPi (📥 15M / month · 📦 530 · ⏱️ 07.05.2024):
pip install confluent-kafka
-
Conda (📥 890K · ⏱️ 21.05.2024):
conda install -c conda-forge python-confluent-kafka
piccolos (🥉29 · ⭐ 1.3K) — A fast, user friendly ORM and query builder which supports asyncio. MIT
-
GitHub (👨💻 43 · 🔀 85 · 📦 360 · 📋 390 — 32% open · ⏱️ 03.06.2024):
git clone https://github.com/piccolo-orm/piccolo
-
PyPi (📥 19K / month · 📦 16 · ⏱️ 31.05.2024):
pysolr (🥉29 · ⭐ 660) — Pysolr Python Solr client. BSD-3
-
GitHub (👨💻 72 · 🔀 340 · 📦 3.4K · 📋 160 — 18% open · ⏱️ 21.05.2024):
git clone https://github.com/django-haystack/pysolr
-
PyPi (📥 290K / month · 📦 54 · ⏱️ 13.10.2023):
-
Conda (📥 34K · ⏱️ 16.06.2023):
conda install -c conda-forge pysolr
prisma (🥉27 · ⭐ 1.7K) — Prisma Client Python is an auto-generated and fully type-safe.. Apache-2
-
GitHub (👨💻 28 · 🔀 69 · 📋 390 — 52% open · ⏱️ 30.05.2024):
git clone https://github.com/RobertCraigie/prisma-client-py
-
PyPi (📥 92K / month · 📦 16 · ⏱️ 24.03.2024):
HappyBase (🥉27 · ⭐ 610) — A developer-friendly Python library to interact with Apache HBase. MIT
-
GitHub (👨💻 21 · 🔀 160 · 📦 860 · 📋 220 — 15% open · ⏱️ 04.12.2023):
git clone https://github.com/python-happybase/happybase
-
PyPi (📥 38K / month · 📦 35 · ⏱️ 14.05.2019):
-
Conda (📥 160K · ⏱️ 16.06.2023):
conda install -c conda-forge happybase
ODMantic (🥉26 · ⭐ 1K) — Sync and Async ODM (Object Document Mapper) for MongoDB based on python.. ISC
-
GitHub (👨💻 19 · 🔀 92 · 📦 3.3K · 📋 180 — 50% open · ⏱️ 26.04.2024):
git clone https://github.com/art049/odmantic
-
PyPi (📥 30K / month · 📦 8 · ⏱️ 26.04.2024):
filedepot (🥉25 · ⭐ 160) — Toolkit for storing files and attachments in web applications. MIT
-
GitHub (👨💻 21 · 🔀 43 · 📦 1.1K · 📋 46 — 15% open · ⏱️ 22.02.2024):
git clone https://github.com/amol-/depot
-
PyPi (📥 13K / month · 📦 9 · ⏱️ 22.02.2024):
aioprometheus (🥉21 · ⭐ 170) — A Prometheus Python client library for asyncio-based applications. MIT
-
GitHub (👨💻 12 · 🔀 19 · 📦 330 · 📋 36 — 33% open · ⏱️ 27.12.2023):
git clone https://github.com/claws/aioprometheus
-
PyPi (📥 140K / month · 📦 15 · ⏱️ 27.12.2023):
pip install aioprometheus
psycopg3 (🥉19 · ⭐ 1.5K) — New generation PostgreSQL database adapter for the Python.. ❗️LGPL-3.0
-
GitHub (👨💻 56 · 🔀 150 · 📋 460 — 7% open · ⏱️ 04.06.2024):
git clone https://github.com/psycopg/psycopg
Show 17 hidden projects…
- psycopg2 (🥈38 · ⭐ 3.2K) — PostgreSQL database adapter for the Python..
❗️BSD-3-Clause-Attribution
- pyodbc (🥈35 · ⭐ 2.9K) — Python ODBC bridge.
❗️MIT-0
- google-cloud-bigtable (🥉31 · ⭐ 63) — Google Cloud Bigtable API client library.
Apache-2
- gino (🥉29 · ⭐ 2.7K · 💀) — GINO Is Not ORM — a Python asyncio ORM on SQLAlchemy core.
BSD-3
- redis-py-cluster (🥉29 · ⭐ 1.1K · 💀) — Python cluster client for the official redis cluster…
MIT
- umongo (🥉28 · ⭐ 440 · 💀) — sync/async MongoDB ODM, yes.
MIT
- cloudant (🥉28 · ⭐ 160 · 💀) — A Python library for Cloudant and CouchDB.
Apache-2
- mongo-connector (🥉27 · ⭐ 1.9K · 💀) — MongoDB data stream pipeline tools by YouGov (adopted..
Apache-2
- pyhdb (🥉24 · ⭐ 320 · 💀) — SAP HANA Connector in pure Python.
Apache-2
- PyMODM (🥉21 · ⭐ 350 · 💀) — A Pythonic, object-oriented interface for working with MongoDB.
Apache-2
- gsheets-db-api (🥉21 · ⭐ 210 · 💀) — A Python DB-API and SQLAlchemy dialect to Google Spreasheets.
MIT
- py2neo (🥉21 · ⭐ 14 · 💤) — EOL! Py2neo is a comprehensive Neo4j driver library and toolkit for..
Apache-2
- PugSQL (🥉20 · ⭐ 670 · 💀) — A HugSQL-inspired database library for Python.
Apache-2
- db.py (🥉19 · ⭐ 1.2K · 💀) — db.py is an easier way to interact with your databases.
BSD-2
- Queries (🥉19 · ⭐ 260 · 💀) — PostgreSQL database access simplified.
BSD-3
- SuperSQLite (🥉15 · ⭐ 720 · 💀) — A supercharged SQLite library for Python.
MIT
- lazydata (🥉15 · ⭐ 630 · 💀) — Lazydata: Scalable data dependencies for Python projects.
Apache-2
Data Loading & Extraction
Libraries for loading, collecting, and extracting data from a variety of data sources and formats.
Datasets (🥇43 · ⭐ 19K) — The largest hub of ready-to-use datasets for ML models with fast,.. Apache-2
-
GitHub (👨💻 560 · 🔀 2.5K · 📦 51K · 📋 2.9K — 24% open · ⏱️ 06.06.2024):
git clone https://github.com/huggingface/datasets
-
PyPi (📥 10M / month · 📦 1.7K · ⏱️ 03.06.2024):
-
Conda (📥 790K · ⏱️ 03.06.2024):
conda install -c conda-forge datasets
Faker (🥇43 · ⭐ 17K) — Faker is a Python package that generates fake data for you. MIT
-
GitHub (👨💻 580 · 🔀 1.9K · 📦 220K · 📋 720 — 2% open · ⏱️ 04.06.2024):
git clone https://github.com/joke2k/faker
-
PyPi (📥 16M / month · 📦 1.8K · ⏱️ 04.06.2024):
-
Conda (📥 950K · ⏱️ 05.06.2024):
conda install -c conda-forge faker
Tablib (🥇36 · ⭐ 4.5K) — Python Module for Tabular Datasets in XLS, CSV, JSON, YAML, &c. MIT
-
GitHub (👨💻 130 · 🔀 590 · 📦 98K · 📋 260 — 12% open · ⏱️ 05.04.2024):
git clone https://github.com/jazzband/tablib
-
PyPi (📥 1.9M / month · 📦 170 · ⏱️ 04.04.2024):
-
Conda (📥 98K · ⏱️ 04.04.2024):
conda install -c conda-forge tablib
xlwings (🥇36 · ⭐ 2.9K) — xlwings is a Python library that makes it easy to call Python from.. BSD-3
-
GitHub (👨💻 65 · 🔀 480 · 📥 17K · 📦 31K · 📋 1.9K — 18% open · ⏱️ 03.06.2024):
git clone https://github.com/xlwings/xlwings
-
PyPi (📥 160K / month · 📦 150 · ⏱️ 03.06.2024):
-
Conda (📥 770K · ⏱️ 04.06.2024):
conda install -c conda-forge xlwings
xmltodict (🥈35 · ⭐ 5.4K) — Python module that makes working with XML feel like you are working.. MIT
-
GitHub (👨💻 51 · 🔀 460 · 📦 67K · 📋 260 — 36% open · ⏱️ 03.05.2024):
git clone https://github.com/martinblech/xmltodict
-
PyPi (📥 48M / month · 📦 2.9K · ⏱️ 08.05.2022):
-
Conda (📥 4M · ⏱️ 16.06.2023):
conda install -c conda-forge xmltodict
python-magic (🥈35 · ⭐ 2.6K) — A python wrapper for libmagic. MIT
-
GitHub (👨💻 63 · 🔀 270 · 📦 58K · 📋 210 — 8% open · ⏱️ 26.05.2024):
git clone https://github.com/ahupp/python-magic
-
PyPi (📥 9.2M / month · 📦 1.4K · ⏱️ 07.06.2022):
-
Conda (📥 260K · ⏱️ 25.09.2023):
conda install -c conda-forge python-magic
gdown (🥈34 · ⭐ 4K) — Google Drive Public File Downloader when Curl/Wget Fails. MIT
-
GitHub (👨💻 24 · 🔀 330 · 📦 32K · 📋 170 — 19% open · ⏱️ 12.05.2024):
git clone https://github.com/wkentaro/gdown
-
PyPi (📥 1.5M / month · 📦 800 · ⏱️ 12.05.2024):
-
Conda (📥 280K · ⏱️ 12.05.2024):
conda install -c conda-forge gdown
smart-open (🥈34 · ⭐ 3.1K) — Utils for streaming large files (S3, HDFS, gzip, bz2…). MIT
-
GitHub (👨💻 120 · 🔀 380 · 📋 390 — 16% open · ⏱️ 08.05.2024):
git clone https://github.com/RaRe-Technologies/smart_open
-
PyPi (📥 25M / month · 📦 510 · ⏱️ 26.03.2024):
-
Conda (📥 2.5M · ⏱️ 26.03.2024):
conda install -c conda-forge smart_open
csvkit (🥈33 · ⭐ 5.9K) — A suite of utilities for converting to and working with CSV, the king of.. MIT
-
GitHub (👨💻 110 · 🔀 600 · 📦 1.6K · 📋 910 — 3% open · ⏱️ 22.05.2024):
git clone https://github.com/wireservice/csvkit
-
PyPi (📥 140K / month · 📦 39 · ⏱️ 01.05.2024):
-
Conda (📥 110K · ⏱️ 02.05.2024):
conda install -c conda-forge csvkit
pandas-datareader (🥈32 · ⭐ 2.8K · 💤) — Extract data from a wide range of Internet sources.. BSD-3
-
GitHub (👨💻 92 · 🔀 670 · 📦 24K · 📋 540 — 26% open · ⏱️ 24.10.2023):
git clone https://github.com/pydata/pandas-datareader
-
PyPi (📥 500K / month · 📦 260 · ⏱️ 13.07.2021):
pip install pandas-datareader
-
Conda (📥 360K · ⏱️ 16.06.2023):
conda install -c conda-forge pandas-datareader
Intake (🥈32 · ⭐ 990) — Intake is a lightweight package for finding, investigating, loading and.. BSD-2
-
GitHub (👨💻 89 · 🔀 140 · 📦 2.4K · 📋 380 — 28% open · ⏱️ 05.06.2024):
git clone https://github.com/intake/intake
-
PyPi (📥 67K / month · 📦 170 · ⏱️ 24.04.2024):
-
Conda (📥 590K · ⏱️ 24.04.2024):
conda install -c conda-forge intake
snorkel (🥉31 · ⭐ 5.7K) — A system for quickly generating training data with weak supervision. Apache-2
-
GitHub (👨💻 81 · 🔀 860 · 📥 1.1K · 📦 520 · 📋 980 — 1% open · ⏱️ 27.02.2024):
git clone https://github.com/snorkel-team/snorkel
-
PyPi (📥 35K / month · 📦 18 · ⏱️ 27.02.2024):
-
Conda (📥 50K · ⏱️ 28.02.2024):
conda install -c conda-forge snorkel
textract (🥉27 · ⭐ 3.8K) — extract text from any document. no muss. no fuss. MIT
-
GitHub (👨💻 41 · 🔀 580 · 📋 260 — 50% open · ⏱️ 10.03.2024):
git clone https://github.com/deanmalmgren/textract
-
PyPi (📥 290K / month · 📦 58 · ⏱️ 10.03.2022):
-
Conda (📥 24K · ⏱️ 16.06.2023):
conda install -c conda-forge textract
img2dataset (🥉27 · ⭐ 3.4K) — Easily turn large sets of image urls to an image dataset. Can.. MIT
-
GitHub (👨💻 34 · 🔀 310 · 📥 1.7K · 📦 150 · 📋 250 — 43% open · ⏱️ 22.02.2024):
git clone https://github.com/rom1504/img2dataset
-
PyPi (📥 22K / month · 📦 2 · ⏱️ 22.01.2024):
deepdish (🥉24 · ⭐ 270) — Flexible HDF5 saving/loading and other data science tools from the.. BSD-3
-
GitHub (👨💻 11 · 🔀 58 · 📦 880 · 📋 42 — 42% open · ⏱️ 29.05.2024):
git clone https://github.com/uchicago-cs/deepdish
-
PyPi (📥 18K / month · 📦 64 · ⏱️ 24.09.2021):
-
Conda (📥 96K · ⏱️ 16.06.2023):
conda install -c conda-forge deepdish
camelot (🥉23 · ⭐ 2.7K · 💤) — A Python library to extract tabular data from PDFs. MIT
-
GitHub (👨💻 46 · 🔀 430 · 📋 380 — 70% open · ⏱️ 02.10.2023):
git clone https://github.com/camelot-dev/camelot
-
PyPi (📥 6.4K / month · 📦 6 · ⏱️ 15.12.2021):
rows (🥉23 · ⭐ 860) — A common, beautiful interface to tabular data, no matter the format. ❗️LGPL-3.0
-
GitHub (👨💻 31 · 🔀 140 · 📥 38 · 📦 170 · 📋 320 — 52% open · ⏱️ 16.05.2024):
git clone https://github.com/turicas/rows
-
PyPi (📥 1.4K / month · 📦 6 · ⏱️ 15.12.2021):
excalibur (🥉21 · ⭐ 1.5K · 💤) — A web interface to extract tabular data from PDFs. MIT
-
GitHub (👨💻 13 · 🔀 220 · 📥 12K · 📋 130 — 68% open · ⏱️ 15.07.2023):
git clone https://github.com/camelot-dev/excalibur
-
PyPi (📥 1.5K / month · ⏱️ 21.03.2020):
Upgini (🥉21 · ⭐ 300) — Data search & enrichment library for Machine Learning Easily find and add.. BSD-3
-
GitHub (👨💻 12 · 🔀 25 · 📦 6 · ⏱️ 01.06.2024):
git clone https://github.com/upgini/upgini
-
PyPi (📥 8.5K / month · ⏱️ 05.06.2024):
Squirrel (🥉17 · ⭐ 280) — A Python library that enables ML teams to share, load, and transform.. Apache-2
-
GitHub (👨💻 19 · 🔀 8 · 📦 2 · 📋 14 — 21% open · ⏱️ 08.05.2024):
git clone https://github.com/merantix-momentum/squirrel-core
-
PyPi (📥 1.3K / month · ⏱️ 08.05.2024):
pip install squirrel-core
-
Conda (📦 1 · ⏱️ 18.11.2022):
conda install -c anaconda squirrel-core
Show 10 hidden projects…
- xlrd (🥈33 · ⭐ 2.1K · 💀) — Please use openpyxl where you can…
BSD-3
- SDV (🥉31 · ⭐ 2.2K) — Synthetic data generation for tabular data.
❗️SSPL-1.0
- PDFMiner (🥉27 · ⭐ 5.2K · 💀) — Python PDF Parser (Not actively maintained). Check out pdfminer.six.
MIT
- tabulator-py (🥉27 · ⭐ 240 · 💀) — Python library for reading and writing tabular data via streams.
MIT
- Singer (🥉26 · ⭐ 1.2K · 💀) — Standard for moving data between databases, web APIs, files,..
❗️AGPL-3.0
- messytables (🥉24 · ⭐ 390 · 💀) — Tools for parsing messy tabular data. This is now superseded by..
MIT
- pyexcel-xlsx (🥉23 · ⭐ 110 · 💀) — A wrapper library to read, manipulate and write data in xlsx..
BSD-3
- borb (🥉22 · ⭐ 3.3K) — borb is a library for reading, creating and manipulating PDF files..
❗Unlicensed
- datatest (🥉21 · ⭐ 290 · 💀) — Tools for test driven data-wrangling and data validation.
Apache-2
- csvs-to-sqlite (🥉15 · ⭐ 860 · 💀) — Convert CSV files into a SQLite database.
Apache-2
Data Pipelines & Streaming
Libraries for data batch- and stream-processing, workflow automation, job scheduling, and other data pipeline tasks.
Airflow (🥇49 · ⭐ 35K) — Platform to programmatically author, schedule, and monitor workflows. Apache-2
-
GitHub (👨💻 3.3K · 🔀 14K · 📥 620K · 📦 11K · 📋 9.3K — 10% open · ⏱️ 06.06.2024):
git clone https://github.com/apache/airflow
-
PyPi (📥 24M / month · 📦 470 · ⏱️ 06.06.2024):
pip install apache-airflow
-
Conda (📥 1.1M · ⏱️ 07.05.2024):
conda install -c conda-forge airflow
-
Docker Hub (📥 1.3B · ⭐ 520 · ⏱️ 06.06.2024):
docker pull apache/airflow
Celery (🥇46 · ⭐ 24K) — Asynchronous task queue/job queue based on distributed message passing. BSD-3
-
GitHub (👨💻 1.4K · 🔀 4.6K · 📦 130K · 📋 5.1K — 14% open · ⏱️ 05.06.2024):
git clone https://github.com/celery/celery
-
PyPi (📥 11M / month · 📦 1.7K · ⏱️ 17.04.2024):
-
Conda (📥 1.7M · ⏱️ 30.12.2023):
conda install -c conda-forge celery
Beam (🥇44 · ⭐ 7.6K) — Unified programming model to define and execute data processing.. Apache-2
-
GitHub (👨💻 1.6K · 🔀 4.1K · 📦 7.1K · 📋 6.8K — 64% open · ⏱️ 06.06.2024):
git clone https://github.com/apache/beam
-
PyPi (📥 8.6M / month · 📦 150 · ⏱️ 02.05.2024):
-
Conda (📥 77K · ⏱️ 08.05.2024):
conda install -c conda-forge apache-beam-with-aws
Prefect (🥇43 · ⭐ 15K) — Prefect is a workflow orchestration tool empowering developers to.. Apache-2
-
GitHub (👨💻 470 · 🔀 1.5K · 📦 4.9K · 📋 5K — 17% open · ⏱️ 06.06.2024):
git clone https://github.com/PrefectHQ/prefect
-
PyPi (📥 1.7M / month · 📦 250 · ⏱️ 04.06.2024):
-
Conda (📥 660K · ⏱️ 05.06.2024):
conda install -c conda-forge prefect
Dagster (🥇42 · ⭐ 10K) — An orchestration platform for the development, production, and.. Apache-2
-
GitHub (👨💻 430 · 🔀 1.3K · 📦 2.4K · 📋 7.4K — 33% open · ⏱️ 06.06.2024):
git clone https://github.com/dagster-io/dagster
-
PyPi (📥 980K / month · 📦 170 · ⏱️ 30.05.2024):
-
Conda (📥 1.2M · ⏱️ 31.05.2024):
conda install -c conda-forge dagster
Great Expectations (🥈40 · ⭐ 9.6K) — Always know what to expect from your data. Apache-2
-
GitHub (👨💻 430 · 🔀 1.5K · 📋 1.9K — 11% open · ⏱️ 06.06.2024):
git clone https://github.com/great-expectations/great_expectations
-
PyPi (📥 21M / month · 📦 92 · ⏱️ 28.05.2024):
pip install great_expectations
-
Conda (📥 810K · ⏱️ 29.05.2024):
conda install -c conda-forge great-expectations
joblib (🥈40 · ⭐ 3.7K) — Computing with Python functions. BSD-3
-
GitHub (👨💻 130 · 🔀 410 · 📦 450K · 📋 900 — 45% open · ⏱️ 02.05.2024):
git clone https://github.com/joblib/joblib
-
PyPi (📥 54M / month · 📦 6K · ⏱️ 02.05.2024):
-
Conda (📥 26M · ⏱️ 02.05.2024):
conda install -c conda-forge joblib
rq (🥈39 · ⭐ 9.6K) — Simple job queues for Python. BSD-3
-
GitHub (👨💻 320 · 🔀 1.4K · 📦 17K · 📋 1.2K — 17% open · ⏱️ 26.05.2024):
git clone https://github.com/rq/rq
-
PyPi (📥 1.4M / month · 📦 220 · ⏱️ 01.05.2024):
-
Conda (📥 110K · ⏱️ 26.03.2024):
conda install -c conda-forge rq
luigi (🥈38 · ⭐ 17K · 📈) — Luigi is a Python module that helps you build complex pipelines of.. Apache-2
-
GitHub (👨💻 620 · 🔀 2.4K · 📦 2.4K · 📋 1K — 12% open · ⏱️ 20.05.2024):
git clone https://github.com/spotify/luigi
-
PyPi (📥 480K / month · 📦 140 · ⏱️ 20.05.2024):
-
Conda (📥 14K · 📦 3 · ⏱️ 16.06.2023):
conda install -c anaconda luigi
Kedro (🥈38 · ⭐ 9.4K) — Kedro is a toolbox for production-ready data science. It uses software.. Apache-2
-
GitHub (👨💻 230 · 🔀 870 · 📦 2.4K · 📋 1.8K — 14% open · ⏱️ 06.06.2024):
git clone https://github.com/kedro-org/kedro
-
PyPi (📥 560K / month · 📦 110 · ⏱️ 27.05.2024):
dbt (🥈38 · ⭐ 9.1K) — dbt enables data analysts and engineers to transform their data using the.. Apache-2
-
GitHub (👨💻 320 · 🔀 1.5K · 📥 4.1K · 📦 5.1K · 📋 5.2K — 10% open · ⏱️ 05.06.2024):
git clone https://github.com/dbt-labs/dbt-core
-
PyPi (📥 47K / month · 📦 35 · ⏱️ 04.06.2024):
-
Conda (📥 260K · ⏱️ 16.06.2023):
conda install -c conda-forge dbt
petl (🥈35 · ⭐ 1.2K) — Python Extract Transform and Load Tables of Data. MIT
-
GitHub (👨💻 64 · 🔀 190 · 📦 3.7K · 📋 460 — 18% open · ⏱️ 17.04.2024):
git clone https://github.com/petl-developers/petl
-
PyPi (📥 1.6M / month · 📦 44 · ⏱️ 12.03.2024):
-
Conda (📥 230K · ⏱️ 13.03.2024):
conda install -c conda-forge petl
Activeloop (🥈33 · ⭐ 7.8K) — Database for AI. Store Vectors, Images, Texts, Videos, etc. Use.. MPL-2.0
-
GitHub (👨💻 130 · 🔀 600 · 📦 2.8K · 📋 450 — 11% open · ⏱️ 05.06.2024):
git clone https://github.com/activeloopai/Hub
-
PyPi (📥 4.7K / month · 📦 4 · ⏱️ 02.02.2023):
zenml (🥈32 · ⭐ 3.7K) — ZenML : Build portable, production-ready MLOps pipelines… Apache-2
-
GitHub (👨💻 93 · 🔀 400 · 📥 1 · 📦 540 · 📋 320 — 23% open · ⏱️ 27.05.2024):
git clone https://github.com/zenml-io/zenml
-
PyPi (📥 42K / month · 📦 3 · ⏱️ 27.05.2024):
whylogs (🥈31 · ⭐ 2.6K) — Open standard for end-to-end data and ML monitoring for any scale in.. Apache-2
-
GitHub (👨💻 34 · 🔀 120 · 📥 27 · 📦 260 · 📋 430 — 2% open · ⏱️ 29.05.2024):
git clone https://github.com/whylabs/whylogs
-
PyPi (📥 530K / month · 📦 7 · ⏱️ 22.05.2024):
arq (🥈31 · ⭐ 2K) — Fast job queuing and RPC in python with asyncio and redis. MIT
-
GitHub (👨💻 61 · 🔀 160 · 📦 620 · 📋 220 — 30% open · ⏱️ 01.05.2024):
git clone https://github.com/samuelcolvin/arq
-
PyPi (📥 97K / month · 📦 31 · ⏱️ 01.05.2024):
-
Conda (📥 10K · ⏱️ 02.05.2024):
conda install -c conda-forge arq
huey (🥉30 · ⭐ 4.9K) — a little task queue for python. MIT
-
GitHub (👨💻 67 · 🔀 360 · 📦 1.5K · ⏱️ 05.06.2024):
git clone https://github.com/coleifer/huey
-
PyPi (📥 100K / month · 📦 70 · ⏱️ 20.09.2023):
-
Conda (📥 34K · ⏱️ 16.06.2023):
conda install -c conda-forge huey
ploomber (🥉29 · ⭐ 3.4K) — The fastest way to build data pipelines. Develop iteratively,.. Apache-2
-
GitHub (👨💻 80 · 🔀 230 · 📦 130 · 📋 860 — 11% open · ⏱️ 20.02.2024):
git clone https://github.com/ploomber/ploomber
-
PyPi (📥 6.9K / month · 📦 11 · ⏱️ 08.02.2024):
-
Conda (📥 91K · ⏱️ 09.02.2024):
conda install -c conda-forge ploomber
mleap (🥉28 · ⭐ 1.5K · 💤) — MLeap: Deploy ML Pipelines to Production. Apache-2
-
GitHub (👨💻 85 · 🔀 310 · 📦 230 · 📋 480 — 23% open · ⏱️ 14.11.2023):
git clone https://github.com/combust/mleap
-
PyPi (📥 170K / month · 📦 11 · ⏱️ 14.11.2023):
-
Conda (📥 81K · ⏱️ 15.11.2023):
conda install -c conda-forge mleap
PyFunctional (🥉27 · ⭐ 2.4K) — Python library for creating data pipelines with chain functional.. MIT
-
GitHub (👨💻 31 · 🔀 130 · 📦 800 · 📋 140 — 10% open · ⏱️ 13.03.2024):
git clone https://github.com/EntilZha/PyFunctional
-
PyPi (📥 170K / month · 📦 27 · ⏱️ 13.03.2024):
streamparse (🥉25 · ⭐ 1.5K) — Run Python in Apache Storm topologies. Pythonic API, CLI.. Apache-2
-
GitHub (👨💻 45 · 🔀 220 · 📦 65 · 📋 340 — 21% open · ⏱️ 21.04.2024):
git clone https://github.com/Parsely/streamparse
-
PyPi (📥 1.7K / month · 📦 2 · ⏱️ 10.01.2022):
TaskTiger (🥉25 · ⭐ 1.4K) — Python task queue using Redis. MIT
-
GitHub (👨💻 30 · 🔀 81 · 📦 30 · 📋 84 — 51% open · ⏱️ 25.04.2024):
git clone https://github.com/closeio/tasktiger
-
PyPi (📥 4.4K / month · 📦 2 · ⏱️ 25.04.2024):
dbnd (🥉25 · ⭐ 250) — DBND is an agile pipeline framework that helps data engineering teams.. Apache-2
-
GitHub (👨💻 82 · 🔀 34 · 📦 36 · 📋 30 — 86% open · ⏱️ 19.05.2024):
git clone https://github.com/databand-ai/dbnd
-
PyPi (📥 270K / month · 📦 26 · ⏱️ 19.05.2024):
Databolt Flow (🥉19 · ⭐ 950 · 💤) — Python library for building highly effective data science.. MIT
-
GitHub (👨💻 13 · 🔀 77 · 📦 28 · 📋 24 — 45% open · ⏱️ 20.07.2023):
git clone https://github.com/d6t/d6tflow
-
PyPi (📥 270 / month · ⏱️ 20.02.2024):
BatchFlow (🥉19 · ⭐ 200) — BatchFlow helps you conveniently work with random or sequential.. Apache-2
-
GitHub (👨💻 37 · 🔀 44 · 📦 9 · 📋 110 — 29% open · ⏱️ 18.05.2024):
git clone https://github.com/analysiscenter/batchflow
-
PyPi (📥 210 / month · ⏱️ 01.08.2023):
flupy (🥉18 · ⭐ 190) — Fluent data pipelines for python and your shell. MIT
-
GitHub (👨💻 6 · 🔀 15 · 📋 14 — 14% open · ⏱️ 27.02.2024):
git clone https://github.com/olirice/flupy
-
PyPi (📥 230K / month · ⏱️ 21.10.2022):
Mara Pipelines (🥉16 · ⭐ 2.1K) — A lightweight opinionated ETL framework, halfway between plain.. MIT
-
GitHub (👨💻 17 · 🔀 100 · 📋 42 — 61% open · ⏱️ 07.12.2023):
git clone https://github.com/mara/mara-pipelines
-
PyPi (📥 59 / month · 📦 1 · ⏱️ 06.12.2023):
pip install mara-pipelines
Show 16 hidden projects…
- mrjob (🥈31 · ⭐ 2.6K · 💀) — Run MapReduce jobs on Hadoop or Amazon Web Services.
Apache-2
- faust (🥉29 · ⭐ 6.7K · 💀) — Python Stream Processing.
BSD-3
- Optimus (🥉25 · ⭐ 1.4K · 💀) — Agile Data Preparation Workflows madeeasy with Pandas,..
Apache-2
spark
- bonobo (🥉24 · ⭐ 1.6K · 💀) — Extract Transform Load for Python 3.5+.
Apache-2
- Pypeline (🥉24 · ⭐ 1.5K · 💀) — Concurrent data pipelines in Python .
MIT
- pysparkling (🥉23 · ⭐ 260 · 💀) — A pure Python implementation of Apache Sparks RDD and DStream..
MIT
- dpark (🥉22 · ⭐ 2.7K · 💀) — Python clone of Spark, a MapReduce alike framework in Python.
BSD-3
spark
- pdpipe (🥉20 · ⭐ 720 · 💀) — Easy pipelines for pandas DataFrames.
MIT
- spark-deep-learning (🥉19 · ⭐ 2K · 💀) — Deep Learning Pipelines for Apache Spark.
Apache-2
spark
- mrq (🥉19 · ⭐ 880 · 💀) — Mr. Queue — A distributed worker task queue in Python using Redis & gevent.
MIT
- riko (🥉18 · ⭐ 1.6K · 💀) — A Python stream processing engine modeled after Yahoo! Pipes.
MIT
- bodywork-core (🥉17 · ⭐ 430 · 💀) — ML pipeline orchestration and model deployments on..
❗️AGPL-3.0
- kale (🥉16 · ⭐ 630 · 💀) — Kubeflows superfood for Data Scientists.
Apache-2
jupyter
- Botflow (🥉15 · ⭐ 1.2K · 💀) — Python Fast Dataflow programming framework for Data pipeline work(..
BSD-3
- RasgoQL (🥉13 · ⭐ 270 · 💀) — Write python locally, execute SQL in your data warehouse.
❗️AGPL-3.0
- datajob (🥉13 · ⭐ 110 · 💀) — Build and deploy a serverless data pipeline on AWS with no effort.
Apache-2
File Formats
PyYAML (🥇38 · ⭐ 2.4K · 💤) — Canonical source repository for PyYAML. MIT
-
GitHub (👨💻 40 · 🔀 500 · 📦 1.2M · 📋 610 — 46% open · ⏱️ 14.11.2023):
git clone https://github.com/yaml/pyyaml
-
PyPi (📥 320M / month · 📦 37K · ⏱️ 18.07.2023):
-
Conda (📥 45M · ⏱️ 22.09.2023):
conda install -c conda-forge pyyaml
XlsxWriter (🥉36 · ⭐ 3.5K) — A Python module for creating Excel XLSX files. BSD-2
-
GitHub (👨💻 52 · 🔀 620 · 📦 78K · 📋 940 — 1% open · ⏱️ 06.04.2024):
git clone https://github.com/jmcnamara/XlsxWriter
-
PyPi (📥 22M / month · 📦 1.6K · ⏱️ 18.02.2024):
-
Conda (📥 3.3M · ⏱️ 05.11.2023):
conda install -c conda-forge xlsxwriter
Show 1 hidden projects…
- jmespath (🥉32 · ⭐ 2.1K · 💀) — JMESPath is a query language for JSON.
MIT
Code Inspection
deepdiff (🥇36 · ⭐ 1.9K) — DeepDiff: Deep Difference and search of any Python object/data… MIT
-
GitHub (👨💻 81 · 🔀 210 · 📦 11K · 📋 290 — 20% open · ⏱️ 08.04.2024):
git clone https://github.com/seperman/deepdiff
-
PyPi (📥 12M / month · 📦 830 · ⏱️ 08.04.2024):
-
Conda (📥 440K · ⏱️ 09.04.2024):
conda install -c conda-forge deepdiff
Show 3 hidden projects…
- importlib-resources (🥈31 · ⭐ 58) — Backport of the importlib.resources module.
Apache-2
- typing_inspect (🥉25 · ⭐ 330 · 💀) — Runtime inspection utilities for Python typing module.
MIT
- entrypoints (🥉23 · ⭐ 74 · 💀) — Discover and load entry points from installed packages.
MIT
General Utilities
attrs (🥇42 · ⭐ 5.1K · 📉) — Python Classes Without Boilerplate. MIT
-
GitHub (👨💻 160 · 🔀 360 · 📦 1M · 📋 710 — 18% open · ⏱️ 03.06.2024):
git clone https://github.com/python-attrs/attrs
-
PyPi (📥 210M / month · 📦 7.9K · ⏱️ 31.12.2023):
-
Conda (📥 37M · ⏱️ 31.12.2023):
conda install -c conda-forge attrs
more-itertools (🥇39 · ⭐ 3.5K) — More routines for operating on iterables, beyond itertools. MIT
-
GitHub (👨💻 120 · 🔀 270 · 📥 3K · 📦 220K · 📋 310 — 7% open · ⏱️ 02.06.2024):
git clone https://github.com/more-itertools/more-itertools
-
PyPi (📥 82M / month · 📦 3.4K · ⏱️ 08.01.2024):
pip install more-itertools
-
Conda (📥 15M · ⏱️ 08.01.2024):
conda install -c conda-forge more-itertools
toolz (🥈37 · ⭐ 4.5K) — A functional standard library for Python. BSD-3
-
GitHub (👨💻 77 · 🔀 260 · 📦 160K · 📋 270 — 46% open · ⏱️ 24.01.2024):
git clone https://github.com/pytoolz/toolz
-
PyPi (📥 34M / month · 📦 1.4K · ⏱️ 24.01.2024):
-
Conda (📥 21M · ⏱️ 24.01.2024):
conda install -c conda-forge toolz
boltons (🥈35 · ⭐ 6.4K) — Like builtins, but boltons. 250+ constructs, recipes, and snippets.. BSD-3
-
GitHub (👨💻 90 · 🔀 350 · 📥 30 · 📦 7.3K · 📋 180 — 39% open · ⏱️ 28.04.2024):
git clone https://github.com/mahmoud/boltons
-
PyPi (📥 4.4M / month · 📦 350 · ⏱️ 31.03.2024):
-
Conda (📥 5M · ⏱️ 01.04.2024):
conda install -c conda-forge boltons
tenacity (🥈33 · ⭐ 6.1K) — Retrying library for Python. Apache-2
-
GitHub (👨💻 92 · 🔀 260 · 📋 260 — 39% open · ⏱️ 14.03.2024):
git clone https://github.com/jd/tenacity
-
PyPi (📥 67M / month · 📦 2.4K · ⏱️ 07.05.2024):
-
Conda (📥 6.8M · ⏱️ 09.05.2024):
conda install -c conda-forge tenacity
returns (🥉31 · ⭐ 3.3K) — Make your functions return something meaningful, typed, and safe!. BSD-2
-
GitHub (👨💻 49 · 🔀 110 · 📦 560 · 📋 420 — 15% open · ⏱️ 04.06.2024):
git clone https://github.com/dry-python/returns
-
PyPi (📥 180K / month · 📦 59 · ⏱️ 26.08.2023):
-
Conda (📥 9.6K · ⏱️ 28.08.2023):
conda install -c conda-forge returns
funcy (🥉30 · ⭐ 3.3K) — A fancy and practical functional tools. BSD-3
-
GitHub (👨💻 33 · 🔀 140 · 📦 11K · 📋 81 — 11% open · ⏱️ 01.05.2024):
git clone https://github.com/Suor/funcy
-
PyPi (📥 1.5M / month · 📦 370 · ⏱️ 28.03.2023):
-
Conda (📥 430K · ⏱️ 16.06.2023):
conda install -c conda-forge funcy
natsort (🥉29 · ⭐ 860) — Simple yet flexible natural sorting in Python. MIT
-
GitHub (👨💻 22 · 🔀 50 · 📦 29K · 📋 94 — 2% open · ⏱️ 04.03.2024):
git clone https://github.com/SethMMorton/natsort
-
PyPi (📥 4.9M / month · 📦 1.3K · ⏱️ 20.06.2023):
-
Conda (📥 1.6M · ⏱️ 20.06.2023):
conda install -c conda-forge natsort
ubelt (🥉24 · ⭐ 710) — A Python utility library with a stdlib like feel and extra batteries… Apache-2
-
GitHub (👨💻 4 · 🔀 42 · 📥 13 · 📋 15 — 13% open · ⏱️ 26.04.2024):
git clone https://github.com/Erotemic/ubelt
-
PyPi (📥 22K / month · 📦 100 · ⏱️ 20.03.2024):
-
Conda (📥 91K · ⏱️ 20.03.2024):
conda install -c conda-forge ubelt
Show 6 hidden projects…
- python-dependency-injector (🥈32 · ⭐ 3.6K · 💀) — Dependency injection framework for Python.
BSD-3
- retrying (🥉27 · ⭐ 1.9K · 💀) — Retrying is an Apache 2.0 licensed general-purpose retrying..
Apache-2
- ratelimit (🥉25 · ⭐ 720 · 💀) — API Rate Limit Decorator.
MIT
- pinject (🥉24 · ⭐ 1.3K · 💀) — A pythonic dependency injection library.
Apache-2
- CommonRegex (🥉23 · ⭐ 1.6K · 💀) — A collection of common regular expressions bundled with an easy..
MIT
- pampy (🥉22 · ⭐ 3.5K · 💀) — Pampy: The Pattern Matching for Python you always dreamed of.
MIT
Python Implementations
cpython (🥇52 · ⭐ 60K) — The Python programming language. MIT
-
GitHub (👨💻 2.9K · 🔀 29K · 📦 610K · 📋 69K — 12% open · ⏱️ 06.06.2024):
git clone https://github.com/python/cpython
-
PyPi (📥 54 / month · 📦 20 · ⏱️ 22.07.2020):
-
Conda (📥 3M · ⏱️ 17.05.2024):
conda install -c conda-forge typing
-
npm (📦 6 · ⏱️ 03.08.2017):
npm install @buckpkg/python
micropython (🥈33 · ⭐ 19K) — MicroPython — a lean and efficient Python implementation for.. Python-2.0
-
GitHub (👨💻 630 · 🔀 7.4K · 📥 79K · 📋 5.6K — 32% open · ⏱️ 06.06.2024):
git clone https://github.com/micropython/micropython
-
PyPi (⏱️ 10.10.2016):
pip install micropython-_markupbase
Show 4 hidden projects…
- grumpy (🥈23 · ⭐ 11K · 💀) — Grumpy is a Python to Go source code transcompiler and runtime.
Apache-2
- pyston (🥉22 · ⭐ 2.5K · 💀) — A faster and highly-compatible implementation of the Python..
Apache-2
- stackless (🥉17 · ⭐ 1K · 💀) — The Stackless Python programming language.
❗Unlicensed
- cl-python (🥉11 · ⭐ 360 · 💤) — An implementation of Python in Common Lisp.
❗Unlicensed
Others
Pygments (🥇43 · ⭐ 1.7K) — Pygments is a generic syntax highlighter written in Python. BSD-2
-
GitHub (👨💻 840 · 🔀 620 · 📦 740K · 📋 1.8K — 23% open · ⏱️ 20.05.2024):
git clone https://github.com/pygments/pygments
-
PyPi (📥 110M / month · 📦 6.9K · ⏱️ 04.05.2024):
-
Conda (📥 30M · ⏱️ 04.05.2024):
conda install -c conda-forge pygments
cookiecutter (🥇41 · ⭐ 22K) — A cross-platform command-line utility that creates projects from.. BSD-3
-
GitHub (👨💻 320 · 🔀 2K · 📦 28K · 📋 880 — 26% open · ⏱️ 06.06.2024):
git clone https://github.com/cookiecutter/cookiecutter
-
PyPi (📥 4.1M / month · 📦 830 · ⏱️ 21.02.2024):
-
Conda (📥 1M · ⏱️ 22.02.2024):
conda install -c conda-forge cookiecutter
pyparsing (🥇40 · ⭐ 2.1K) — Python library for creating PEG parsers. MIT
-
GitHub (👨💻 66 · 🔀 280 · 📥 11K · 📦 1M · 📋 350 — 13% open · ⏱️ 03.06.2024):
git clone https://github.com/pyparsing/pyparsing
-
PyPi (📥 120M / month · 📦 4.8K · ⏱️ 06.03.2024):
-
Conda (📥 44M · ⏱️ 06.03.2024):
conda install -c conda-forge pyparsing
pycparser (🥈38 · ⭐ 3.2K) — Complete C99 parser in pure Python. BSD-3
-
GitHub (👨💻 84 · 🔀 600 · 📦 820K · 📋 360 — 9% open · ⏱️ 15.04.2024):
git clone https://github.com/eliben/pycparser
-
PyPi (📥 240M / month · 📦 2.1K · ⏱️ 30.03.2024):
-
Conda (📥 39M · ⏱️ 30.03.2024):
conda install -c conda-forge pycparser
py4j (🥈35 · ⭐ 1.2K) — Py4J enables Python programs to dynamically access arbitrary Java objects. BSD-3
-
GitHub (👨💻 41 · 🔀 210 · 📦 40K · 📋 420 — 35% open · ⏱️ 16.04.2024):
git clone https://github.com/bartdag/py4j
-
PyPi (📥 51M / month · 📦 290 · ⏱️ 12.08.2022):
-
Conda (📥 5.8M · ⏱️ 16.06.2023):
conda install -c conda-forge py4j
fastcore (🥈34 · ⭐ 900) — Python supercharged for the fastai library. Apache-2
-
GitHub (👨💻 61 · 🔀 260 · 📦 6.6K · 📋 360 — 8% open · ⏱️ 05.06.2024):
git clone https://github.com/fastai/fastcore
-
PyPi (📥 1.5M / month · 📦 640 · ⏱️ 05.06.2024):
-
Conda (📥 78K · ⏱️ 05.06.2024):
conda install -c conda-forge fastcore
diagrams (🥈33 · ⭐ 35K) — Diagram as Code for prototyping cloud system architectures. MIT
-
GitHub (👨💻 140 · 🔀 2.2K · 📦 1.5K · 📋 560 — 66% open · ⏱️ 13.04.2024):
git clone https://github.com/mingrammer/diagrams
-
PyPi (📥 1.2M / month · 📦 67 · ⏱️ 30.10.2023):
-
Conda (📥 190K · ⏱️ 30.10.2023):
conda install -c conda-forge diagrams
Copier (🥈33 · ⭐ 1.7K) — Library and command-line utility for rendering projects templates. MIT
-
GitHub (👨💻 76 · 🔀 170 · 📦 990 · 📋 470 — 15% open · ⏱️ 06.06.2024):
git clone https://github.com/copier-org/copier
-
PyPi (📥 370K / month · 📦 110 · ⏱️ 04.04.2024):
pluggy (🥈33 · ⭐ 1.2K) — A minimalist production ready plugin system. MIT
-
GitHub (👨💻 54 · 🔀 120 · 📋 190 — 27% open · ⏱️ 04.06.2024):
git clone https://github.com/pytest-dev/pluggy
-
PyPi (📥 140M / month · 📦 2K · ⏱️ 20.04.2024):
-
Conda (📥 27M · ⏱️ 21.04.2024):
conda install -c conda-forge pluggy
decorator (🥈33 · ⭐ 820 · 💤) — Decorators for Humans. BSD-2
-
GitHub (👨💻 27 · 🔀 110 · 📦 580K · 📋 110 — 14% open · ⏱️ 23.08.2023):
git clone https://github.com/micheles/decorator
-
PyPi (📥 110M / month · 📦 2.1K · ⏱️ 07.01.2022):
-
Conda (📥 28M · ⏱️ 16.06.2023):
conda install -c conda-forge decorator
wrapt (🥉32 · ⭐ 2K · 💤) — A Python module for decorators, wrappers and monkey patching. BSD-2
-
GitHub (👨💻 27 · 🔀 220 · 📋 190 — 26% open · ⏱️ 10.11.2023):
git clone https://github.com/GrahamDumpleton/wrapt
-
PyPi (📥 150M / month · 📦 2.1K · ⏱️ 09.11.2023):
-
Conda (📥 15M · ⏱️ 09.11.2023):
conda install -c conda-forge wrapt
pyscaffold (🥉29 · ⭐ 2K · 💤) — Python project template generator with batteries included. MIT
-
GitHub (👨💻 58 · 🔀 180 · 📋 300 — 12% open · ⏱️ 20.06.2023):
git clone https://github.com/pyscaffold/pyscaffold
-
PyPi (📥 880K / month · 📦 43 · ⏱️ 20.06.2023):
-
Conda (📥 190K · ⏱️ 26.06.2023):
conda install -c conda-forge pyscaffold
Send2Trash (🥉27 · ⭐ 260) — Python library to natively send files to Trash (or Recycle bin) on.. BSD-3
-
GitHub (👨💻 17 · 🔀 41 · 📋 60 — 48% open · ⏱️ 06.04.2024):
git clone https://github.com/arsenetar/send2trash
-
PyPi (📥 21M / month · 📦 490 · ⏱️ 07.04.2024):
-
Conda (📥 14M · ⏱️ 08.04.2024):
conda install -c conda-forge send2trash
catalogue (🥉26 · ⭐ 170) — Super lightweight function registries for your library. MIT
-
GitHub (👨💻 12 · 🔀 20 · 📦 41K · 📋 13 — 46% open · ⏱️ 31.05.2024):
git clone https://github.com/explosion/catalogue
-
PyPi (📥 11M / month · 📦 130 · ⏱️ 25.09.2023):
-
Conda (📥 1.3M · ⏱️ 25.09.2023):
conda install -c conda-forge catalogue
python-mss (🥉25 · ⭐ 970) — An ultra fast cross-platform multiple screenshots module in pure.. MIT
-
GitHub (👨💻 23 · 🔀 83 · 📋 140 — 26% open · ⏱️ 27.02.2024):
git clone https://github.com/BoboTiG/python-mss
-
PyPi (📥 850K / month · 📦 220 · ⏱️ 20.04.2023):
-
Conda (📥 50K · ⏱️ 16.06.2023):
conda install -c conda-forge python-mss
Show 6 hidden projects…
- keyboard (🥉32 · ⭐ 3.7K · 💀) — Hook and simulate global keyboard events on Windows and Linux.
MIT
- pyscreenshot (🥉26 · ⭐ 500 · 💀) — Python screenshot library, replacement for the Pillow..
BSD-2
- openpyxl (🥉26 · ⭐ 78) — A Python library to read/write Excel 2010 xlsx/xlsm files.
MIT
- powerline-shell (🥉25 · ⭐ 6.2K · 💀) — A beautiful and useful prompt for your shell.
MIT
- pluginbase (🥉24 · ⭐ 1.1K · 💀) — A simple but flexible plugin system for Python.
BSD-3
- macropy (🥉22 · ⭐ 3.3K · 💀) — Macros in Python: quasiquotes, case classes, LINQ and more!.
MIT
Related Resources
- Best-of lists: Discover other best-of lists with awesome open-source projects on all kinds of topics.
- best-of-ml-python: A ranked list of awesome machine learning Python libraries.
- best-of-web-python: A ranked list of awesome Python libraries for web development.
- best-of-python-dev: A ranked list of awesome Python developer tools and libraries.
- awesome-python: A curated list of awesome Python frameworks, libraries, software and resources.
Contribution
Contributions are encouraged and always welcome! If you like to add or update projects, choose one of the following ways:
- Open an issue by selecting one of the provided categories from the issue page and fill in the requested information.
- Modify the projects.yaml with your additions or changes, and submit a pull request. This can also be done directly via the Github UI.
If you like to contribute to or share suggestions regarding the project metadata collection or markdown generation, please refer to the best-of-generator repository. If you like to create your own best-of list, we recommend to follow this guide.
For more information on how to add or update projects, please read the contribution guidelines. By participating in this project, you agree to abide by its Code of Conduct.
License
Уровень сложностиПростой
Время на прочтение22 мин
Количество просмотров15K
«Удовольствие от программирования на Python должно заключаться в том, чтобы видеть короткие, лаконичные, удобочитаемые классы, которые выражают множество действий в небольшом количестве ясного кода, а не в грудах пустых символов, утомляющих читающего до смерти».
— Гвидо Ван Россум, создатель языка Python.
32 года гениальное творение Гвидо ван Россума входит в число наиболее востребованных и универсальных языков программирования в мире. Сообщество Python объединяет свыше 15 миллионов разработчиков, а за счет простого синтаксиса и возможности быстрого обучения продолжает постоянно пополняться новыми членами.
Для Python существует более 137 тысяч библиотек с открытым исходным кодом, автоматизирующих работу в разных областях — от отдельных рутинных рабочих процессов в компаниях до создания сложных многофункциональных приложений. Одна из самых популярных областей применения «змеиного языка» — наука о данных, а также задачи, связанные с искусственным интеллектом и машинным обучением.
В этой обширной «шпаргалке» для начинающих AI/ML специалистов мы собрали опенсорсные библиотеки Python, сгруппированные по областям практического применения. Этот список с кратким описанием функций каждого инструмента будет полезен всем, кто постоянно работает с «Питоном» и ищет эффективные инструменты для решения возникающих задач.
Важно! Учитывая пересечение функциональных областей различных направлений науки о данных, представленные здесь библиотеки и фреймворки могут (и по идее должны) одновременно находиться в разных подразделах списка. Однако мы сознательно избежали такого «повторения», чтобы описать как можно больше инструментов Python и не создавать ненужной путаницы у новичков.
Машинное обучение
PyTorch
Специализация: глубокое обучение, компьютерное зрение, обработка естественного языка
Лицензия: BSD
Документация: сайт
PyTorch — ML-библиотека с открытым исходным кодом была создана группой исследователей ИИ Facebook на основе библиотеки Torch с целью обеспечить максимальную гибкость и скорость обучения моделей.
Особенности PyTorch:
-
Предлагает динамический вычислительный граф, который обеспечивает мгновенные вычисления, отладку и простой переход от исследования к производству.
-
Гибкий, интуитивно понятный интерфейс для создания и обучения моделей глубокого обучения.
-
Поддерживает распределенные вычисления, что позволяет быстро и эффективно обучать модели на огромных наборах данных.
-
Тензорные вычисления с поддержкой ускорения графического процессора.
TensorFlow
Специализация: нейронные сети, машинное обучение, глубокое обучение
Лицензия: Apache 2.0
Документация: сайт
Опенсорсная библиотека Python с открытым исходным кодом для высокопроизводительных числовых вычислений, разработанная исследователями Google Brain. По сути, TensorFlow — это структура для определения и выполнения вычислений с использованием тензоров, которые являются частично определенными вычислительными объектами, в конечном итоге производящими значение.
Особенности TensorFlow:
-
Улучшенная нативная визуализация вычислительного графа.
-
Снижает количество ошибок на 50–60 % при машинном обучении нейронов.
-
Параллельные вычисления для выполнения сложных моделей.
-
Беспрепятственное управление библиотекой при поддержке Google.
-
Простота в использовании обеспечивает быструю отладку.
-
Библиотека включает в себя различные хелперы слоев (tflearn, tf-slim, skflow), которые делают ее еще более функциональной.
-
Быстрые обновления и регулярные новые выпуски с дополнительными функциями.
-
TensorFlow не имеет функции символических циклов.
Keras
Специализация: нейронные сети, глубокое обучение
Лицензия: Apache 2.0
Документация: сайт
Keras — это высокоуровневый API нейронной сети на основе Python и фреймворк, который может работать поверх TensorFlow, CNTK или Theano.
Особенности Keras:
-
Хотя во многих аспектах Keras похож на Tensorflow, он разработан с учетом подхода, ориентированного на человека, чтобы сделать ML и DL более доступными.
-
Модульный и расширяемый набор инструментов упрощает создание моделей глубокого обучения — создавать, компилировать и обучать нейронные сети можно всего несколькими строками кода.
-
Поддерживает типичные функции нейронных сетей — уровни, функции активации, функции потерь и оптимизаторы.
-
Быстрое выполнение различных итераций DL с полными возможностями развертывания.
-
Поддержка больших кластеров GPU и TPU, обеспечивающая машинное обучение на Python в промышленных масштабах.
Pandas
Специализация: анализ данных, дата-сайенс
Лицензия: BSD-3-Clause
Документация: сайт
Pandas (Python data analysis) — библиотека Python на основе NumPy, которая поддерживает различные структуры данных и операции для эффективного манипулирования числовыми данными и временными рядами.
Особенности Pandas:
-
Красноречивый синтаксис и богатые функциональные возможности.
-
Абстракция высокого уровня.
-
Выполняет огромный спектр операций с данными — слияние, изменение формы, выбор, очистку и функции обработки данных.
-
Позволяет импортировать данные из различных форматов файлов, таких как значения, разделенные запятыми, JSON, SQL и Microsoft Excel.
-
Доступны различные методы группировки, объединения и фильтрации данных из дата-сетов.
-
Подходит для задач преобразования и хранения данных (ETL), т. к. поддерживает загрузку файлов CSV в свой формат фрейма данных.
-
Поддерживает функции, специфичные для временных рядов, такие как генерация диапазона дат, скользящее окно, линейная регрессия и сдвиг даты.
SciPy
Специализация: ML-алгоритмы, дата-сайенс, массивы NumPy
Лицензия: BSD 3-Clause
Документация: сайт, GitHub
Scipy (Scientific Python) — библиотека, построенная поверх NumPy, которая содержит различные модули для оптимизации данных, интеграции и вычислительной статистики.
Особенности SciPy:
-
SciPy предоставляет алгоритмы оптимизации, интегрирования, интерполяции, задач на собственные значения, алгебраических уравнений, дифференциальных уравнений, статистики и многих других классов задач.
-
Библиотека предоставляет дополнительные инструменты для вычисления массивов NumPy и специализированные структуры данных, такие как разреженные матрицы и k-мерные деревья.
-
Поддерживает высокооптимизированные реализации, написанные на низкоуровневых языках, таких как Fortran, C и C++.
-
Высокоуровневый синтаксис облегчает использование.
-
Активное и бурно развивающееся сообщество по всему миру.
Scikit-Learn
Специализация: анализ данных, дата-сайенс, статистика
Лицензия: BSD 3-Clause
Документация: сайт
Библиотека с открытым исходным кодом, объединяющая алгоритмы машинного обучения для производственных приложений. Scikit-Learn фокусируется на качестве кода, документации, простоте использования и производительности.
Особенности Scikit-Learn:
-
Построена на основе ключевых опенсорсных библиотек Python: Numpy, Matplotlib и Scipy.
-
Предлагает множество функций для различных базовых алгоритмов машинного обучения, таких как регрессия, классификация и кластеризация.
-
Возможность повторного использования в различных контекстах.
-
Поддерживается практически всеми алгоритмами машинного обучения — контролируемыми и неконтролируемыми.
-
Используется как для обычного, так и для интеллектуального анализа данных, поэтому популярна у новичков в ML.
Caffe
Специализация: глубокое обучение, машинное зрение
Лицензия: BSD 2-Clause
Документация: сайт
Caffe (Convolution Architecture for Feature Extraction) — среда для глубокого обучения на языке C++, которая поддерживает интерфейс на Python.
Особенности Caffe:
-
Модели и оптимизация гибко определяются конфигурацией.
-
Расширяемый код, способствующий активной разработке.
-
Высокая скорость, позволяет использовать библиотеку для исследовательских экспериментов и развертывания в промышленности.
-
Развитое сообщество.
Chainer
Специализация: глубокое обучение, машинное обучение
Лицензия: MIT
Документация: сайт
Мощный и гибкий инструмент Python для построения и обучения глубоких нейронных сетей. Библиотека Chainer была разработана японской компанией Preferred Networks.
Особенности Chainer:
-
Сферой применения служат такие области, как видеоанализ, робототехника, исследования и обработка естественного языка.
-
Использует динамический граф вычислений, что позволяет более гибко и эффективно обучать глубокие нейронные сети.
-
Поддерживает множество архитектур нейронных сетей, включая упреждающие, свёрточные и рекуррентные.
-
Встроенные алгоритмы оптимизации, такие как стохастический градиентный спуск и Adam.
MXNet
Специализация: глубокое обучение
Лицензия: Apache 2.0
Документация: сайт
Apache MXNet — среда глубокого обучения, разработанная для повышения эффективности и гибкости. Этот инструмент позволяет смешивать различные варианты программ глубокого обучения, чтобы максимизировать их эффективность и производительность.
Особенности MXNet:
-
Комплексный и гибкий Python API.
-
Быстрое обучение моделей за счет масштабирования с использованием разных графических процессоров и компьютеров.
-
Помимо Python, поддерживает множество языков программирования, включая C++, Java, JavaScript, Go, R, Scala и Perl.
-
Поддержка различных моделей, включая свёрточные нейронные сети (CNNs) и сети долгой краткосрочной памяти (LSTMs).
LightGBM
Специализация: градиентный бустинг
Лицензия: MIT
Документация: сайт
Библиотека LightGBM обеспечивает высокопроизводительную реализацию повышения градиента в DS-проектах, которая может обрабатывать большие наборы данных и многомерные пространства признаков.
Особенности LightGBM:
-
Подходит для широкого круга задач DS, включая обнаружение аномалий, анализ временных рядов, обработку естественного языка и классификацию.
-
LightGBM легко интегрировать с другими библиотеками Python, такими как Pandas, Scikit-Learn и XGBoost.
-
Библиотека спроектирована с опорой на быстроту и эффективность с точки зрения использования памяти, поэтому хорошо подходит для крупномасштабных наборов данных и многомерных пространственных объектов.
-
LightGBM предоставляет широкий набор гиперпараметров, которые можно настраивать для оптимизации производительности модели для конкретных наборов данных и вариантов использования.
Eli5
Специализация: машинное обучение, визуализация
Лицензия: MIT
Документация: сайт
Библиотека Python для отладки и визуализации моделей машинного обучения. ELI5 предоставляет инструменты, помогающие DS и ML специалистам понять, как работают их модели, и диагностировать потенциальные проблемы.
Особенности ELI5:
-
Предоставляет ряд методов для интерпретации моделей машинного обучения, таких как важность признаков (feature importance), важность перестановки (permutation importance) и значения SHAP (SHapley Additive exPlanations).
-
Включает инструменты для отладки моделей машинного обучения, такие как визуализация неправильно классифицированных примеров, проверка весов и смещений моделей.
-
Может генерировать удобочитаемые объяснения того, как модель делает прогнозы, что может помочь в общении с нетехническими заинтересованными сторонами.
-
Функционал ELI5 для работы с ML-моделями включает их интерпретацию, отладку, сравнение, а также разработку функций.
Компьютерное зрение
OpenCV
Специализация: обработка изображений, сегментация/распознавание
Лицензия: Apache 2.0
Документация: сайт
Коммерческая библиотека компьютерного зрения и машинного обучения с открытым исходным кодом, в состав которой входит более 2500 высокооптимизированных алгоритмов. Это позволяет OpenCV выполнять практически любые задачи в сфере обработки изображений и видео, включая обнаружение и отслеживание объектов, распознавание лиц на фотографиях и видео.
Особенности OpenCV:
-
Кроссплатформенность и поддержка графических процессоров.
-
Оптимизирована для коммерческих приложений CV и ML, работающих в реальном мире и в реальном времени.
-
OpenCV изначально была написана на C++, что дает высокую производительность
-
Использует массивы Numpy для выполнения операций.
-
Расширенное приложение для 3D-объектов.
-
Отсутствие подробной документации и кодов обработки ошибок могут усложнить освоение библиотеки новичками.
YOLOv8
Специализация: детекция, распознавание объектов
Лицензия: AGPL 3.0
Документация: сайт
YOLOv8 — самый совершенный (на сегодня) и производительный представитель семейства моделей обнаружения объектов YOLO.
Особенности YOLOv8:
-
Предназначен для таких задач CV, как обнаружение объектов, сегментация экземпляров и классификация изображений.
-
Удобный API (командная строка + Python).
-
Быстрее и точнее предыдущих версий.
-
Поддерживает множество форматов экспорта.
-
Модель может работать на обычных и графических процессорах.
-
YOLOv8 обучена на датасете COCO.
PaddleOCR
Специализация: оптическое распознавание символов, OCR-пайплайн
Лицензия: Apache 2.0
Документация: GitHub
PaddleOCR — многоязычные наборы инструментов OCR на основе DL-фреймворка PaddlePaddle.
Особенности PaddleOCR:
-
Практичная сверхлегкая система OCR.
-
Поддержка распознавания более 80 языков.
-
Большой выбор инструментов аннотирования и синтеза данных.
-
Поддержка обучения и развертывания на серверных, мобильных, встроенных устройствах и IoT
SciKit-Image
Специализация: обработка изображений
Лицензия: BSD-3-Clause
Документация: сайт
SciKit-Image — коллекция алгоритмов для обработки изображений, основанная на NumPy, scipy.ndimage и ряде других библиотек, обеспечивающая универсальный набор процедур обработки изображений в Python.
Особенности SciKit-Image:
-
Простые и эффективные инструменты для обработки изображений и методов компьютерного зрения.
-
Доступна для всех и повторно используема в различных контекстах.
-
Создана на основе NumPy, SciPy и matplotlib (NumPy и SciPy должны быть предустановлены).
-
Работает со всеми форматами данных, поддерживаемыми библиотекой изображений Python.
-
Работает с URL-путями изображений.
DeepFace
Специализация: распознавание лиц
Лицензия: MIT
Документация: GitHub
Deepface — легкий фреймворк для распознавания лиц и анализа атрибутов лица (возраст, пол, эмоции и раса) для Python.
Особенности Deepface:
-
Библиотека опубликована в индексе пакетов Python (PyPI).
-
Гибридная система объединяет самые современные модели: VGG-Face, Google FaceNet, OpenFace, Facebook DeepFace, DeepID, ArcFace, Dlib и SFace.
-
Функции включают анализ атрибутов лиц и анализ лиц в реальном времени.
-
Точность 97,53% в задачах распознавания лиц.
Yellowbrick
Специализация: машинное обучение, прогнозирование, визуализация
Лицензия: MIT
Документация: сайт
Yellowbrick — набор средств визуального анализа и диагностики, предназначенных для облегчения машинного обучения с помощью scikit-learn. Основной объект API библиотеки Visualizer представляет собой средство оценки scikit-learn, которое учится на данных. «Визуализаторы» изучают данные, создавая визуальное представление рабочего процесса выбора модели.
Особенности Yellowbrick:
-
Поддержка различных моделей, включая визуализацию функций, классификации, кластеризации, регрессии, выбора модели, целей и текста.
-
Настройка гиперпараметров.
-
Возможность интерпретации оценки моделей.
-
Активное сообщество разработчиков.
Обработка естественного языка
DeepSpeech
Специализация: распознавание речи
Лицензия: MPL-2.0
Документация: сайт
DeepSpeech — встроенный механизм преобразования речи в текст с открытым исходным кодом, который может автономно работать в режиме реального времени на устройствах в диапазоне от Raspberry Pi 4 до мощных серверов с графическим процессором.
Особенности DeepSpeech:
-
Библиотека создана на основе TensorFlow и как реализация алгоритма DeepSpeech, разработанного Baidu.
-
Ядро DeepSpeech написано на C++, но имеет привязку к Python, .NET, Java и JavaScript.
-
DeepSpeech можно использовать для двух ключевых действий, связанных с распознаванием речи — обучения и логического вывода.
-
Использует нейронную модель для предсказания текста из речи, а также языковую модель N-грамм, обученную предсказывать текст из предшествующего текста.
Gensim
Специализация: тематическое моделирование без учителя и обработки естественного языка (NLP)
Лицензия: LGPL-2.1
Документация: GitHub.
Пакет Python с открытым исходным кодом, смоделированный для извлечения семантических тем из больших документов и текстов для обработки, анализа и прогнозирования поведения человека с помощью статистических моделей и лингвистических вычислений. Gensim имеет возможность обрабатывать огромные данные, независимо от того, являются ли они необработанными и неструктурированными.
Особенности Gensim:
-
Библиотеку можно использовать для создания моделей, которые могут эффективно классифицировать документы, понимая статистическую семантику каждого слова.
-
Поставляется с алгоритмами обработки текста, такими как Word2Vec, FastText, Latent Semantic Analysis, изучающими статистические закономерности совпадения в документе, чтобы отфильтровать ненужные слова и построить модель только с важными функциями.
-
Предоставляет оболочки ввода-вывода и считыватели, которые могут импортировать и поддерживать широкий спектр форматов данных.
-
Поставляется с простым и интуитивно понятным интерфейсом, который может легко использоваться новичками. Кривая изучения API также довольно низкая, что объясняет, почему многим разработчикам нравится эта библиотека.
SpaCy
Специализация: обработка естественного языка (NLP) промышленного масштаба
Лицензия: Third Party
Документация: сайт
Библиотека Python с открытым исходным кодом для решения сложных задач NLP. SpaCy написана на Cython с оптимизацией управления памятью для обеспечения улучшенной скорости.
Особенности SpaCy:
-
Более 60 обученных NLP-конвейеров с поддержкой 19 языков.
-
Предварительно обученные вложения слов.
-
Готовые к проду пайплайны.
-
Поддерживает пользовательские модели, написанные на TensorFlow и PyTorch.
-
SpaCy Universe предлагает широкий выбор пакетов Python, плагинов и расширений для NLP.
-
SpaCy API поддерживает многие задачи NLP, такие, как лемматизация, распознавание сущностей, тегирование, распознавание предложений и токенизация.
NLTK
Специализация: обработка естественного языка (NLP)
Лицензия: Apache-2.0
Документация: сайт
NLTK (Natural Language Toolkit) — один из наиболее популярных инструментов для обработки естественного языка.
Особенности NLTK:
-
Поддерживает более 50 языковых наборов данных и обученных языковых моделей.
-
Предлагает классификацию текста, выделение корней, токенизацию, тегирование, синтаксический анализ.
-
Функции для анализа настроений или мнения, выраженного во фрагменте текста.
-
Служит оболочкой для NLP-библиотек промышленного масштаба.
-
Поддерживает мультиплатформенность — работает на Windows, Linux и Mac OS X.
TorchAudio
Специализация: преобразование данных для обработки аудиосигнала
Лицензия: BSD-2-Clause
Документация: сайт
Библиотека машинного обучения для обработки звука и сигналов с помощью PyTorch. TorchAudio предоставляет функции ввода-вывода, обработки сигналов и данных, наборы данных, реализации моделей и компоненты приложений.
Особенности TorchAudio:
-
Мощные N-мерные массивы.
-
Быстрые и универсальные концепции векторизации, индексации и широковещательной рассылки.
-
Инструменты для интеграции кода C/C++ и Fortran.
-
Комплексные математические функции, генераторы случайных чисел, процедуры линейной алгебры, преобразования Фурье.
-
Поддерживает широкий спектр аппаратных и вычислительных платформ и хорошо интегрируется с библиотеками распределенных, графических процессоров и разреженных массивов.
Визуализация
MatPlotLib
Специализация: реализация визуальных данных
Лицензия: BSD-3-Clause
Документация: сайт
Matplotlib — основная опенсорсная библиотека Python, используемая в науке в дата-сайенс для визуализации данных в виде диаграмм и графиков.
Особенности Matplotlib:
-
Предоставляет объектно-ориентированный API, который можно использовать для встраивания графиков в приложения.
-
Двухмерная графическая библиотека Python с ограниченной поддержкой 3D-графики.
-
Может использоваться в качестве замены пакета MATLAB и Mathematica с преимуществом бесплатности и открытого исходного кода.
-
Поддерживает десятки бэкендов и типов вывода, поэтому не зависит от типа ОС и формата данных.
-
Низкое потребление памяти.
-
Не подходит для работы с несколькими наборами данных одновременно.
-
Слабая поддержка временных рядов.
Seaborn
Специализация: визуализация статических данных
Лицензия: BSD-3-Clause
Документация: сайт
Библиотека визуализации данных Python, основанная на Matplotlib. По сравнению с Matplotlib, Seaborn можно использовать для создания более привлекательных и информативных статистических графиков. Наряду с обширной поддержкой визуализации данных Seaborn также поставляется со встроенным API, ориентированным на набор данных, для изучения взаимосвязей между несколькими переменными.
Особенности Seaborn:
-
Высокоуровневый интерфейс для создания привлекательных и информативных статистических графиков.
-
Параметры для анализа и визуализации одномерных и двумерных точек данных, а также для сравнения данных с другими подмножествами данных.
-
Поддержка автоматизированной статистической оценки и графического представления моделей линейной регрессии для различных типов целевых переменных.
-
Создает сложные визуализации для структурирования сеток из нескольких графиков, предоставляя функции, выполняющие высокоуровневые абстракции.
-
Поставляется с многочисленными встроенными темами для стилизации и создания графиков matplotlib.
-
Хорошо подходит для статистических моделей визуализации — тепловых карт и других типов, которые обобщают данные и отображают общие распределения.
Plotly
Специализация: визуализация данных
Лицензия: MIT
Документация: сайт
Plotly — среда визуализации трехмерных данных Python с открытым исходным кодом, построенная на библиотеке Plotly JavaScript (plotly.js).
Особенности Plotly:
-
Легкий синтаксис — все графики используют одинаковые переменные.
-
Поддерживает точечные диаграммы, гистограммы, линейные диаграммы, ящичные диаграммы, многоосевые графики, спарклайны, дендрограммы, трехмерные графики и другие типы диаграмм.
-
В отличие от других сред визуализации данных, включает контурные графики.
-
Предоставляет трехмерные диаграммы с несколькими интерактивными параметрами.
-
Инструмент наведения Plotly позволяет обнаруживать выбросы или аномалии во многих точках выборки.
-
Plotly можно использовать для веб-визуализации данных, встроенных в блокноты Jupyter, веб-приложения Dash, или экспортированных в виде отдельных HTML-файлов.
-
Графический пользовательский интерфейс позволяет работать с инструментом визуализации даже новичкам.
Bokeh
Специализация: визуализация данных
Лицензия: BSD-3-Clause
Документация: GitHub
Bokeh — одна из самых интерактивных библиотек в Python. С ее помощью можно обрабатывать огромные наборы данных и строить универсальные графики, которые помогают выполнять обширные исследовательские работы в рамках EDA (Exploratory Data Analysis).
Особенности Bokeh:
-
Помогает быстро создавать сложные статистические графики с помощью простых команд.
-
Поддерживает выходные данные в виде HTML, блокнота и сервера.
-
Поддерживает несколько языковых привязок, включая R, Python, lua, Julia.
-
Интеграция с Flask и Django.
-
Обеспечивает поддержку преобразования визуализации, написанной в других библиотеках, таких как matplotlib, seaborn и ggplot.
Altair
Специализация: декларативная визуализация
Лицензия: BSD-3-Clause
Документация: GitHub
Altair — инструмент визуализации статистических данных, который разработан на декларативных языках Vega и Vega-Lite, которые используются для создания, сохранения и обмена интерактивными проектами визуализации данных.
Особенности Altair:
-
Altair может создавать привлекательные визуализации данных в таких видах графиков, как гистограммы, круговые диаграммы, диаграммы рассеивания, диаграммы ошибок, стеблевые диаграммы.
-
Altair позволяет легко и быстро переключаться между визуализациями и экспериментами, поскольку создает графики в декларативном формате.
-
Автоматически устанавливаемые зависимости включают Python 3.6, NumPy и Pandas.
-
Для визуализации данных можно использовать Jupyter Notebooks или JupyterLab.
-
Включает фильтрацию данных, позволяющую создавать более персонализированные визуализации, а также объединять много графиков в один с помощью общего динамического фильтра.
-
Плохо поддерживает 3D-визуализацию.
Работа с массивами
NumPy
Специализация: обработка данных.
Лицензия: BSD.
Документация: сайт, GitHub.
NumPy (Numerical Python) — основной пакет для работы дата-сайентистов с Python. Это модуль для числовых вычислений, который может обрабатывать огромные объемы данных и выполнять действия с массивами.
Особенности NumPy:
-
Мощные N-мерные массивы.
-
Быстрые и универсальные концепции векторизации, индексации и широковещательной рассылки.
-
Инструменты для интеграции кода C/C++ и Fortran.
-
Комплексные математические функции, генераторы случайных чисел, процедуры линейной алгебры, преобразования Фурье.
-
Поддерживает широкий спектр аппаратных и вычислительных платформ и хорошо интегрируется с библиотеками распределенных, графических процессоров и разреженных массивов.
Theano
Специализация: глубокое обучение, параллельные вычисления, оптимизация
Лицензия: BSD-3 Clause
Документация: GitHub
Theano — библиотека Python с открытым исходным кодом, которую можно использовать для различных операций, таких как определение, оценка и оптимизация сложных математических выражений, включая многомерные массивы.
Особенности Theano:
-
Theano достигает высокой эффективности за счет манипулирования и оптимизации распределенного использования ресурсов ЦП и ГП.
-
Предоставляет функцию автоматической дифференциации, упрощая вычисление градиентов и оптимизацию параметров при обучении ML-моделей.
-
Позволяет пользователям оптимизировать выражения для скорости, использования памяти или числовой стабильности в зависимости от требований их задачи машинного обучения.
-
Библиотека отлично подходит для модульного тестирования.
Xarray
Специализация: работа с многомерными размеченными массивами
Лицензия: Apache-2.0
Документация: сайт
Xarray расширяет возможности массивов NumPy, обеспечивая множество оптимизированных операций с данными.
Особенности Xarray:
-
Xarray, как и NumPy, задает метки (размеры, координаты и атрибуты) поверх необработанных массивов, чтобы использовать их для создания эффективного и лаконичного интерфейса.
-
Пакет включает обширную библиотеку функций, не зависящих от предметной области, для расширенной аналитики и визуализации с помощью этих структур данных.
-
Xarray похож на Pandas, но ориентирован не на табличные данные, а на N-мерные массивы данных.
-
Интерфейс Xarray во многом основан на модели данных netCDF, но выходит за ее рамки, предоставляя функциональные возможности, аналогичные Common Data Model (CDM) netCDF-java.
-
Тесная интеграция с Dask для параллельных вычислений.
Dask
Специализация: параллельные вычисления на Python
Лицензия: BSD-3-Clause
Документация: сайт
Библиотека с открытым исходным кодом для параллельных вычислений Dask способна масштабировать код Python с многоядерных локальных компьютеров на большие распределенные кластеры в облаке.
Особенности Dask:
-
Dask предоставляет параллельные вычисления с графами задач.
-
Библиотека поддерживает фрейм данных Pandas и массивы Numpy.
-
Легкое масштабирование один раз написанного кода до уровня промышленного кластера.
-
Библиотека состоит из 2 основных частей — коллекции больших данных (высоко- и низкоуровневых) и динамического планировщика задач.
-
Пользовательский интерфейс поддерживает API-интерфейсы других библиотек в экосистеме PyData, включая Pandas, scikit-learn и NumPy. Он предоставляет низкоуровневые API-интерфейсы, которые помогают программистам параллельно запускать пользовательские алгоритмы.
-
Развитое сообщество разработчиков.
Парсинг
Scrapy
Специализация: веб-краулинг, интеллектуальный анализ данных, автоматизированное тестирование.
Лицензия: BSD-3-Clause
Документация: GitHub
Одна из самых популярных и быстрых платформ веб-сканирования с открытым исходным кодом, написанная на Python. Scrapy обычно используется для извлечения данных с веб-страницы с помощью селекторов на основе XPath.
Особенности Scrapy:
-
Кроссплатформенность — работает в Linux, Windows, BSD и Mac OS X.
-
Встроенная функциональность для сбора и извлечения данных из источников HTML/XML.
-
Поддержка создания экспорта фидов в различных форматах (JSON, CSV, XML) и их хранения в нескольких бэкендах.
-
Библиотека использует принцип «Don’t Repeat Yourself» («Не повторяйся») в дизайне своего интерфейса, побуждая пользователей писать универсальный код, который можно повторно использовать для создания и масштабирования больших веб-сканеров.
-
Используется для сбора данных из API.
-
Scrapy — асинхронная библиотека, крайне эффективная с точки зрения скорости.
-
Не поддерживает веб-сайты на основе Javascript.
BeautifulSoup
Специализация: парсинг и очистка данных.
Лицензия: MIT
Документация: сайт
Библиотека очистки и анализа данных Python, работающая с исходниками в HTML и XML. BeautifulSoup позволяет разрабатывать поисковых роботов, сканирующих веб-сайты.
Особенности BeautifulSoup:
-
Beautiful Soup построен на основе известных парсеров Python, таких как lxml и html5lib, что позволяет нам взаимодействовать с различными алгоритмами синтаксического анализа.
-
Предоставляет несколько простых методов и «pythonic» идиом для просмотра, поиска и управления деревом синтаксического анализа.
-
Упорядочивает собранные веб-данные в простые для понимания XML-структуры, что позволяет проводить их анализ данных.
-
Автоматически определяет кодировку и плавно интерпретирует HTML-документы в нужный формат (входящие — в Unicode, а исходящие — в UTF-8), в том числе содержащие специальные символы.
-
Поставляется с обширной документацией.
-
Большое и активное сообщество поддержки.
-
Работает с многопоточностью только через сторонние кодеры.
Matminer
Специализация: интеллектуальный анализ свойств материалов
Лицензия: BSD
Документация: GitHub
Matminer — это библиотека Python для анализа данных о свойствах материалов.
Особенности Matminer:
-
Быстрый доступ к 40+ готовым датасетам (matminer.datasets).
-
Охватывает различные домены данных о материалах.
-
Легко создавать свои собственные наборы данных из онлайн-репозиториев (matminer.data_retrieval).
-
Преобразование и описание атрибутов сложных материалов в числовые дескрипторы (matminer.featurizers).
-
70+ характеристик, адаптированных из научных публикаций.
-
Matminer сам по себе не содержит инструментов машинного обучения, но работает с форматом данных Pandas, делающим ML-библиотеки доступными для материаловедческих приложений.
Прогнозирование
Statsmodels
Специализация: обработка статистических данных
Лицензия: BSD-3-Clause
Документация: GitHub
Statsmodels — модуль Python, который предоставляет классы и функции для оценки множества различных статистических моделей, а также для проведения статистических тестов и исследования статистических данных.
Особенности Statsmodels:
-
Для каждого оценщика доступен обширный список статистики результатов.
-
Результаты проверяются на соответствие существующим статистическим пакетам, чтобы убедиться в их правильности.
-
Поддерживает указание моделей с использованием формул R-стиля и фреймов данных Pandas, а также массивы Numpy.
Prophet
Специализация: прогнозирование временных рядов
Лицензия: MIT
Документация: GitHub
Prophet — инструмент для создания высококачественных прогнозов для данных временных рядов, которые имеют множественную сезонность с линейным или нелинейным ростом.
Особенности Prophet:
-
Библиотека следует API модели Sklearn.
-
Prophet предоставляет быстрые и полностью автоматизированные прогнозы, с возможностью ручной настройки специалистом по дата-сайенс и анализу данных.
-
Процедура прогнозирования данных временных рядов основана на аддитивной модели, в которой нелинейные тренды соответствуют годовой, еженедельной и ежедневной сезонности, а также праздничным эффектам.
-
Prophet устойчива к отсутствующим данным и сдвигам в тренде и обычно хорошо справляется с выбросами.
Ramp
Специализация: построение предиктивных моделей, прототипирование
Лицензия: European Union Public License 1.2
Документация: сайт
Ramp (Rapid Machine Learning Prototyping) — фреймворк Python для предсказательной аналитики, который можно с успехом использовать для быстрого прототипирования машинного обучения. Это унифицированная платформа на основе Pandas для работы с существующими библиотеками машинного обучения и статистики Python (scikit-learn, rpy2 и т. д.).
Особенности Ramp:
-
Модульная и расширяемая библиотека позволяет сравнивать производительность различных моделей с различными наборами данных и задачами.
-
Ramp поддерживает несколько форматов ввода данных, включая базы данных CSV, Excel и SQL, что упрощает работу с различными типами данных.
-
Быстрое кэширование и сохранение всех промежуточных и конечных вычислений.
-
Ramp учитывает текущий обучающий набор даже при использовании сложных обученных функций и смешанных прогнозов, а также отслеживает заданный подготовительный набор.
-
Растущая библиотека преобразований признаков, метрик и оценок.
-
Среда для совместной работы специалистов.
NuPIC
Специализация: выделение паттернов из данных в режиме реального времени
Лицензия: GNU Affero General Public License
Документация: GitHub
NuPIC (Numenta Platform for Intelligent Computing) — библиотека Python с открытым исходным кодом, служащая реализацией теории иерархической временной памяти или HTM (Hierarchical Temporal Memory). Она предназначена для создания интеллектуальных систем, имитирующих поведение неокортекса — части мозга, отвечающей за сенсорное восприятие, пространственное мышление и язык.
Особенности NuPIC:
-
NuPIC реализует алгоритмы иерархической временной памяти или HTM (Hierarchical Temporal Memory) для изучения временных закономерностей в потоке данных и создания прогнозов на их основе.
-
Библиотека подходит для таких задач, как обнаружение аномалий, прогнозирование, снижение размерности и классификация образов.
-
Гибкий и расширяемый сетевой API, который можно использовать для создания пользовательских сетей HTM для конкретных приложений.
Математический анализ
SymPy
Специализация: символьные вычисления
Лицензия: BSD
Документация: сайт
Библиотека Python для символьной математики. SymPy является полнофункциональной системой компьютерной алгебры (CAS) с максимально простым кодом, делающим инструмент понятным и легко расширяемым.
Особенности SymPy:
-
SymPy зависит только от mpmath, чистой библиотеки Python для произвольной арифметики с плавающей запятой, что делает ее простой в использовании.
-
Функциональность библиотеки охватывает целые числа произвольной точности, рациональные числа и числа с плавающей запятой, а также символьные выражения.
-
Помимо использования в качестве интерактивного инструмента, SymPy можно встраивать в другие приложения и расширять с помощью пользовательских функций.
SageMath
Специализация: математические вычисления
Лицензия: GPL
Документация: сайт
SageMath — достойная опенсорсная альтернатива таким вычислительным системам, как Magma, Maple, Mathematica и Matlab.
Особенности SageMath:
-
Библиотека включает более 100 пакетов с открытым исходным кодом, таких как NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R.
-
Унифицированный интерфейс.
-
SageMath можно использовать для изучения элементарной и продвинутой, чистой и прикладной математики.
-
Пользовательский интерфейс представляет собой блокнот в веб-браузере или командную строку.
Квантовые вычисления
QuTiP
Специализация: моделирование квантовой динамики
Лицензия: BSD-3-Clause
Документация: сайт
QuTiP — программное обеспечение с открытым исходным кодом для моделирования динамики открытых квантовых систем.
Особенности QuTiP:
-
Библиотека зависит от числовых пакетов Numpy, Scipy и Cython.
-
Графический вывод обеспечивает Matplotlib.
-
Обеспечивает удобное и эффективное численное моделирование широкого спектра гамильтонианов, в том числе с произвольной зависимостью от времени, обычно встречающихся в широком диапазоне физических приложений, таких как квантовая оптика, захваченные ионы, сверхпроводящие схемы и квантовые наномеханические резонаторы.
-
Свободно распространяемое ПО идеально подходит для изучения квантовой механики и динамики в учебных заведениях.
PyQuil
Специализация: квантовое программирование с использованием Quil
Лицензия: Apache-2.0
Документация: сайт
Как компонент Rigetti Forest SDK, PyQuil позволяет создавать и выполнять программы на языке квантовых инструкций Quil (Quantum Instruction Language) с использованием Python.
Особенности PyQuil:
-
PyQuil требует установки других компонентов Forest SDK, а именно компилятора Quil (quilc) и виртуальной машины Quantum (QVM), используемых для моделирования квантовых компьютеров.
Библиотеку также можно использовать для запуска программ на реальных квантовых компьютерах с помощью Quantum Cloud Services (QCS).
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
-15% на заказ любого VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.
Last Updated :
16 Jan, 2025
Python is a very versatile language, thanks to its huge set of libraries which makes it functional for many kinds of operations. Its versatile nature makes it a favorite among new as well as old developers. As we have reached the year 2025 Python language continues to evolve with new libraries and updates getting added to it which enhance its capabilities.
The developers must be familiar with at least the most popular libraries. In this article, we will look at some of the Python libraries that every developer should explore at least once.
What is a Library?
In a programming language context, a library refers to the collection of pre-written code modules that serve a specific functionality. These modules are reusable, these are integrated into the programmer’s code which increases the development process and functionality of the software. It is an encapsulation of common tasks or complex sets of algorithms that provide a set of functions that a developer can use to his advantage without having to create software from scratch. These are repositories of code that promote code reuse, modularization, and collaboration with the programming community. Popular languages such as Java, Python, and JavaScript have many libraries that cover diverse domains making software development easier.
What are Python Libraries?
Python libraries are reusable code modules that contain pre-written code. You can integrate it into your code to save time and effort. They cover many diverse domains, such as NumPy, which stands out for numerical computation and can very easily perform operations on large arrays and matrices. Pandas, another trendy library, is widely used for data manipulation and analysis and contains efficient data structures like DataFrames. These and many more libraries collectively contribute to Python’s popularity by making the development process easier and promoting a collaborative ecosystem.
Top 20 Python Libraries
Since we have a basic understanding of what libraries and Python libraries are it is the right time for us to head straight to learning the most common and widely used libraries in Python.
Table of Content
- Top 20 Python Libraries
- 1. NumPy
- 2. Pandas
- 3. Matplotlib
- 4. TensorFlow
- 5. PyTorch
- 6. Scikit-learn
- 7. Requests
- 8. Keras
- 9. Seaborn
- 10. Plotly
- 11. NLTK
- 12. Beautiful Soup
- 13. Pygame
- 14. Gensim
- 15. spaCy
- 16. SciPy
- 17. Theano
- 18. PyBrain
- 19. Bokeh
- 20. Hebel
1. NumPy
NumPy is the short name for Numerical Python, which is a Python library predominantly used for technical and scientific computing. Its array-oriented computing capabilities make it an essential tool for fields such as linear algebra, statistical analysis, and machine learning.
Key Features:
- numpy.ndarray is a data structure, a multidimensional array that allows the storage and manipulation of numerical data
- NumPy contains many functions that allow operations to be performed element-wise on arrays.
- NumPy supports linear algebra such as matrix multiplication, eigenvalue decomposition, and solving linear equations.
2. Pandas
Pandas is an open-source data manipulation library for Python. It is built on top of the NumPy library. It introduces two primary data structures Series and DataFrame. Series is a one-dimensional labelled data whereas DataFrame is a two-dimensional labelled data resuming a table.
Key Features:
- Pandas has DataFrame and Series, data structures for handling two-dimensional tabular data and one-dimensional arrays.
- Pandas offers special tools for working with time series data.
- Pandas have tools for handling missing data, duplication, and other cleaning tasks.
3. Matplotlib
Matplotlib is a data visualization library that allows developers to create static animated and interactive animations in Python. The graphs and plots it produces are extensively used for data visualization.
Key Features:
- It supports line plots, bar charts, scatter plots, and more.
- Object Hierarchy: It follows a hierarchical structure where the top-level container is called a Figure and individual plots or charts are contained within Axes.
- The pyplot module provides a simple interface for creating plots. The plot function is used for creating line plots while other functions like scatter(), bar(), and hist() are used for different visualization.
4. TensorFlow
Tensorflow an open-source Python library for machine learning and artificial intelligence. It is particularly used for training and inference of deep neural networks.
Key Features:
- It is based on data flow graphs where nodes represent mathematical operations and edges represent tensors.
- It is a machine-learning library developed by Google.
- It helps in the creation of computational graphs and execution on various hardware platforms.
5. PyTorch
PyTorch is an open-source library designed for tasks such as computer vision and natural language processing (NLP).
Key Features:
- PyTorch makes use of n-dimension arrays known as tensors to represent data.
- PyTorch performs operations on tensors and represents them on a dynamic computational graph.
- PyTorch is efficient in the training of neural networks as it can efficiently calculate the derivative of tensors.
6. Scikit-learn
Scikit-learn is a machine-learning library that provides tools for data mining and analysis. It includes lots of machine learning algorithms for different tasks.
Key Features:
- It has a consistent API which makes it easier to learn and use. The uniformity of the API across different algorithms helps in switching between models.
- It offers various algorithms for classification, regression, clustering, and dimensionality reduction.
- It can easily integrate with Python libraries such as Pandas and NumPy making it easy to work with different data formats.
7. Requests
The request library allows you to send HTTP requests extremely easily. It is widely used for interacting with the web APIs.
Key Features:
- The request supports various HTTP methods such as GET, POST, PUT, and DELETE.
- Request can handle sessions and persistent cookies which makes it easy to maintain state across multiple requests.
- The request is essential for web scraping and other related tasks.
8. Keras
Keras is a high-level neural network API that is used for building artificial neural networks. It is modular and helps us to construct neural network models layer by layer.
Key Features:
- It provides a user-friendly interface that simplifies the complex process of creating and training neural networks.
- With its integration into Tensorflow, it inherits the strengths of Tensorflow.
- Keras supports the building of RNN and CNN catering to a wide range of ML tasks.
9. Seaborn
Seaborn is a data visualization library which is based on Matplotlib. It is very helpful in creating beautiful statistical plots with minimal code.
Key Features:
- Seaborn has many high-level functions that simplify the process of creating complex statistical visualization.
- The themes and color palettes built-in chances the visual appeal of the plots.
- It works perfectly with Pandas DataFrames, it takes DataFrames as input making it easier for users working with tabular data.
10. Plotly
Plotly is a Python library helpful in the creation of interactive and visually appealing plots and charts for your data.
Key Features:
- Plotly can work smoothly with popular libraries such as pandas, NumPy, and scikit-learn.
- Plotly can create interactive charts and graphs that bring data to life.
- Plotly allows various chart types such as line charts, bar charts, and scatter plots to showcase your data.
11. NLTK
Natural Language Toolkit (NLTK) is a library for working with human language. It provides an easy-to-use interface.
Key Features:
- NLTK is used for text processing, it has various tools for tokenization, stemming, etc.
- NLTK implements various natural language processing algorithms and techniques.
- NLTK easily integrates with other Python libraries such as sci-kit-learn and Matplolib etc which enhances its functionality.
12. Beautiful Soup
Beautiful Soup is used for parsing the XML and HTML documents. It can be used to extract data from the web pages.
Key Features:
- Beautiful Soup can automate tasks related to HTML and XML documents.
- It can parse HTML and XML documents.
- It is open-source and easy to use.
13. Pygame
Pygame is a Python library that is used for developing video games or multimedia applications.
Key Features:
- Pygame contains computer graphics and sound libraries that can be used with Python.
- We can very easily create 2D games, simulations, and multimedia programs.
- You can work with PyGame on various OS such as Windows, macOS, and Linux.
14. Gensim
Gensim stands for Generate Similar is an open-source Python library for natural language processing (NLP). It processes raw digital texts using unsupervised machine-learning algorithms.
Key Features:
- Gensim can easily be plugged into your input data stream.
- Gensim can easily handle large text collections.
- Gensim can measure the similarity between documents using techniques like cosine similarity.
15. spaCy
spaCy is a Python library that is predominantly used for natural language processing (NLP). It is very fast, efficient, and production-ready hence suitable for many NLP tasks.
Key Features:
- It is written in programming languages Python and Cython.
- spaCy is very efficient in tokenization (the process of breaking a text into smaller units called tokens).
- spaCy can assign grammatical tags to each word in a text.
16. SciPy
SciPy is a Python library used for scientific and technical computing. It is built on top of NumPy so it has additional functionalities for various scientific computing tasks.
Key Features:
- SciPy can very easily approximate definite integrals. It has functions for numerical integrations.
- SciPy offers optimization that minimizes or maximizes a given objective function.
- SciPy has many functions for linear algebraic operations such as solving linear systems etc.
17. Theano
Theano is an open-source numerical computational library for Python. Using it the developers can easily evaluate mathematical expressions involving multi-dimensional arrays.
Key Features:
- It is designed for numerical computation involving large-scale mathematical operations.
- Theano can take advantage of the computational power of GPUs for faster computations.
- It can exchange data with other libraries such as NumPy because it can easily integrate with them.
18. PyBrain
PyBrain is a library in Python that is developed to provide tools for artificial intelligence, machine learning, and neural network research.
Key Features:
- PyBrain is modular that is user can easily, meaning users can easily create and combine different components to build custom machine-learning models.
- PyBrain supports both supervised and unsupervised tasks.
- PyBrain provides a range of neural network architectures such as feed-forward neural networks, recurrent neural networks, etc.
19. Bokeh
Bokeh is a Python library for data visualization. It offers a high degree of customization on the visualizations.
Key Features:
- The plots created in Bokeh are interactive and can be zoom-in-out, and scrolled allowing users to explore data dynamically.
- The interactive visualizations can be embedded in web applications or displayed in browsers.
- Bokeh supports many plots and chart types making it suitable for diverse data visualization.
20. Hebel
Hebel is a deep-learning library for GPUs developed. It accelerates deep learning computation using GPU acceleration.
Key Features:
- Hebel can harness the power of GPU to fasten deep learning computations.
- Hebel is built on top of NumPy so it can easily integrate with NumPy arrays and is compatible with other Python scientific tools.
- Hebel provides functionality for building, training, and deploying deep neural networks.
Conclusion
The top 20 python libraries discussed in the article cover a wide range of applications from numerical computing, and data manipulation to machine learning, natural language processing and data visualization. These libraries simplify the development tasks and also promote a collaborative ecosystem that promotes code reusability. Whether you are working on scientific computing, data analysis, machine learning, web scraping or game development, these libraries are going to be used in them therefore as a Python developer you should explore them. Python libraries help developers build robust software, making Python a favorite among developers.