awesome-python
An opinionated list of Python frameworks, libraries, tools, and resources
https://github.com/vinta/awesome-python
Last synced: 5 days ago
JSON representation
-
Game Development
- Pygame - Pygame is a set of Python modules designed for writing games.
- PyOpenGL - Python ctypes bindings for OpenGL and it's related APIs.
- PyOgre - Python bindings for the Ogre 3D render engine, can be used for games, simulations, anything 3D.
- arcade - Arcade is a modern Python framework for crafting games with compelling graphics and sound.
- cocos - 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.
- py-sdl2 - A ctypes based wrapper for the SDL2 library.
- pygame - Pygame is a set of Python modules designed for writing games.
- pyopengl - Python ctypes bindings for OpenGL and it's related APIs.
- renpy - A Visual Novel engine.
-
Geolocation
- geodjango - A world-class geographic web framework.
- django-countries - A Django app that provides a country field for models and forms.
- geojson - Python bindings and utilities for GeoJSON.
- geopy - Python Geocoding Toolbox.
- geopandas - Python tools for geographic data (GeoSeries/GeoDataFrame) built on pandas.
-
GraphQL
- graphene - GraphQL framework for Python.
- strawberry-django - Strawberry GraphQL integration with Django.
-
GUI Development
- curses - Built-in wrapper for [ncurses](http://www.gnu.org/software/ncurses/) used to create terminal GUI applications.
- kivy - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.
- PyGObject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).
- PyQt - Python bindings for the [Qt](https://www.qt.io/) cross-platform application and UI framework.
- Tkinter - Tkinter is Python's de-facto standard GUI package.
- urwid - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
- wxPython - A blending of the wxWidgets C++ class library with the Python.
- PyQt - Python bindings for the [Qt](https://www.qt.io/) cross-platform application and UI framework.
- PyGObject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).
- PyGObject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).
- Eel - A library for making simple Electron-like offline HTML/JS GUI apps.
- enaml - Creating beautiful user-interfaces with Declarative Syntax like QML.
- Gooey - Turn command line programs into a full GUI application with one line.
- pyglet - A cross-platform windowing and multimedia library for Python.
- PySimpleGUI - Wrapper for tkinter, Qt, WxPython and Remi.
- urwid - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
- Flexx - Flexx is a pure Python toolkit for creating GUI's, that uses web technology for its rendering.
- CustomTkinter - A modern and customizable python UI-library based on Tkinter.
- DearPyGui - A Simple GPU accelerated Python GUI framework
- NiceGui - It is great for micro web apps, dashboards, robotics projects, smart home solutions and similar use cases. You can also use it in development, for example when tweaking/configuring a machine learning algorithm or tuning motor controllers.
- PyQt - Python bindings for the [Qt](https://www.qt.io/) cross-platform application and UI framework.
- pywebview - A lightweight cross-platform native wrapper around a webview component.
- Toga - A Python native, OS native GUI toolkit.
- Flet - Cross-platform GUI framework for building modern apps in pure Python.
- kivy - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.
- pygobject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).
- pyside - Qt for Python offers the official Python bindings for [Qt](https://www.qt.io/), this is same as PyQt but it's the official binding with different licensing.
- tkinter - (Python standard library) The standard Python interface to the Tcl/Tk GUI toolkit.
- toga - A Python native, OS native GUI toolkit.
- wxPython - A blending of the wxWidgets C++ class library with the Python.
- flet - Cross-platform GUI framework for building modern apps in pure Python.
- urwid - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
- dearpygui - A Simple GPU accelerated Python GUI framework
-
Hardware
- ino - Command line toolkit for working with [Arduino](https://www.arduino.cc/).
- Pingo - Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.
- keyboard - Hook and simulate global keyboard events on Windows and Linux.
- mouse - Hook and simulate global mouse events on Windows and Linux.
- pynput - A library to control and monitor input devices.
- scapy - A brilliant packet manipulation library.
- bleak - A cross platform Bluetooth Low Energy Client for Python using asyncio.
-
HTML Manipulation
- beautifulsoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
- cssutils - A CSS library for Python.
- lxml - A very fast, easy-to-use and versatile library for handling HTML and XML.
- WeasyPrint - A visual rendering engine for HTML and CSS that can export to PDF.
- xmldataset - Simple XML Parsing.
- bleach - A whitelist-based HTML sanitization and text linkification library.
- html5lib - A standards-compliant library for parsing and serializing HTML documents and fragments.
- markupsafe - Implements a XML/HTML/XHTML Markup safe string for Python.
- pyquery - A jQuery-like library for parsing HTML.
- untangle - Converts XML documents to Python objects for easy access.
- xmltodict - Working with XML feel like you are working with JSON.
- cssutils - A CSS library for Python.
- JustHTML - A pure Python HTML5 parser that just works. No C extensions to compile. No system dependencies to install. No complex API to learn.
- cssutils - A CSS library for Python.
- lxml - A very fast, easy-to-use and versatile library for handling HTML and XML.
- xmldataset - Simple XML Parsing.
- tinycss2 - A low-level CSS parser and generator written in Python.
-
HTTP Clients
- httpx - A next generation HTTP client for Python.
- requests - HTTP Requests for Humans.
- treq - Python requests like API built on top of Twisted's HTTP client.
- urllib3 - A HTTP library with thread-safe connection pooling, file post support, sanity friendly.
- aiohttp - Asynchronous HTTP client/server framework for asyncio and Python.
- httptap - Dissects an HTTP request into DNS, TCP, TLS, wait, and transfer phases and renders the timings as a waterfall.
-
Image Processing
- imgSeek - A project for searching a collection of images using visual similarity.
- scikit-image - A Python library for (scientific) image processing.
- pillow - Pillow is the friendly [PIL](http://www.pythonware.com/products/pil/) fork.
- python-barcode - Create barcodes in Python with no extra dependencies.
- python-qrcode - A pure Python QR Code generator.
- pywal - A tool that generates color schemes from images.
- pyvips - A fast image processing library with low memory needs.
- quads - Computer art based on quadtrees.
- thumbor - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images.
- wand - Python bindings for [MagickWand](http://www.imagemagick.org/script/magick-wand.php), C API for ImageMagick.
- scikit-image - A Python library for (scientific) image processing.
- pymatting - A library for alpha matting.
- pymatting - A library for alpha matting.
- scikit-image - A Python library for (scientific) image processing.
-
Implementations
- Cython - Optimizing Static Compiler for Python.
- Jython - Implementation of Python programming language written in Java for the JVM.
- Numba - Python JIT compiler to LLVM aimed at scientific Python.
- pypy - A very fast and compliant implementation of the Python language.
- cpython - **Default, most widely used implementation of the Python programming language written in C.**
- cython - Optimizing Static Compiler for Python.
- clpython - Implementation of the Python programming language written in Common Lisp.
- ironpython - Implementation of the Python programming language written in C#.
- micropython - A lean and efficient Python programming language implementation.
- numba - Python JIT compiler to LLVM aimed at scientific Python.
- peachpy - x86-64 assembler embedded in Python.
- pyston - A Python implementation using JIT techniques.
- pypy - A very fast and compliant implementation of the Python language.
- pyodide - Python distribution for the browser and Node.js based on WebAssembly.
-
Interactive Interpreter
- Jupyter Notebook (IPython) - A rich toolkit to help you make the most out of using Python interactively.
- awesome-jupyter
- bpython - A fancy interface to the Python interpreter.
- ptpython - Advanced Python REPL built on top of the [python-prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit).
- marimo - Transform data and train models, feels like a next-gen notebook, stored as Git-friendly Python.
- jupyter - A rich toolkit to help you make the most out of using Python interactively.
- ptpython - Advanced Python REPL built on top of the [python-prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit).
-
Internationalization
-
Job Scheduler
- Airflow - Airflow is a platform to programmatically author, schedule and monitor workflows.
- APScheduler - A light but powerful in-process task scheduler that lets you schedule functions.
- doit - A task runner and build tool.
- Joblib - A set of tools to provide lightweight pipelining in Python.
- TaskFlow - A Python library that helps to make task execution easy, consistent and reliable.
- django-schedule - A calendaring app for Django.
- gunnery - Multipurpose task execution tool for distributed systems with web-based interface.
- Plan - Writing crontab file in Python like a charm.
- Prefect - A modern workflow orchestration framework that makes it easy to build, schedule and monitor robust data pipelines.
- schedule - Python job scheduling for humans.
- Spiff - A powerful workflow engine implemented in pure Python.
- TaskFlow - A Python library that helps to make task execution easy, consistent and reliable.
-
Job Schedulers
- airflow - Airflow is a platform to programmatically author, schedule and monitor workflows.
- apscheduler - A light but powerful in-process task scheduler that lets you schedule functions.
- dagster - An orchestration platform for the development, production, and observation of data assets.
- SpiffWorkflow - A powerful workflow engine implemented in pure Python.
-
Logging
- logbook - Logging replacement for Python.
- logging - (Python standard library) Logging facility for Python.
- structlog - Structured logging made easy.
- loguru - Library which aims to bring enjoyable logging in Python.
- sentry-python - Sentry SDK for Python.
- logbook - Logging replacement for Python.
- logbook - Logging replacement for Python.
- structlog - Structured logging made easy.
- logfmter - A standard library compatible logfmt formatter.
-
Machine Learning
- awesome-machine-learning
- scikit-learn - The most popular Python library for Machine Learning.
- Spark ML - [Apache Spark](http://spark.apache.org/)'s scalable Machine Learning library.
- gym - A toolkit for developing and comparing reinforcement learning algorithms.
- H2O - Open Source Fast Scalable Machine Learning Platform.
- Metrics - Machine learning evaluation metrics.
- scikit-learn - The most popular Python library for Machine Learning.
- vowpal_porpoise - A lightweight Python wrapper for [Vowpal Wabbit](https://github.com/JohnLangford/vowpal_wabbit/).
- xgboost - A scalable, portable, and distributed gradient boosting library.
- MindsDB - MindsDB is an open source AI layer for existing databases that allows you to effortlessly develop, train and deploy state-of-the-art machine learning models using standard queries.
- NuPIC - Numenta Platform for Intelligent Computing.
- diffusers - A library that provides pretrained diffusion models for generating and editing images, audio, and video.
- Feature-engine - sklearn compatible API with the widest toolset for feature engineering and selection.
- PraisonAI - Production-ready Multi-AI Agents framework with self-reflection, 100+ LLM support, MCP integration, and agentic workflows.
- pydantic-ai - A Python agent framework for building generative AI applications with structured schemas.
- RAGFlow - An open-source RAG engine for document understanding and question answering with LLMs.
- Transformers - A framework that lets you easily use pretrained transformer models for NLP, vision, and audio tasks.
- LangChain - Building applications with LLMs through composability.
- LlamaIndex - A data framework for your LLM application.
- rasa - An open-source machine learning framework for automated text and voice-based conversations.
- catboost - A fast, scalable, high performance gradient boosting on decision trees library.
- lightgbm - A fast, distributed, high performance gradient boosting framework.
- pgmpy - A Python library for probabilistic graphical models and Bayesian networks.
- scikit-learn - The most popular Python library for Machine Learning with extensive documentation and community support.
- lightgbm - A fast, distributed, high performance gradient boosting framework.
- TabGAN - Synthetic tabular data generation using GANs, Diffusion Models, and LLMs.
-
Microsoft Windows
- Python(x,y) - Scientific-applications-oriented Python Distribution based on Qt and Spyder.
- WinPython - Portable development environment for Windows 7/8.
- Python(x,y) - Scientific-applications-oriented Python Distribution based on Qt and Spyder.
- pythonlibs - Unofficial Windows binaries for Python extension packages.
- PythonNet - Python Integration with the .NET Common Language Runtime (CLR).
- PyWin32 - Python Extensions for Windows.
- winpython - Portable development environment for Windows 10/11.
-
Miscellaneous
- tryton - A general purpose business framework.
- boltons - A set of pure-Python utilities.
- itsdangerous - Various helpers to pass trusted data to untrusted environments.
- magenta - A tool to generate music and art using artificial intelligence.
- pluginbase - A simple but flexible plugin system for Python.
- blinker - A fast Python in-process signal/event dispatching system.
- tryton - A general-purpose business framework.
-
Natural Language Processing
- nltk - A leading platform for building Python programs to work with human language data.
- spacy - A library for industrial-strength natural language processing in Python and Cython.
- gensim - Topic Modeling for Humans.
- langid.py - Stand-alone language identification system.
- pattern - A web mining module.
- polyglot - Natural language pipeline supporting hundreds of languages.
- pytext - A natural language modeling framework based on PyTorch.
- PyTorch-NLP - A toolkit enabling rapid deep learning NLP prototyping for research.
- Stanza - The Stanford NLP Group's official Python library, supporting 60+ languages.
- funNLP - A collection of tools and datasets for Chinese NLP.
- jieba - The most popular Chinese text segmentation library.
- pkuseg-python - A toolkit for Chinese word segmentation in various domains.
- snownlp - A library for processing Chinese text.
- nltk - A leading platform for building Python programs to work with human language data.
- nltk - A leading platform for building Python programs to work with human language data.
- spacy - A library for industrial-strength natural language processing in Python and Cython.
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