Python:Libraries
lastmod 2026-07-31created 2022-07-18203 edits
Sorted list of recommended Python libraries
Interpreter/Implementations
Python IDEs
Lint
- 5 Python code cleanup tools that 'reduce errors and look good' - ITWorld Korea
- A story about Python code style - (1) A look at Style Checkers and Formatters
- Pycodestyle - Basic PEP 8 compliance check
- Autopep8 - Converts files to conform to PEP-8
- Flake8 - Overall code quality check and specific recommendations
- Pylint - Comprehensive code quality management (settings may need tuning to avoid overload)
- Black - Steers the code base toward conforming to a default style
- pycodestyle (pep8)
- pyflakes
- YAPF
- Coverage.py
- Ruff - 10-100x faster Python linter
Code Formatter
Code coverage
Type Checker
- mypy
- mypy-protobuf - Makes it compatible with protobuf.
- pyright
- pyre-check
- Ty - Fast Python type checker and language server
- Pyrefly - A new type checker and IDE experience for Python
Stub Files (pyi)
Dependency manager
- Poetry - Dependency management
Charset
- chardet - Universal encoding detector for Python 3
Serialization
- [Recommended] Python Serialization Benchmarks 1
- pydantic - Data validation and settings management using python type annotations.
- PyYAML
- Benchmarks — quickle 🥒 0.4.0 documentation
Parser/Lexer
- Pygments - Syntax Highlighting library
- Tree-sitter - A parser generator and incremental parsing library.
- AST (Abstract Syntax Tree) - Built into Python.
- Lark (Earley and LALR parsers) - A flexible parser generator that can parse a variety of syntaxes.
JSON
jq
- pyjq - A Python binding for ./jq
- jqpy - Python bindings for jq
- jq.py - JQpy is Python binding for JQ (JSON processing language) that simply works on any platform (even Windows) and does not require compilation.
XML
- Xmltodict
- xmlschema - An XML Schema validator and decoder
- lxml - Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
Web crawler
Web application framework
- Twisted: Twisted is an event-driven networking engine written in Python and licensed under the open source MIT license.
- Aiohttp: http client/server for Asyncio.
- Bottle: Fast, simple and lightweight WSGI micro web-framework
- Django: The Web framework for perfectionists with deadlines
- Falcon: A high-performance Python framework for building cloud APIs
- Flask: A microframework based on Werkzeug, Jinja2 and good intentions
- Muffin: A web-framework based on Asyncio stack
- Pyramid: A small, fast, down-to-earth, open source Python web framework
- Weppy: The webframework for humans
- Wheezy Web: A lightweight, high performance, high concurrency WSGI web framework
- Tornado: A Python web framework and asynchronous networking library
- pure-python WSGI application
- aiortc: WebRTC and ORTC implementation for Python using asyncio.
- Sanic
- Vibora
- FastAPI
- Python:Requests - Http client.
- Uvicorn - ASGI web server for Python.
- Gunicorn - Python WSGI HTTP Server for UNIX
- Lumi - Tiny framework that turns Python functions into REST APIs
- Pynecone - Develop the Backend and Frontend together in Python.
- Plain - Web framework for Python
- Streamlit - Easy web-building tool for data scientists
- uploadserver - A simple server similar to
http.server, but with upload support.
Banchmark result:
Networking
- python-socketio
- Twisted
- Tornado
- grpc
- zeromq
Network protocols, sans I/O
Projects that implement only pure network protocols, without I/O
- FastCGI - fcgiproto
- HTTP/2 - hyper-h2
- HTTP/1.1 - h11
- IRC - ircproto
- OAuth 1.0 & OAuth 2.0 - oauthlib
- WebSocket - wsproto
- SOCKSv5 - socks5
- SOCKSv4 & SOCKSv5 - siosocks
- RFC 2217 (Serial over IP) - pyserial
- EPICS Channel Access - caproto
- FIX 4.0 - FIX 5.0 - simplefix
- QUIC & HTTP/3 - aioquic
- Language Server Protocol - lsp
- SMTP - smtpproto
- D-Bus - jeepney
SSH
- Paramiko
- Fabric - Execute shell commands remotely over SSH
- sshfs - Python client implementing fsspec. Based on asyncssh.
Shell
- plumbum - shell combinators library
Search engine
- Whoosh - Pure Python, Full Text Search
- textdistance - Search by computing text similarity
- fuzzywuzzy - Similar text search
- langchain - LLM (large language model)-based search implementation
Network Automation
- Netmiko - Multi-vendor library to simplify CLI connections to network devices
- Nornir - Nornir is an automation framework written in python to be used with python.
- NAPALM - Network Automation and Programmability Abstraction Layer with Multivendor support
- Ansible
Desktop Automation
Quantum computing
- Qiskit
- Cirq
Web Assembly/wasm
- pyodide - Run Python in the browser
- Wasmer Python (Wasmer)
Server-sent events (SSE) support
WebDAV
Serial communication
- pySerial
- pyserial-asyncio - asyncio extension package for pyserial
- pyparallel - Python parallel port access library
- pyserial-terminal - A more capable, modular terminal
Terminal emulator
- pyte - A lightweight, fast virtual terminal emulator written in pure Python. It interprets ANSI and VT100 sequences and runs in headless mode.
- pseudoterminal (pty) - Can create a virtual terminal headlessly using the Python standard library pty.
- Available by default with no separate package installation. Suitable for tests that interact with the system terminal.
- Can interact with various network tools such as SSH, FTP, and telnet, and is suitable for automating terminal commands.
Bluetooth
RTC/ICE/TURN/STUN
Mathematics, Science, Engineering
Physics engine
Animation
- Tweener - Helper functions for easing and tweening - https://github.com/nobrelli/tweener - It is GPL 3.0.
- Gist - Python easing functions
- easing-functions - https://pypi.org/project/easing-functions/
- Github - demaisj/Pygame-Transitions: Beautiful & easy transitions for pygame programs
- pyganim
Analytics
- Kats - Python framework for time-series data analysis
Geometry
GIS/OpenStreetMap
- prettymaps - Python library for drawing custom maps from OSM data
Graph theory
- Stackoverflow - Python Graph Library (closed)
- Performance Comparison - graph-tool: Efficent network analysis with python
- NetworkX
- igraph
- graph-tool - (based on Boost Graph Library)
- Graphillion
- NetworKit
- SNAP for Python (Snap.py)
Date/Time
- Python:datetime
- python-dateutil (dateutil) - powerful extensions to datetime
Database
- aiosql - Simple SQL in Python
- sqlite3
- aiosqlite
- psycopg2
- asyncpg
- aiopg
- SQLModel - SQL DB library for Python - Made to make SQL DB access easy in FastAPI (same developer)
- ConnectorX - Library for quickly loading DBs into Python
- PyPika - SQL query builder that exposes the full richness of the SQL
- SQLGlot - Python SQL Parser and Transpiler
Key–value database
Cache
Data visualizing
See the site (Various ways to visualize data in Python).
- matplotlib
- seaborn - statistical data visualization
- plotnine
- folium
- plot.ly
- pyecharts
- Rerun
- pyimgui
- Dear PyGui
- Scripton (IDE)
- Manim - Python package for math animations, made by Grant Sanderson of YouTuber 3Blue1Brown.
Machine Learning/Deep learning
- scikit-learn
- tensorflow
- pytorch
- keras
- theano
- pycocotools
- Gradio - Build a UI for a machine learning model in Python in 3 minutes
Large language model (LLM)
- Marvin - Open-source library that makes it easy to attach AI to code
Natural language processing (NLP)
- NLTK - https://www.nltk.org/
- spaCy - https://spacy.io/
- Gensim - https://radimrehurek.com/gensim/
- CoreNLP - https://stanfordnlp.github.io/CoreNLP/
- Pattern - https://github.com/clips/pattern
- TextBlob - https://textblob.readthedocs.io/en/dev/
- PyNLPl - https://pynlpl.readthedocs.io/en/latest/
- scikit-learn
- polyglot
- PyTorch
Big Data
- Tuplex - Parallel big data processing framework
DataFrame
Image
- Pillow
- scikit-image
- SimpleITK - multi-dimensional image analysis
Vector Graphics
SVG
- scour - An SVG Optimizer / Cleaner
- svgelements - Svg Elements Parsing
- svgpathtools - A collection of tools for manipulating and analyzing SVG Path objects and Bezier curves.
- svg.py
Video
Audio
- Pydub - Manipulate audio with a simple and easy high level interface
Multimedia framework
- ffmpeg-python
- ffmpy
- MoviePy
- PyAV
- video-streamer
- PyLivestream
- Python FFmpeg Video Streaming (python-ffmpeg-video-streaming)
- python-librtmp
- rtmplite
- pyrtmp - Pure python RTMP server
- imageio
- pims
- pytube - A lightweight, dependency-free Python library (and command-line utility) for downloading YouTube Videos.
- Valkka - Valkka is a python media streaming framework
- youtube-dl
- yt-dlp
Python with FFmpeg - How to:
Game/Rendering Engines
OpenGL
VR/AR
- Augmentor - Image augmentation library in Python for machine learning.
Security
- Authlib
- Python Keyring Lib (keyring)
- keyrings.cryptfile - Encrypted text file storage.
- keyring_jeepney - a pure Python backend using the secret service DBus API for desktop Linux.
- keyrings.alt - "alternate", possibly-insecure backends, originally part of the core package, but available for opt-in.
- gsheet-keyring - a backend that stores secrets in a Google Sheet. For use with ipython-secrets.
- bitwarden-keyring - a backend that stores secrets in the BitWarden password manager.
- sagecipher - an encryption backend which uses the ssh agent protocol's signature operation to derive the cipher key.
- keyrings.osx_keychain_keys - OSX keychain key-management, for private, public, and symmetric keys.
Asynchronization/asyncio/aio
- trio
- aiorun
- uvloop
- async-timeout - Easily apply timeouts when using asyncio.
- APScheduler - async
- anyio - An asynchronous paradigm taken one step further
- aiofiles - File support for asyncio.
cron/Scheduler
Python Package Manager
- Python Package Index (PyPI)
- pip: A tool for installing and managing Python packages.
- EasyInstall (easy_install, ez_setup): Easily download, build, install, upgrade, and uninstall Python packages.
- setuptools (setup.py)
- pypiserver - Minimal PyPI server
- pypi-server - Tornado PyPi server
- devpi - Python PyPi staging server and packaging, testing, release tool.
- piphyperd - Helps you use PIP programmatically.
- flit - Flit is a simple way to put Python packages and modules on PyPI. It lets you think less about packaging and helps you avoid common mistakes.
- pipenv - Automatically creates and manages a virtualenv for the project, and pins versions with the Pipfile.lock file.
- twine - Collection of utilities for publishing packages to PyPI
- pip-tools = pip-compile + pip-sync
- pipx - Install and Run Python Applications in Isolated Environments
- Poetry - Dependency management
Testing
E2E Test
- Playwright - Playwright enables reliable end-to-end testing for modern web apps.
Medical
- pyFAST - Python bindings for FAST - A framework for high-performance medical image computing and visualization on heterogeneous systems using multi-core CPUs and GPUs.
Graphic
- cmdpxl - TUI image editor.
- Pytiled-parser - tiled parser
- py_aseprite - aseprite parser
Graphical User Interfaces (GUI)
Graphical interfaces can be made using a module such as PyQt5, PyQt4, wxPython or Tk.
- Python:RenderingEngines
- Tkinter (Python:tkinter)
- TkinterWeb
- Tkinter-Designer (Tkinter, Python, Figma)
- tukaan
- wxPython/wxPython Phoenix/wxGlade
- Kivy/KivEnt
- Gooey: Turn (almost) any Python 2 or 3 Console Program into a GUI application with one line
- DearPyGui: A GPU Accelerated Python GUI Framework
- pygame
- pyglet
- panda3d
- Python Arcade
- PySimpleGUI - A simple Python GUI Framework with Tkinter, Qt, Remi, and WxPython as backends.
- toga - A Python native, OS native GUI toolkit.
- Enaml - Declarative User Interfaces for Python
- PyGObject - GTK+3 in Python
- EasyGUI - EasyGUI is a module for very simple, very easy GUI programming in Python. - Can create simple message boxes for various cases.
- PyQt
-
PySide- Deprecated. - PySide2
- BeeWare
- Pygubu - A simple GUI builder for the python tkinter module
- flet - Framework for easily writing multi-platform apps in Python
- Dropbase - AI prompt-based Python web app builder
GUI development
- DearPyGui - GUI library
- Eel - Chrome-based GUI library
- Gooey - Converts command-line programs into GUI applications
- Kivy - Cross-platform GUI library
- PyGObject - GNOME-based GUI library
- PyQt/PySide - Feature-rich cross-platform GUI
- MagicGUI - Library that simplifies GUI creation
- PyDracula - Modern GUI PySide6 / PyQt6
- PyQtChart - Chart extension library for PyQt5/PyQt6
- PyQtGraph - High-performance graphics and visualization for PyQt
- QtPy - Abstraction layer for various Qt bindings
- napari - High-performance n-dimensional interactive image viewer
- qtpynodeeditor - Node editor for PyQt apps
- PySimpleGUI - GUI development library
- Tkinter - Python interface to Tcl/Tk
- CustomTkinter - Tkinter-based modern GUI library
- VTK - 3D visualization library
- PyVista - Library for 3D visualization and analysis
- wxPython - Cross-platform GUI toolkit
OpenGL
- Dear PyGui : GPU-accelerated GUI - Used this one instead when pyimgui didn't work well. (Works fine now)
- pyimgui
Webview/www/html
- remi - Python REMote Interface library
- pywebview - Build GUI for your Python program with JavaScript, HTML, and CSS
- Eel - A little Python library for making simple Electron-like HTML/JS GUI apps
- browsergui - A Python GUI that uses a browser to draw things.
- pyJS - pyjs is a Rich Internet Application (RIA) Development Platform for both Web and Desktop.
- Flexx - Write desktop and web apps in pure Python (by flexxui)
- DicksonUI - Lightweight And Full Featured Browser Based UI / GUI (Graphical User Interface Library)
- fman build system - Easy cross-platform development with Python and QT (fbs: a lightweight alternative to Electron)
- PyScript - Run Python code in HTML
- Neutron - Create modern cross-platform apps in Python using HTML and CSS
- WebUI - Use any web browser as GUI, with your preferred language in the backend, and HTML/JS/TS/CSS in the frontend.
- dash - Dash is the original low-code framework for rapidly building data apps in Python.
- CEF Python
Web Frontend
- ReactPy - React for Python
- pyfyre
- justpy
- reflex - A web framework you can build with in pure python.
- Anvil
- Gradio - Build a UI for a machine learning model in Python in 3 minutes
System Tray
- pystray - python library that displays a system tray icon.
- PySimpleGUI#SystemTray
Updater
Browser
- Brython - Browser implementation of Python 3
- Browser-Cookie3 - Grab and use the browser's cookies from Python
TUI/CUI/CLI/Console
- urwid - Console user interface library for Python
- colorama - Makes ANSI escape character sequences (for producing colored terminal text and cursor positioning) work on MS Windows.
- mpcurses - An abstraction of the Python curses and multiprocessing libraries that provides function execution and runtime visualization.
- pytermgui - A modern TUI library free from the shackles of web development.
- tqdm - A Fast, Extensible Progress Bar for Python and CLI
- rich - Python library for rich formatting in the terminal
- Textual - TUI framework for Python
- (Translation) Making pretty CLIs with Python :: Ibiza
- Docopt
- PyInquirer
- PyFiglet
- Clint
- EmailCLI
Protocols: RTSP/RTP
- PyPi - rtsp
- pylibsrtp - Python wrapper around the libsrtp library
Protocols: SDP
- sdp-transform - A simple Python parser and writer of SDP.
Static type check
- Pyright
- Mypy
- PyPy
- Nuitka - Converts Python modules into C-level programs, then uses libpython and C files to behave similarly to CPython
Programming Language (binding)
- Lunatic Python (Lua, Python)
- Lupa (Lua)
- RustPython (Rust)
- JSPyBridge - Bridge for interoperability between Node.js and Python
- PythonMonkey - Embeds SpiderMonkey in the Python VM
Logging (Log Aggregator)
- Python:logging
- python-logstash (elasticsearch)
- python-logstash-async (elasticsearch)
- Logbook
- fastlogging
- CMRESHandler.py (elasticsearch)
- Elasticsearch:Python - Official Elasticsearch API
- coloredlogs
- cutelog - GUI for logging
Task Queue / Multi-Task / Process / Parallel
- Python:asyncio
- Python:subprocess
- Python:multiprocessing
- Python:threading
- aiomultiprocess
- celery
- psutil
- process-isolation - Process Isolation in Python - Elegant process isolation in pure python
- ray
- Task Queues - Full Stack Python
- Celery - A distributed task queue; the most commonly used Python library for handling asynchronous tasks and scheduling.
- RQ (Redis Queue) is a simple Python library for queueing jobs and processing them in the background with workers. RQ is backed by Redis and is designed to have a low barrier to entry.
- Taskmaster is a lightweight, simple distributed queue for handling large numbers of one-off tasks.
- Huey is a Redis-based task queue that aims to provide a simple yet flexible framework for executing tasks. Huey supports task scheduling, crontab-like repeating tasks, result storage, and automatic retry on failure.
- Kuyruk is a simple, easy-to-use task queue system built on top of RabbitMQ. Its feature set is small, but new features can be added through extensions.
- Dramatiq is a fast and reliable alternative to Celery. It supports RabbitMQ and Redis as message brokers.
- django-carrot is a simple task queue specifically for Django that can serve when Celery is overkill.
- tasq is a brokerless task queue for simple use cases. It is not recommended for production unless further testing and development is done.
Process manager
Virtual Environment
- pyenv - Python version management.
- virtualenv - Python package dependency management.
- pipenv - Automatically creates and manages a virtualenv for the project, and pins versions with the Pipfile.lock file.
- poetry
- pip
- pyenv
- venv
- pdm
- hatch
- Rye - One-stop Python environment manager
Encryption / Decryption
Authentication/RBAC/ACL
Entity component system (ECS)
Optical character recognition (OCR)
Documentation generator
- Sphinx (documentation generator)
- Python:Sphinx - How to write documentation using Sphinx in Python.
SDK
Building/Packaging
- Buildozer
- PyOxidizer - A modern Python application packaging and distribution tool
- fpm
- PyAppImage
- py2exe - Windows only
- py2app - Macs only
- pynsist
- Nuitka
- cython
- Flit - Python packaging tool
- Meson - Modern solution for efficient builds of Python projects
- Packaging - Package version comparison and dependency management tool
- Pipenv - Package manager and virtual environment management tool
- Poetry - Python package dependency manager
- PyInstaller - Windows, Mac, and Linux. Converter to standalone executables
- Rye - Unified Python package management solution
- conda - Manages packages and isolated environments
- cx_Freeze - Windows, Mac, and Linux. Converter to standalone executables
- devpi - Personalized PyPI server
- pip - Python's default package manager
- pipdeptree - Package dependency tree visualization
- pipx - Environment for installing and running Python apps in isolated environments
- setuptools - Python package build and distribution tool
- uv - Rust-based Python package installer
- wheel - Python's standard binary distribution format
CI/Webhook
- git-auto-deploy - Deploy your GitHub, GitLab or Bitbucket projects automatically on Git push events or webhooks.
- autohooks - Library for managing git hooks
Licensing (Product Key)
Container
- Docker SDK for Python (docker-py) - Docker
- Includes code that checks whether the current Runtime is running inside a Docker Container or on the Host machine.
Obfuscation libraries
- pyarmor - The free version has limitations.
- pyobfuscate
- pyminifier - Usable among the completely free ones(?)
See also the #Obfuscation section below.
Native/Jit
- Cython
- Nuitka - Converts Python modules into C-level programs, then uses libpython and C files to behave similarly to CPython
- Numba
- llvmlite
- PyPy
- Pyjion - A drop-in JIT Compiler for Python 3.10
- codon - High-performance Python-like compiler using LLVM
- LPython - New high-speed Python compiler
Debugging/Performance/Profileing
Python Call Graph Loguru Snoop Heartrate
- 3 Tools to Track and Visualize the Execution of your Python Code
- Identifying bottlenecks and optimizing performance in a Python codebase
- Python:PerformanceTunning
- Python:dis - Lets you inspect Python ByteCode.
- pdb (Python Debugger)
- ipdb
- pudb
- PyDev
- vprof
- Python Call Graph
- Loguru - Print Better Exceptions
- snoop - Print the Lines of Code being Executed in a Function
- heartrate - Visualize the Execution of a Python Program in Real-Time
- pyperformance
- locust
- pytest-benchmark
- cProfile
- Guppy3/Guppy-PE
- viztracer - A debugging and profiling tool that can trace and visualize Python code execution
- SnakeViz
- vprof
- Pympler
- Memory Profiler
- vmprof
- pyinstrument
- gprof2dot
- pyprof2calltree and KCacheGrind
- pydevd
- pydevd-pycharm (pycharm remote debugging)
AutoComplete
Visual programming
Build
internationalization (i18n) and localization (l10n)
Argument parser
Environment Variables
- python-dotenv -
.envfile.
tiling window manager
xlib
SOAP
- Zeep
- Spyne - A transport and architecture agnostic rpc library that focuses on exposing public services with a well-defined API.
ONVIF
WSDL
WS-Discovery
Watchdog/Hot reload
- Watchgod - It's 'G'od.
-
Watchdog- It's 'D'og. Moved to watchfiles. - LiveReload - Hot reload watch server.
- Reloadium - Advanced Hot Reloading for Python
- python-hmr - Hot module reload for python, automatically reload your code when files are modified. No need to modify source code.
- auto-reloader - Automatic reloading library for Jupyter
- reloadr - Hot code reloading tool for Python
Keyboard/Mouse Hooking
- boppreh/keyboard - Hook and simulate global keyboard events on Windows and Linux.
- boppreh/mouse - Hook and simulate global mouse events in pure Python
Dummy/fake
File/Storage/Filesystem
- smart_open - Utils for streaming large files (S3, HDFS, gzip, bz2...)
- PyFilesystem2 - Python's Filesystem abstraction layer
MS Office
- python-pptx - read/write powerpoint format
- OpenPyXL - read/write excel format
- xlwings
- pywin32
- python-docx
- borb - Open-source Python library for reading/writing/editing PDFs
- PyPDF2
Path/Directory/Setting
- [Recommended] appdirs - A small Python module for determining appropriate platform-specific dirs, e.g. a "user data dir".
- appdata - AppData is a Python library to access app data paths based on the operating system the app is running on.
- usersettings - Portable Local Settings Storage for Python
Cloud
AWS
ETC
- Anaconda
- Paramiko
- Jython
- pdb-clone
- pyflakes
- Jupyter (IPython)
- pycdc: Python Decompiler.
- Python EXecutable (PEX)
- libhwp - hwp reader
- Contextual - Replace globals with context-safe variables and services
- ntplib - Python NTP library
- Flagsmith - Feature Flag service
- diff_match_patch - String differences
- Python:Daemonize
- yarl - Yet another URL/URI library
- Archived: Unofficial Windows Binaries for Python Extension Packages - Unofficial Windows binaries for Python extension packages
- Provides 32-bit and 64-bit Windows binaries of many scientific open-source extension packages for the official CPython distribution of the Python programming language.
vim debugging
Plain ol' pdb can be integrated into vim with
- pdb - https://docs.python.org/3/library/pdb.html
- vimpdb - https://www.raditha.com/blog/archives/vim-and-python-debug/
- vebugger, etc - https://www.raditha.com/blog/archives/vim-and-python-debug/
(My own favourite) pudb can be integrated with
- pudb - https://pypi.org/project/pudb/
- pudb.vim - https://github.com/SkyLeach/pudb.vim
- vim-pudb - https://github.com/KangOl/vim-pudb
And the popular ipdb can be integrated with
- ipdb - https://pypi.org/project/ipdb/
- vdebug - https://github.com/vim-vdebug/vdebug
- ipdb_breakpoint - https://gist.github.com/berinhard/523420
Top 10 Python Libraries of 2020
- [Recommended] Top 10 Python libraries of 2020
- Typer : Building CLIs
- Rich : Making CLIs beautiful
- Dear PyGui : GPU-accelerated GUI - Used this one instead when pyimgui didn't work well. (Works fine now)
- pyimgui
- PrettyErrors : Makes errors look nice
- Diagrams : Drawing cloud architectures
- Hydra & OmegaConf : Developing large, complex apps
- PyTorch Lightning : Makes PyTorch easier to use
- Hummingbird : Converts traditional ML models to PyTorch etc. to make them faster
- HiPlot : Interactive visualization tool for high-dimensional data
- Scalene : High-performance, high-precision CPU & memory profiler
- Norfair : Real-time 2D object tracking
Other Honorable Mentions
- quart : Asynchronous web framework with a Flask-compatible API
- alibi-detect : Monitoring outliers in tabular data, text, images, time series, etc.
- einops : Readable tensor code. Supports numpy, PyTorch, TensorFlow, etc.
- stanza : Natural language processing
- datasets : Library that helps you easily load and preprocess public datasets
- pytorch-forecasting : Time-series forecasting
- sktime : Time-series processing framework for machine learning
- netron : Neural network/deep learning/machine learning model viewer
- pycaret : Low-Code machine learning library
- tensor-sensor : Visualizes tensor error messages in a readable way
Libraries that stood out in Python in 2025
- Libraries that stood out in Python in 2025 | GeekNews
- [Original] Top Python libraries of 2025 | Tryolabs
Top 10 general-purpose libraries:
- ty - Ultra-fast Python type checker written in Rust
- complexipy - Tool for measuring the cognitive complexity of code
- Kreuzberg - Multilingual document intelligence framework
- throttled-py - Request rate control based on 5 algorithms (Fixed/Sliding Window, Token/Leaky Bucket, GCRA)
- httptap - Detailed timing analysis and visualization of HTTP requests
- fastapi-guard - Integrated security middleware solution for FastAPI
- modshim - Extends existing libraries through module overlays
- Spec Kit - GitHub's Spec-Driven Development tool
- skylos - Dead code detection and security vulnerability analysis tool
- FastOpenAPI - Automatic OpenAPI documentation generation for any web framework
AI/ML/Data Top 10 libraries:
- MCP Python SDK & FastMCP - Model Context Protocol implementation that connects LLMs to external data
- TOON (Token-Oriented Object Notation) - Compact JSON alternative format for LLMs
- Deep Agents - LangChain-based framework for long-running LLM agents
- smolagents - Hugging Face's lightweight code-executing agent framework
- LlamaIndex Workflows - Event-driven AI workflow framework
- Batchata - Unified batch processing API for OpenAI, Anthropic, and Gemini
- MarkItDown - Microsoft's document→Markdown converter
- Data Formulator - Microsoft Research's AI-based data visualization tool
- LangExtract - Google's library for accurate structured extraction from text
- GeoAI - OpenGeos' framework for integrated AI and geospatial analysis
Notable runners-up:
- AuthTuna - Authentication and authorization framework for asynchronous Python
- FastRTC - Turns Python functions into real-time audio/video streams
- hexora - Static analysis tool for detecting malware patterns
- opentemplate - Project template with up-to-date development, security, and CI/CD settings
- Pyrefly - Meta's Rust-based high-performance type checker
Operating system and system-related
- datetime - Standard library for handling dates and times
- Arrow - Library for handling dates and times
- pendulum - Powerful library for handling dates and times
- python-dateutil - Extension of the datetime library
- zoneinfo - IANA time zone support
- glob - Find file lists by pattern matching
- os - Library for interacting with the operating system
- pathlib - Object-oriented file system paths
- shutil - High-level file operations library
- sys - System-specific parameters and functions
- tempfile - Create temporary files and temporary folders
- time - Time access and conversions
Data science and analysis
- Algorithms - Python implementations of algorithms and data structures
- Faker - Fake data generation tool
- Jupyter - Web-based interactive computing environment
- Pyvis - Interactive network graph visualization
- Kiwisolver - Efficient constraint solving algorithm
- NumPy - Library for high-performance numerical computation
- CuPy - CUDA-based Numpy-compatible API
- Dask - Parallel computing library
- JAX - High-performance numerical computation library based on the NumPy API
- Flax - Powerful neural network library for Jax
- NumPyro - JAX-based probabilistic programming language
- Joblib - NumPy memmap in joblib.Parallel
- Ray - Library for high-performance distributed computing
- xarray - Library for easily working with multidimensional arrays
- Pandas - Tool for data manipulation and analysis
- GeoPandas - Geographic data manipulation and visualization
- PandasAI - Library for AI access to Pandas DataFrames
- cuDF - GPU-accelerated DataFrames
- modin - Pandas-based distributed data frames
- polars - Rust-based high-performance data frame library
- PySpark - Python API for Apache Spark
- Shapely - Spatial data manipulation and analysis
- Taichi - High-performance programming language and computer framework
- The Algorithms - Python implementations of algorithms and data structures
- datatable - Large-scale tabular data processing
- python-patterns - Python implementations of design patterns
- vaex - Processing of large datasets based on lazy evaluation
Science and engineering
- Astropy - Astronomical data analysis and visualization library
- Biopython - Python library for bioinformatics
- KLayout - EDA tool for integrated circuit (IC) design
- ObsPy - Seismology data analysis library
- PyKrige - Library for Kriging techniques on geographic data
- PySpice - Electronic circuit simulation library
- RDKit - Cheminformatics and molecular modeling tool
- SimPy - Discrete event simulation framework
- SimpleITK - Medical image processing and analysis tool
- SymPy - Symbolic computation library
- yt - Astrophysics and cosmology simulation
Time-series data processing
- AutoTS - Time-series forecasting
- Darts - Time-series forecasting and analysis
- Kats - Facebook's time-series data analysis
- Prophet - Facebook's time-series data forecasting
- Sktime - Time-series data analysis and forecasting
- lifelines - Survival analysis library
- tsfresh - Time-series forecasting and classification
Text and natural language processing (NLP)
- NLTK - The most widely used natural language processing (NLP)
- AllenNLP - Open-source NLP library
- Bark - Suno's Transformer-based Text-to-Audio model
- DeepSpeed - Deep learning optimization library
- Fairseq - Sequence-to-sequence training toolkit
- Gensim - Natural language processing library
- KiwiPiePy - Intelligent Korean morphological analyzer
- KoBERT - SKT Brain's Korean natural language processing model
- KoNLPy - Korean NLP in Python
- Polyglot - Multilingual natural language processing library
- SpeechRecognition - Speech recognition library
- T5/T5X - Google Research's Text-to-text transformation model
- TTS - Open-source Text-to-Speech library
- TextBlob - Text processing library
- gTTS - Google Text-to-Speech
- re - Regular expression library
- sentencepiece - Text data tokenization
- spaCy - English natural language processing library
Statistics and mathematical computation
- Manimgl - Animation engine for creating math videos
- Manim - Python package for math animations, made by Grant Sanderson of YouTuber 3Blue1Brown.
- SciPy - Library for scientific computing
- SciPy.signal - Signal processing module
- Statsmodels - Statistical modeling and visualization library
- math - Standard math library
- mpmath - High-precision arithmetic library
- pingouin - Lightweight statistical analysis library
- statistics - Mathematical statistics functions
Data visualization
- Apache Superset - Open-source BI tool for data exploration and visualization
- Bokeh - Web visualization of large-scale data
- Cartopy - Geographic data visualization library
- Chartify - Data visualization library developed by Spotify
- Diagrams - Library for generating system architecture diagrams
- Graphviz - Graph and network diagram generation
- pydot - Library for processing Graphviz's DOT language
- HiPlot - Multidimensional data visualization
Jupyter-based data visualization
- HoloViews - Complex visualizations, fast and flexible
- LUX - Data analysis library that automates EDA
- Mito - Jupyter-based spreadsheet and code generation
- PivotTableJS - Jupyter-based DataFrame visualization
- PyGWalker - Jupyter-based visualization library
- Visual Python - Low-code visualization
- drawdata. - Draw Datasets in Jupyter
- nbgrader - Jupyter notebook-based educational tool
- ydata-Profiling - Data profiling library
- Matplotlib - The most common visualization library
- adjustText - Automatically adjusts text labels so they don't overlap
- mpld3 - Web-friendly interactive graphics
- mplfinance - Stock market data visualization library
- tikzplotlib - Converts Matplotlib graphs to TikZ code
- NetworkX - Modeling and visualization of network structures
- PandasGUI - Easily visualize and manipulate DataFrames
- Plotly - Web-based interactive visualization
- Dash - Web framework for scientists
- Pygal - Python SVG graph visualization library
- Seaborn - Statistical data visualization based on Matplotlib
- Vega-Altair - Declarative web visualization
- VisPy - High-performance interactive data visualization library
- Visvis - Object-oriented 3D and 2D visualization library
- flowfunc - flume-based node editor Web app.
- folium - Map visualization library
- h2o-wave - Real-time web apps and interactive dashboards
- nodezator - pygame-based node editor
- turtle - Educational turtle graphics library
Machine learning and artificial intelligence
- Bob - Library for machine learning and signal processing
- CNTK - Deep learning framework developed by Microsoft
- Caffe - Computer vision-focused deep learning framework
- Datasets - Datasets for natural language processing and machine learning projects
- ELI5 - Machine learning model debugging/interpretation library
- FastAI - Rapid prototyping and experimentation in deep learning
- Gymnasium - Developing and comparing reinforcement learning algorithms
- Keras - Open-source neural network library for Python
- LangChain - LLM-based chain framework
- LightGBM - Gradient Boosting framework
- Netron - Visualization of machine learning model formats
- NuPIC - Next-generation machine learning inspired by the brain's neural networks
- ONNX - Format for exchanging models between machine learning frameworks
- PyCaret - Machine learning library
- PyMC - Statistical modeling and probabilistic programming library
- Aesara - Numerical computation library succeeding Theano
- Theano - Numerical computation library
- PyTorch - Deep learning models
- PyTorch Lightning - Modern deep learning framework
- torchvision - Datasets, models, and transform functions for computer vision tasks
- Scikit-learn - Various machine learning algorithms
- TensorFlow - Open-source machine learning library developed by Google
- Whisper - Automatic speech recognition made by OpenAI
- XGBoost - Enhanced gradient boosting algorithm
- diffusers - Deep learning-based generative model tool
- mxnet - Apache's open-source deep learning framework
- timm - PyTorch image models
- transformers - ML library from the Hugging Face team
Networking and web scraping
- BeautifulSoup - Tool for extracting web data
- HTTPX - Modern asynchronous HTTP client
- MechanicalSoup - Automation + web scraping library
- PyQuery - HTML document parsing and manipulation library
- PyZMQ - Python bindings for the ZeroMQ library
- Requests - Concise HTTP library
- Scapy - Interactive packet manipulation program
- Scrapy - Powerful web crawling and scraping framework
- Selenium - Powerful tool for web automation and testing
- SeleniumBase - Selenium-based web testing framework
- asyncio - Asynchronous I/O library
- Asyncer - Utilities for asynchronous programming
- Trio - Library for asynchronous concurrency and I/O
- Twisted - Event-driven networking engine
- aiohttp - Asynchronous HTTP client/server framework
- httpie - Command-line HTTP client
- impacket - Collection for network protocols
- socket - Low-level networking interface
- urllib - URL handling tool
- urllib3 - Powerful HTTP client library
- webbrowser - Tool for controlling the default web browser
Real-time communication
- WebSockets - WebSocket server and client development
- paho-mqtt - Pub/Sub client for the MQTT protocol
- python-socketio - Python Socket.IO server and client
Web application servers
- Gunicorn - Python-based WSGI implementation
- uWSGI - General-purpose web server
- uvicorn - Python-based ASGI server
Web application frontend
- FastUI - Faster, better web application UIs
- JustPy - Object-oriented, high-level Python web framework
- NiceGUI - JustPy-based web framework
Web frameworks
- Bottle - Simple micro web framework
- CubicWeb - Semantic web framework
- Django - Feature-rich, powerful web framework
- Channels - Adds asynchronous processing and real-time communication to Django applications
- Django REST framework (DRF) - Tool based on the Django web framework
- Falcon - High-performance microservice web framework
- FastAPI - Fast, modern API development
- Flask - Lightweight, flexible micro web framework
- Flask-RESTful - Flask-based tool for building RESTful APIs
- PY4WEB - Framework for developing database-driven web Apps.
- Pyramid - Lightweight, flexible web framework
- Quart - Asynchronous web framework
- Reflex - A new horizon for modern web development
- Sanic - High-performance asynchronous web framework
- Starlette - Python asynchronous web framework
- Streamlit - Easy web-building tool for data scientists
- Tornado - Networking library and web framework
- web2py - Open-source web application framework
Utilities and other
- IDNA - Internationalized domain name handling
- Jinja2 - Python web template engine
- MarkupSafe - Safely handles markup languages such as HTML and XML
- OAuthLib, Authlib, PyJWT - Authentication protocol libraries
- Pydantic - Data validation tool for web frameworks
- Werkzeug - WSGI utility library
- gevent - Lightweight coroutine library for asynchronous programming
Static site generators
- Nikola - Static site generator
- Pelican - Static site generator
- mkdocs - Library for Markdown documentation sites
Content management systems (CMS)
- Django CMS - Django-based open-source CMS
- Mezzanine - Django-based open-source CMS
- Wagtail - Django-based open-source CMS
- python-wordpress-xmlrpc - WordPress REST API
- GNUBOARD6 - Korean open-source CMS
Database and file handling
- DuckDB - SQL database for data analysis
- Elasticsearch - Python client for Elasticsearch
- Elasticsearch DSL - High-level Python library for Elasticsearch
ORM (Object-Relational Mapping)
- Peewee - Small, expressive ORM library
- Pony - Python ORM tool
- SQLAlchemy - Python SQL toolkit
- Alembic - Database migration tool for SQLAlchemy
- SQLModel - SQL database manipulation tool
- Pinecone - Vector database management
- Protobuf - Serialization data structure developed by Google
- SQLite3 - Python standard database module
- Datasette - Explore SQLite databases on the web
- Streamz - Real-time data stream processing library
- chardet - Library for detecting the encoding of byte strings
- charset-normalizer - An alternative to chardet
- cx_Oracle - Oracle Database interface
- h5py - Python interface to the HDF5 format
- json - JSON encoder and decoder
- JMESPath - JSON data querying and transformation
- jsonschema - Data validation using JSON Schema
- kafka-python - Client library for Apache Kafka, a distributed streaming platform
- pymssql - Library for accessing Microsoft SQL Server
- python-dotenv - Environment variable management library
- sqlmap - SQL injection testing automation tool
Database drivers
- PyMongo - Python driver for MongoDB
- PyMySQL - MySQL client library
- Redis-py - Redis client library
- psycopg2 - Python adapter for PostgreSQL
Excel data processing
- xlsxwriter - Excel writing library
- xlwings - Library that integrates with MS Excel
Markdown-related
- PDFMiner - Library for extracting text and images from PDF documents
- PyLaTeX - Tool for generating and managing LaTeX documents
- PyMuPDF - Data extraction, analysis, conversion, and manipulation of PDF documents
- PyPDF - PDF editing library
- PyYAML - YAML parser and generator
- ReportLab - Library for generating PDF documents
- csv - Reading and writing CSV files
- csvkit - Suite of command-line tools for processing CSV files
- html.parser - Simple HTML and XHTML parser
- pikepdf - PDF creation/editing/analysis library
- python-docx - MS Word document editing library
- python-pptx - MS PowerPoint file editing
- sphinx - Powerful documentation generation tool
- tomllib - Standard TOML handling tool
- toml - TOML file handling tool
- xml - XML processing module
- lxml - XML and HTML processing library
Game development
- Arcade - Library for developing 2D video games
- Blender Python API - Blender's Python API
- Godot-Python - Plugin that adds Python scripting language support to Godot
- ModernGL - OpenGL-based high-performance graphics
- Panda3D - 3D rendering and game development engine
- PyBullet - Open-source physics simulation library
- PyOpenGL - Standard OpenGL binding library
- Pymunk - 2D physics engine library
- PythonRobotics - Collection of robotics algorithm code
- Ren'Py - Story-driven game development engine
- Ursina - 3D game development engine
- pygame - Cross-platform for game development
- pyglet - Cross-platform development framework
Video processing
- MoviePy - Video editing and processing
- ffmpeg-python - FFmpeg Python bindings
Audio processing
- PyAudio - PortAudio-based audio processing library
- Pydub - Audio file control
- audioread - Audio file processing
- librosa - Music and audio analysis tool
- music21 - Library for music analysis, composition, and education
- playsound - Audio file playback
- scipy.io.wavfile - .wav read/write module
- sounddevice - Audio input and output control
- wave - Reading and writing WAV files
Image processing
- EasyOCR - Optical character recognition (OCR) library
- Face Recognition - Face recognition library
- Mahotas - Computer vision library
- Pillow (PIL Fork) - Imaging library
- PyTesseract - Python Tesseract OCR library
- SciPy.ndimage - Multidimensional image processing module
- SimpleCV - Computer vision processing library
- colour-science - Provides algorithms for color science
- colour-datasets - Datasets used in color science
- colour-demosaicing - Image demosaicing library
- imageio - Imaging library
- opencv-python - Computer vision processing library
- scikit-image - Image processing and analysis library
Development tools
- abc - Abstract base class library
- ctypes - Foreign function library for Python
- logging - Python logging tool
- multiprocessing - Python's built-in parallel programming
- traceback - Prints error messages and stack Traces
- typing - Type hint support library
- typing-extensions - Extensions to the type hint system
- venv - Virtual environment creation
- virtualenv - Tool for creating virtual Python environments
Data types
- collections - Container data types
- dataclasses - Data class library
- enum - Enumeration support
- pickle - Python object serialization library
- types - Dynamic type creation and names for built-in types
- zipfile - ZIP compression and extraction tool
Device management
- PyCUDA - CUDA binding library
- PySerial - Serial communication library
- PyUSB - USB communication control library
- gpiozero - GPIO control tool for Rasberry Pi
- keyboard - Library for detecting and manipulating keyboard input
- psutil - Tool for system and process management tasks
- pynput - Monitors and controls keyboard and mouse input
Command-line (CLI) and terminal tools
- Python-Fire - Turns existing Python code into a CLI
- Rich - Advanced text and layout library
- Textual - Tool for developing modern terminal user interfaces
- The Fuck - Tool that corrects typos made in the terminal
- Typer - CLI creation tool based on Python type hints
- alive-progress - Dynamic progress bar tool
- argparse - Parser for command-line options, arguments, and subcommands
- asciimatics - Terminal text-based UI
- click - Command-line interface (CLI) creation library
- colorama - Library for terminal text colors and styles
- tabulate - Pretty-prints in table format
- tqdm - Progress indicator tool
- Espanso - Cross-platform text expander software (made with rust, but extensible with python)
Code quality tools
- Bandit - Tool for finding security vulnerabilities
- Black - The uncompromising code formatter
- Flake8 - Python Linting tool
- PyTest - Testing framework
- Ruff - Rust-based Python Linter and code formatter
- YAPF - Python Code Formatter developed by Google
- isort - Automatically sorts import statements in Python code
- mypy - Optional static type checking tool
- nox - Automated test and task running tool
- pylint - Static code analysis tool
- tox - Automated testing tool
- unittest - Unit testing framework
Functional programming modules
- functools - Library for higher-order functions
- wrapt - Module for decorators, wrappers, and monkey patching
- itertools - Iteration operations on iterable data
- more-itertools - Library that complements itertools
DevOps
- Docker - Docker remote API
- Kubernetes - Python client for the Kubernetes API
Third-party APIs
- GitPython - Library for working with Git repositories
- PRAW - Python Reddit API Wrapper
- Tweepy - Python Twitter API
- facebook-sdk - Facebook Graph API
- google-api-python-client - Google services API library
- python-slack-sdk - Slack developer Kit
- telepot - Telegram bot API
- python-telegram-bot - Telegram Bot API development tool
- twython - Twitter API library
Cloud services and APIs
- AWS CLI - Manage AWS services from the command line
- Azure SDK for Python - Collection of client libraries for Microsoft Azure services
- Google Cloud Python - Collection of various GCP client libraries
- apache-libcloud - Unified interface for cloud services
- boto3 - Amazon Web Service (AWS) API library
- aiobotocore - Asynchronous version of the boto3 library
- botocore - Low-level core library for interacting with AWS services
- splunk-sdk - Python API for Splunk Cloud
Automation tools
- Home Assistant Core - Open-source home automation platform library
- Ansible - IT automation tool
- Apache-airflow - Automation of complex data pipelines
- Fabric - Command-line tool and library
- Paramiko - SSHv2 library
- Netmiko - Simplifies Paramiko SSH connections
- PyAutoGUI - Library for automatic GUI control
- PyWinAuto - Windows GUI automation tool
- Robot Framework - Automated testing framework
- Schedule - Job scheduling library
- celery - Distributed task queue system
- grpcio - General-purpose RPC framework
- invoke - Automates task execution and file manipulation
- luigi - Workflow automation tool developed by Spotify
- pyinfra - Server infrastructure automation tool
Utilities and tools
- APScheduler - Advanced scheduling library
- Certifi, pyOpenSSL - Python SSL/TLS certificate management
- Cookiecutter - Template-based project generation tool
- FileLock - File-based lock implementation
- FontTools - Font file manipulation library
- IPython - Interactive shell for the Python language
- IceCream - Stop debugging with print().
- Magika - AI-based file type detection tool
- PrettyErrors - Makes standard error messages easier to read
- Pygments - Syntax Highlighting library
- Pyperclip - Python clipboard library
- Reloadium - Code reloading tool
- Spyder - IDE for scientific computing and data science
- Tenacity - Retry mechanism implementation
- attrs - Tool for simplifying Python class definitions
- behave - Implementation of the behavior-driven development (BDD) methodology
- boltons - Complements and extends Python's built-in features
- configparser - Library for managing INI-format configuration
- pycparser - ANSI C code parsing tool
- pyscreenshot - Screenshot capture library
- pyspread - Python spreadsheet
- pywin32 (a.k.a. win32com) - Windows native API control library
Finance
- CCXT - Unified API for cryptocurrency exchanges
- FinanceDataReader - Library for easily fetching Korean/US financial data
- OpenDartReader - API tool for the Financial Supervisory Service's electronic disclosure system (Open Dart) service
- Quandl - Platform providing time-series datasets on economics, finance, sociology, and more
- QuantLib - Quantitative (quant) finance library
- TA-Lib - Technical analysis tool for financial market data
- pandas-datareader - Financial and economic data collection tool
- yfinance - Tool for accessing financial data provided by Yahoo Finance
- zipline - Algorithmic trading library
Blockchain
- Brownie - Framework for Ethereum-based projects
- PyTeal - Writing Algorand Smart Contracts (ASC1)
- Web3.py - Library for interacting with the Ethereum blockchain
Cryptography and security
- Cryptography - Cryptographic functions and secure communication
- PyCrypto - Once widely used cryptography library
- PyCryptodome - Self-contained cryptography library
- PyNaCl - Networking and cryptography library
- hashlib - Secure hashes and message digests
- itsdangerous - Securely signs and passes data
- pwntools - Collection of security tools
Autonomous driving research
- Bark simulator - Development, simulation, and benchmarking of autonomous driving behavior
- CARLA - Open-source simulator for autonomous driving research
Python implementations and optimization tools
- CPython - Implementation of Python
- Cython - Compiles Python code to the C language
- MicroPython - Python implementation for microcontrollers
- Mojo - Alternative Python implementation
- Numba - Open-source JIT compiler for speeding up functions
- PyPy - Alternative implementation of the Python language
- Scalene - Python CPU+GPU+memory profiler
Other libraries
- Art - ASCII art library
- ascii_magic - Converts images or videos to ASCII art
- pix2tex - LaTeX OCR tool
- python-barcode - Barcode generation tool
- six - Resolves compatibility issues between Python 2 and 3
- word_cloud - Word cloud generation library
Important organizations and sites in the Python ecosystem
- Awesome Python - Collection of Python libraries, frameworks, software, and resources
- Hugging Face - The most innovative company in the AI field
- NumFOCUS - Nonprofit organization founded to advance open-source software in data science
- Terminal Text Effects - Terminal text effects library
See also
Favorite site
References
Pages that link here