Python libraries for windows

Библиотеки — это готовые модули кода, которые используют разработчики, чтобы не писать один и тот же код несколько раз. В этой статье делимся подборкой самых полезных библиотек 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 – устанавливается автоматически. Поэтому, чтобы установить библиотеку, вам достаточно сделать всего три шага:

  1. Войдите в командную строку.
    • На Mac OS нажмите клавиши Command + Space, введите в появившемся окне слово Terminal и нажмите Enter/
    • На Windows нажмите клавиши Win + R, введите в появившемся окне cmd и нажмите Enter.
  2. Чтобы проверить, установлен ли у вас PIP, а заодно обновить его до последней версии, введите в командную строку следующие команды и нажмите Enter:
    • Для Mac OS: pip install –U pip
    • Для Windows: python -m pip install -U pip
  3. Теперь просто введите 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

Tkinter

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()

    
🐍🎨 Собираем идеальный GUI на Python: ТОП-8 библиотек 2025 года

  • Туториал
  • Документация

Статьи по теме

  • 🐍 Python, Tkinter и SQL: разрабатываем приложение для создания словарей и запоминания иностранных слов
  • 🐍 Самоучитель по Python для начинающих. Часть 20: Графический интерфейс на Tkinter

PyQt и PySide

PyQt

PyQt

Инструменты для создания профессиональных десктопных приложений.

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()
    
🐍🎨 Собираем идеальный GUI на Python: ТОП-8 библиотек 2025 года

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
    }

}
    
🐍🎨 Собираем идеальный GUI на Python: ТОП-8 библиотек 2025 года

PyQt:

  • Урок по QML/PyQt5
  • Урок по QML/PyQt6
  • Веб-сайт PyQt
  • Документация PyQt6

PySide:

  • Урок по QML/PySide2
  • Урок по QML/PySide6
  • Веб-сайт PySide
  • Документация PySide
  • Репозиторий на GitHub

🐍🎓 Библиотека Python для собеса

Kivy

Kivy

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()
    
🐍🎨 Собираем идеальный GUI на Python: ТОП-8 библиотек 2025 года

Эквивалентное приложение, созданное с использованием декларативного языка 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.

🐍🎨 Собираем идеальный GUI на Python: ТОП-8 библиотек 2025 года

  • Веб-сайт Kivy
  • Документация Kivy
  • Репозиторий на GitHub
  • Документация KivyMD
  • Документация языка Kv

🐍🧩 Библиотека задач по Python

BeeWare Toga

BeeWare Toga

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()
    
🐍🎨 Собираем идеальный GUI на Python: ТОП-8 библиотек 2025 года

  • Урок по Toga
  • Главная страница BeeWare

WxPython

WxPython

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()
    
🐍🎨 Собираем идеальный GUI на Python: ТОП-8 библиотек 2025 года

  • Веб-сайт WxPython
  • Вики WxPython
  • Репозиторий на GitHub

PyGObject (GTK+)

PyGObject (GTK+)

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)
    
🐍🎨 Собираем идеальный GUI на Python: ТОП-8 библиотек 2025 года

  • Главная страница проекта PyGObject
  • Документация PyGObject
  • Репозиторий на GitLab

Remi

Remi

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)
    
🐍🎨 Собираем идеальный GUI на Python: ТОП-8 библиотек 2025 года

  • Репозиторий на 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.

Python Libraries

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.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Tweak no defender windows 10 что значит
  • Как открыть изображение в windows 10 стандартным просмотрщиком
  • Как сохранить экспресс панель в опере при переустановке windows 10
  • Asus splendid for windows 10 upgrade что это
  • Хоткей свернуть все окна windows 10