Which Python library should you use?
Tell the desk what you are building. Answers come from the 527 projects in 74 categories of the Awesome Python list, ranked by live GitHub stars.
I want toin Python.
Or start from the most-starred project in each area
Every category
74 categories in 14 areas, the list's own structure
AI & ML 77 projects
- AI and AgentsAgent frameworks, LLM serving, MCP SDKs and fine-tuning libraries like LangChain, vLLM and PEFT39
- Deep LearningNeural network frameworks and reinforcement learning, from PyTorch and JAX to Keras and Gymnasium7
- Machine LearningClassical ML, gradient boosting, forecasting and tuning with scikit-learn, XGBoost, LightGBM and Optuna13
- Natural Language ProcessingTokenizing, tagging, parsing and topic modeling with spaCy, NLTK, Stanza, Gensim and Chinese text tools8
- Computer VisionImage analysis, object detection and OCR with OpenCV, Ultralytics YOLO, Kornia and PaddleOCR7
- Recommender SystemsCollaborative filtering and nearest-neighbor search for recommendations, with Annoy, implicit and Surprise3
Web Development 50 projects
- Web FrameworksFull-stack web frameworks, sync and async: Django, Flask, Starlette, Litestar and Reflex9
- Web APIsREST, GraphQL and RPC frameworks: FastAPI, Django REST framework, Django Ninja, Strawberry and gRPC11
- Web ServersWSGI and ASGI servers for production: Uvicorn, Granian, Hypercorn, Gunicorn and Waitress5
- WebSocketReal-time connections with websockets, Django Channels, Flask-SocketIO and Autobahn4
- Template EnginesText and HTML templating with Jinja and Mako2
- Web Asset ManagementServe, store and compress static files with WhiteNoise, django-storages and django-compressor3
- AuthenticationOAuth, OpenID Connect, JWT and permissions with Authlib, django-allauth, PyJWT and django-guardian7
- Admin PanelsAdmin interfaces for Django, Flask and SQLAlchemy, including Unfold, Grappelli, Flask-Admin and SQLAdmin4
- CMSDjango-based content management systems: Wagtail and django CMS2
- ERPOdoo, an open-source suite of business apps covering CRM, accounting, inventory and e-commerce1
- Static Site GeneratorsBuild static sites and blogs from Markdown or reStructuredText with Pelican and Nikola2
HTTP & Scraping 17 projects
Database & Storage 47 projects
- ORMObject-relational and object-document mappers: SQLAlchemy, the Django ORM, SQLModel, Peewee and Beanie8
- Database DriversDrivers for PostgreSQL, MySQL, SQLite, ClickHouse, SQL Server, Oracle, Redis and MongoDB16
- DatabaseIn-process databases you embed in Python: DuckDB and chDB for analytics, LanceDB and Chroma for vectors6
- CachingIn-memory, disk and Redis caches, plus HTTP and Django ORM caching with cachetools, diskcache and Hishel6
- SearchFull-text and vector search clients: Elasticsearch, OpenSearch, Meilisearch, django-haystack and Faiss5
- SerializationFast JSON, MessagePack and pickling with orjson, msgspec, marshmallow, cloudpickle and dill6
Data & Science 49 projects
- Data AnalysisDataFrame libraries for analysis: pandas, Polars and Ibis3
- Data Ingestion / ETLData pipelines and loaders with dlt and AWS SDK for pandas, plus market data via yfinance and OpenBB6
- Data ValidationValidate records and DataFrames with Pydantic, jsonschema, Pandera and Great Expectations4
- Data VisualizationCharts, plots and data apps with Matplotlib, Plotly, Seaborn, Altair, Streamlit and Dash11
- GeolocationGeocoding and geographic data with GeoPandas, geopy, geojson and GeoDjango4
- ScienceScientific computing with NumPy, SciPy, SymPy, statsmodels and Numba, plus domain tools like Astropy17
- Quantum ComputingBuild and simulate quantum circuits with Qiskit, Cirq, PennyLane and QuTiP4
Developer Tools 66 projects
- Algorithms and Design PatternsData structures, algorithm collections, design patterns and state machines, including sortedcontainers5
- Interactive InterpreterBetter REPLs and notebooks: IPython, Jupyter Notebook, marimo and ptpython4
- Code AnalysisLinters, formatters and type checkers: Ruff, Black, Pylint, mypy, Pyright and ty17
- TestingTest frameworks, mocks, fake data and browser automation: pytest, Hypothesis, Playwright and Faker20
- Debugging ToolsDebuggers, tracers and profilers: ipdb, PuDB, py-spy, Scalene, memray and django-debug-toolbar11
- Build ToolsTask runners and build systems: Invoke, Poe the Poet, doit and SCons4
- DocumentationDocumentation generators: Sphinx, Material for MkDocs, pdoc and Zensical, plus diagrams as code5
DevOps 43 projects
- DevOps ToolsCloud SDKs, configuration management and process tools: boto3, Ansible, Salt, Fabric and psutil16
- Distributed ComputingScale Python across cores and clusters with PySpark, Dask, Ray, joblib and mpi4py5
- Task QueuesBackground job queues: Celery, RQ, Dramatiq, Huey and the asyncio-native Taskiq5
- MessagingClients for Kafka, RabbitMQ and MQTT, plus FastStream for async event-driven services4
- Job SchedulersRun jobs on a schedule or orchestrate workflows with APScheduler, Airflow, Dagster, Prefect and Temporal6
- LoggingLogging for Python apps: the logging module, structlog, Loguru and Logfire4
- Network VirtualizationPacket crafting and network device automation with Scapy, Netmiko and NAPALM3
CLI & GUI 34 projects
- CLI DevelopmentBuild command-line apps and TUIs with Click, Typer, Rich, Textual and prompt_toolkit12
- CLI ToolsCommand-line tools written in Python: pgcli, HTTPie, yt-dlp, Cookiecutter, Copier and xonsh10
- GUI DevelopmentDesktop GUI toolkits: PySide6, PyQt6, tkinter, Kivy, wxPython, plus web-based NiceGUI and Flet12
Text & Documents 45 projects
- Text ProcessingEncoding detection, fuzzy matching, parsing and slugs with charset-normalizer, RapidFuzz and pyparsing15
- HTML ManipulationParse, query and sanitize HTML and XML with lxml, Beautiful Soup, xmltodict and MarkupSafe5
- File Format ProcessingRead and write Excel, Word, PDF, Markdown and YAML, or convert documents with MarkItDown and Docling19
- File ManipulationPaths, file watching and type detection with pathlib, watchfiles, watchdog, python-magic and Magika6
Media 22 projects
- Image ProcessingEdit, resize and analyze images with Pillow, scikit-image, pyvips and Wand, plus QR codes8
- Audio & Video ProcessingAudio analysis, video editing and media tags with librosa, pydub, PyAV, MoviePy and mutagen8
- Game Development2D and 3D game libraries: pygame-ce, pygame, Arcade, pyglet, Panda3D and Ren'Py6
Python Language 27 projects
- ImplementationsOther ways to run Python: CPython, PyPy, MicroPython, Pyodide in the browser, and Cython5
- Built-in Classes EnhancementBetter classes and containers with attrs, bidict, python-box and uuid-utils4
- Functional ProgrammingFunctional tools beyond functools: more-itertools, toolz, funcy and returns5
- Asynchronous ProgrammingAsync I/O and parallelism: asyncio, uvloop, Trio, AnyIO, gevent, Twisted and multiprocessing8
- Date and TimeTime zones, parsing and safer datetimes with zoneinfo, dateutil, dateparser, Pendulum and whenever5
Python Toolchain 26 projects
- Environment ManagementManage Python versions and virtual environments with uv, pyenv, virtualenv and mise4
- Package ManagementInstall and manage dependencies with pip, uv, Poetry, Hatch, pipx and conda, plus build backends9
- Package RepositoriesRun a private PyPI server, cache or mirror with pypiserver, devpi and bandersnatch3
- DistributionShip Python apps as standalone executables with PyInstaller, Nuitka, cx_Freeze and PEX5
- Configuration FilesSettings from INI, .env, YAML and environment variables with pydantic-settings, Hydra and Dynaconf5
Security 14 projects
- CryptographyEncryption, signing and SSH with cryptography, PyNaCl, Paramiko and itsdangerous4
- Penetration TestingSecurity testing tools: mitmproxy, sqlmap, Impacket, pwntools and Sherlock5
- Supply Chain SecurityAudit dependencies for known vulnerabilities and scan for leaked secrets with pip-audit and Betterleaks3
- Web SecuritySanitize untrusted HTML with nh3 and set HTTP security headers with secure2
Other 10 projects
- HardwareTalk to hardware from Python: serial ports, input devices and Bluetooth LE with pyserial, pynput and Bleak4
- Microsoft WindowsPython on Windows: pywin32, Python.NET, pyenv-win and the portable WinPython distribution4
- MiscellaneousUtilities that fit nowhere else: Blinker signals and the boltons toolbox2
