awesome-python
An opinionated list of Python frameworks, libraries, tools, and resources
https://github.com/vinta/awesome-python
Last synced: 4 days ago
JSON representation
-
Data Analysis
- ibis - A portable Python dataframe library with a single API for 20+ backends.
- modin - A drop-in pandas replacement that scales workflows by changing a single line of code.
- akshare - A financial data interface library, built for human beings!
- lumibot - Algorithmic trading framework for backtesting and live deployment across stocks, options, crypto, futures, and forex.
-
Database
- pickleDB - A simple and lightweight key-value store for Python.
- tinydb - A tiny, document-oriented database.
- zodb - A native object database for Python. A key-value and object graph database.
- DuckDB - An in-process SQL OLAP database management system; optimized for analytics and fast queries, similar to SQLite but for analytical workloads.
- chromadb - An open-source embedding database for building AI applications with embeddings and semantic search.
- duckdb - An in-process SQL OLAP database management system; optimized for analytics and fast queries, similar to SQLite but for analytical workloads.
-
Database Drivers
- awesome-postgres
- psycopg2 - The most popular PostgreSQL adapter for Python.
- sqlite3 - (Python standard library) SQlite interface compliant with DB-API 2.0.
- pymssql - A simple database interface to Microsoft SQL Server.
- py2neo - A client library and toolkit for working with Neo4j.
- awesome-mysql
- mysqlclient - MySQL connector with Python 3 support ([mysql-python](https://sourceforge.net/projects/mysql-python/) fork).
- pymysql - A pure Python MySQL driver compatible to mysql-python.
- psycopg - The most popular PostgreSQL adapter for Python.
- awesome-sqlite
- sqlite-utils - Python CLI utility and library for manipulating SQLite databases.
- pymssql - A simple database interface to Microsoft SQL Server.
- clickhouse-driver - Python driver with native interface for ClickHouse.
- cassandra-driver - The Python Driver for Apache Cassandra.
- happybase - A developer-friendly library for Apache HBase.
- kafka-python - The Python client for Apache Kafka.
- pymongo - The official Python client for MongoDB.
- motor - The async Python driver for MongoDB.
- redis-py - The Python client for Redis.
- Django MongoDB Backend - Official MongoDB database backend for Django.
- Beanie - An asynchronous Python object-document mapper (ODM) for MongoDB.
- awesome-mysql
- mssql-python - Official Microsoft driver for SQL Server and Azure SQL, built on ODBC for high performance and low memory usage.
- cassandra-driver - The Python Driver for Apache Cassandra.
-
Data Validation
- colander - Validating and deserializing data obtained via XML, JSON, an HTML form post.
- cerberus - A lightweight and extensible data validation library.
- colander - Validating and deserializing data obtained via XML, JSON, an HTML form post.
- jsonschema - An implementation of [JSON Schema](http://json-schema.org/) for Python.
- schema - A library for validating Python data structures.
- schematics - Data Structure Validation.
- voluptuous - A Python data validation library.
- pydantic - Data validation using Python type hints.
- pandera - A data validation library for dataframes, with support for pandas, polars, and Spark.
-
Data Visualization
- awesome-javascript
- Dash - Built on top of Flask, React and Plotly aimed at analytical web applications.
- Matplotlib - A Python 2D plotting library.
- Pygal - A Python SVG Charts Creator.
- PyGraphviz - Python interface to [Graphviz](http://www.graphviz.org/).
- PyQtGraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
- altair - Declarative statistical visualization library for Python.
- bokeh - Interactive Web Plotting for Python.
- cartopy - A cartographic python library with matplotlib support.
- diagrams - Diagram as Code.
- matplotlib - A Python 2D plotting library.
- plotnine - A grammar of graphics for Python based on ggplot2.
- pygal - A Python SVG Charts Creator.
- pyqtgraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
- seaborn - Statistical data visualization using Matplotlib.
- vispy - High-performance scientific visualization based on OpenGL.
- bqplot - Interactive Plotting Library for the Jupyter Notebook.
- pygraphviz - Python interface to [Graphviz](http://www.graphviz.org/).
- UltraPlot - Matplotlib wrapper for publication-ready scientific figures with minimal code. Includes advanced subplot management, panel layouts, and batteries-included geoscience plotting.
- plotly - Interactive graphing library for Python.
- gradio - Build and share machine learning apps, all in Python.
- altair - Declarative statistical visualization library for Python.
- bqplot - Interactive Plotting Library for the Jupyter Notebook.
-
Date and Time
- Arrow - A Python library that offers a sensible and human-friendly approach to creating, manipulating, formatting and converting dates, times and timestamps.
- pytz - World timezone definitions, modern and historical. Brings the [tz database](https://en.wikipedia.org/wiki/Tz_database) into Python.
- arrow - A Python library that offers a sensible and human-friendly approach to creating, manipulating, formatting and converting dates, times and timestamps.
- dateutil - Extensions to the standard Python [datetime](https://docs.python.org/3/library/datetime.html) module.
- pendulum - Python datetimes made easy.
- zoneinfo - (Python standard library) IANA time zone support. Brings the [tz database](https://en.wikipedia.org/wiki/Tz_database) into Python.
- dateparser - A Python parser for human-readable dates in dozens of languages.
- pendulum - Python datetimes made easy.
-
Debugging Tools
- ipdb - IPython-enabled [pdb](https://docs.python.org/3/library/pdb.html).
- pudb - A full-screen, console-based Python debugger.
- manhole - Debugging UNIX socket connections and present the stacktraces for all threads and an interactive prompt.
- python-hunter - A flexible code tracing toolkit.
- py-spy - A sampling profiler for Python programs. Written in Rust.
- vprof - Visual Python profiler.
- django-debug-toolbar - Display various debug information for Django.
- flask-debugtoolbar - A port of the django-debug-toolbar to flask.
- icecream - Inspect variables, expressions, and program execution with a single, simple function call.
- pyelftools - Parsing and analyzing ELF files and DWARF debugging information.
- memory-graph - Visualize Python data at runtime to debug references, mutability, and aliasing.
- scalene - A high-performance, high-precision CPU, GPU, and memory profiler for Python.
- django-debug-toolbar - Display various debug information for Django.
-
Deep Learning
- awesome-deep-learning
- keras - A high-level neural networks library and capable of running on top of either TensorFlow or Theano.
- pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.
- pytorch-lightning - Deep learning framework to train, deploy, and ship AI products Lightning fast.
- stable-baselines3 - PyTorch implementations of Stable Baselines (deep) reinforcement learning algorithms.
- tensorflow - The most popular Deep Learning framework created by Google.
- theano - A library for fast numerical computation.
- jax - a library for high-performance numerical computing with automatic differentiation and JIT compilation.
- vllm - A high-throughput and memory-efficient inference and serving engine for LLMs.
- jax - A library for high-performance numerical computing with automatic differentiation and JIT compilation.
-
DevOps Tools
- cloudinit - A multi-distribution package that handles early initialization of a cloud instance.
- openstack - Open source software for building private and public clouds.
- BorgBackup - A deduplicating archiver with compression and encryption.
- docker-compose - Fast, isolated development environments using [Docker](https://www.docker.com/).
- ansible - A radically simple IT automation platform.
- cloudinit - A multi-distribution package that handles early initialization of a cloud instance.
- pyinfra - A versatile CLI tools and python libraries to automate infrastructure.
- saltstack - Infrastructure automation and management system.
- cuisine - Chef-like functionality for Fabric.
- fabric - A simple, Pythonic tool for remote execution and deployment.
- supervisor - Supervisor process control system for UNIX.
- psutil - A cross-platform process and system utilities module.
- borg - A deduplicating archiver with compression and encryption.
- chaostoolkit - A Chaos Engineering toolkit & Orchestration for Developers.
- pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.
- awscli - Universal Command Line Interface for Amazon Web Services.
- openstack - Open source software for building private and public clouds.
- chalice - A Python serverless microframework for AWS.
-
Distributed Computing
- dask - A flexible parallel computing library for analytic computing.
- luigi - A module that helps you build complex pipelines of batch jobs.
- PySpark - [Apache Spark](https://spark.apache.org/) Python API.
- faust - A stream processing library, porting the ideas from [Kafka Streams](https://kafka.apache.org/documentation/streams/) to Python.
- streamparse - Run Python code against real-time streams of data via [Apache Storm](http://storm.apache.org/).
- Ray - A system for parallel and distributed Python that unifies the machine learning ecosystem.
- mpi4py - Python bindings for MPI.
- joblib - A set of tools to provide lightweight pipelining in Python.
-
Distribution
- Nuitka - Compile scripts, modules, packages to an executable or extension module.
- py2app - Freezes Python scripts (Mac OS X).
- py2exe - Freezes Python scripts (Windows).
- pynsist - A tool to build Windows installers, installers bundle Python itself.
- py2app - Freezes Python scripts (Mac OS X).
- py2exe - Freezes Python scripts (Windows).
- pyarmor - A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
- pyinstaller - Converts Python programs into stand-alone executables (cross-platform).
- shiv - A command line utility for building fully self-contained zipapps (PEP 441), but with all their dependencies included.
- cx_freeze - It is a Python tool that converts Python scripts into standalone executables and installers for Windows, macOS, and Linux.
- Nuitka - Compiles Python programs into high-performance standalone executables (cross-platform, supports all Python versions).
-
Documentation
- sphinx - Python Documentation generator.
- awesome-sphinxdoc
- pdoc - Epydoc replacement to auto generate API documentation for Python libraries.
- awesome-sphinxdoc
-
Downloader
- you-get - A YouTube/Youku/Niconico video downloader written in Python 3.
- s3cmd - A command line tool for managing Amazon S3 and CloudFront.
- youtube-dl - A command-line program to download videos from YouTube and other video sites.
- OpenBB - A financial data platform for analysts, quants and AI agents.
- yfinance - Easy Pythonic way to download market and financial data from Yahoo Finance.
- edgartools - Library for downloading structured data from SEC EDGAR filings and XBRL financial statements.
-
E-commerce
- django-oscar - An open-source e-commerce framework for Django.
- saleor - Headless open-source e-commerce platform.
- shoop - An open source E-Commerce platform based on Django.
-
Editor Plugins and IDEs
- Python - The official VSCode extension with rich support for Python.
- PyCharm - Commercial Python IDE by JetBrains. Has free community edition available.
- elpy - Emacs Python Development Environment.
- jedi-vim - Vim bindings for the Jedi auto-completion library for Python.
- python-mode - An all in one plugin for turning Vim into a Python IDE.
- PTVS - Python Tools for Visual Studio.
- spyder - Open Source Python IDE.
- YouCompleteMe - Includes [Jedi](https://github.com/davidhalter/jedi)-based completion engine for Python.
-
Email
-
Enterprise Application Integrations
- Zato - ESB, SOA, REST, APIs and Cloud Integrations in Python.
-
Environment Management
- pyenv - Simple Python version management.
- virtualenv - A tool to create isolated Python environments.
- pyenv-win - Pyenv for Windows, Simple Python version management.
-
File Format Processing
- pdf_oxide - A fast PDF library for text extraction, image extraction, and markdown conversion, powered by Rust.
- weasyprint - A visual rendering engine for HTML and CSS that can export to PDF.
- markdown-it-py - Markdown parser with 100% CommonMark support, extensions, and syntax plugins.
- pyyaml - YAML implementations for Python.
- tomllib - (Python standard library) Parse TOML files.
- xlwings - A BSD-licensed library that makes it easy to call Python from Excel and vice versa.
- pypdf - A library capable of splitting, merging, cropping, and transforming PDF pages.
-
File Manipulation
- mimetypes - (Python standard library) Map filenames to MIME types.
- pathlib - (Python standard library) An cross-platform, object-oriented path library.
- python-magic - A Python interface to the libmagic file type identification library.
- watchdog - API and shell utilities to monitor file system events.
- path.py - A module wrapper for [os.path](https://docs.python.org/3/library/os.path.html).
- watchfiles - Simple, modern and fast file watching and code reload in python.
- markitdown - Python tool for converting files and office documents to Markdown.
-
Foreign Function Interface
-
Functional Programming
- coconut - A variant of Python built for simple, elegant, Pythonic functional programming.
- funcy - A fancy and practical functional tools.
- returns - A set of type-safe monads, transformers, and composition utilities.
- toolz - A collection of functional utilities for iterators, functions, and dictionaries.
- cytoolz - Cython implementation of `Toolz`: High performance functional utilities.
- more-itertools - More routines for operating on iterables, beyond `itertools`.
- functools - (Python standard library) Higher-order functions and operations on callable objects.
-
Game Development
- Arcade - Arcade is a modern Python framework for crafting games with compelling graphics and sound.
- Cocos2d - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications.
- Harfang3D - Python framework for 3D, VR and game development.
- Panda3D - 3D game engine developed by Disney.
- Pygame - Pygame is a set of Python modules designed for writing games.
- PyOgre - Python bindings for the Ogre 3D render engine, can be used for games, simulations, anything 3D.
- PyOpenGL - Python ctypes bindings for OpenGL and it's related APIs.
- PySDL2 - A ctypes based wrapper for the SDL2 library.
- RenPy - A Visual Novel engine.
- Cocos2d - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications.
Programming Languages
Categories
Science
41
Testing
41
GUI Development
33
Text Processing
29
Code Analysis
26
Machine Learning
26
Database Drivers
24
Data Visualization
23
Specific Formats Processing
22
Game Development
21
Web Frameworks
20
DevOps Tools
18
Command-line Interface Development
18
ORM
18
Natural Language Processing
17
HTML Manipulation
17
Projects
17
Audio
15
Command-line Tools
15
Data Analysis
15
Implementations
14
Image Processing
14
RESTful API
14
Debugging Tools
13
AI and Agents
13
Admin Panels
12
Job Scheduler
12
Distribution
11
Podcasts
11
Package Management
11
Caching
11
Deep Learning
10
Asynchronous Programming
10
Algorithms and Design Patterns
9
Search
9
Logging
9
Web Content Extracting
9
Data Validation
9
Authentication
8
Web Asset Management
8
Editor Plugins and IDEs
8
Distributed Computing
8
Date and Time
8
Third-party APIs
8
Build Tools
8
Recommender Systems
8
Websites
8
File Format Processing
7
Functional Programming
7
Hardware
7
Interactive Interpreter
7
Miscellaneous
7
File Manipulation
7
Serialization
7
CMS
7
Microsoft Windows
7
HTTP Clients
6
Downloader
6
Task Queues
6
Web Crawling
6
WebSocket
6
Computer Vision
6
Database
6
Email
6
Configuration Files
6
Newsletters
5
ASGI Servers
5
Geolocation
5
Cryptography
5
Web APIs
5
Built-in Classes Enhancement
5
Static Site Generator
5
Penetration Testing
5
Processes
4
Package Repositories
4
Web Servers
4
Documentation
4
Foreign Function Interface
4
Job Schedulers
4
WSGI Servers
4
URL Manipulation
4
Quantum Computing
4
Robotics
3
Environment Management
3
Network Virtualization
3
E-commerce
3
Internationalization
3
Refactoring
3
Template Engine
3
Video
3
Concurrency and Parallelism
2
Serverless Frameworks
2
Permissions
2
RPC Servers
2
Books
2
News Feed
2
Template Engines
2
GraphQL
2
Web Scraping
2
Compatibility
2
**Sponsors**
1
Video Processing
1
Audio Processing
1
CLI Development
1
Shell
1
Tagging
1
Configuration
1
Enterprise Application Integrations
1
CLI Tools
1
Sub Categories
Keywords
python
417
python3
39
machine-learning
38
data-science
27
django
26
testing
22
http
21
asyncio
21
cli
20
deep-learning
19
database
17
framework
16
flask
15
ai
14
web
14
llm
14
json
14
pandas
12
awesome-list
12
linter
12
awesome
12
api
12
pytorch
12
pydantic
11
sql
11
async
11
automation
10
pypi
10
redis
10
python-library
10
nlp
10
rest
9
orm
9
data-analysis
9
natural-language-processing
9
terminal
9
markdown
9
agents
8
wsgi
8
asgi
8
pdf
8
cross-platform
8
python-3
8
linux
8
fastapi
8
http-server
8
rust
8
audio
8
validation
8
mongodb
7