fucking-awesome-python
A curated list of awesome Python frameworks, libraries, software and resources. With repository stars⭐ and forks🍴
https://github.com/correia-jpv/fucking-awesome-python
Last synced: 13 days ago
JSON representation
-
Database Drivers
- cassandra-driver - The Python Driver for Apache Cassandra.
-
Data Validation
- 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
- 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.
- altair - Declarative statistical visualization library for Python.
- bqplot - Interactive Plotting Library for the Jupyter Notebook.
- gradio - Build and share machine learning apps, all in Python.
-
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.
- dateutil - Extensions to the standard Python 🌎 [datetime](docs.python.org/3/library/datetime.html) module.
- pendulum - Python datetimes made easy.
- dateparser - A Python parser for human-readable dates in dozens of languages.
- pendulum - Python datetimes made easy.
-
Debugging Tools
- ipdb - IPython-enabled 🌎 [pdb](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
- 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.
- 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.
- pre-commit - A framework for managing and maintaining multi-language pre-commit hooks.
-
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](spark.apache.org/) Python API.
- faust - A stream processing library, porting the ideas from 🌎 [Kafka Streams](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
- 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
- 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.
-
Editor Plugins and IDEs
- 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 <b><code> 6067⭐</code></b> <b><code> 522🍴</code></b> [Jedi](https://github.com/davidhalter/jedi))-based completion engine for Python.
-
Email
-
Environment Management
- pyenv - Simple Python version management.
- virtualenv - A tool to create isolated Python environments.
- pyenv-win - Pyenv for Windows, Simple Python version management.
- KillPy - Analyze, detect, and clean unused Python environments and pipx packages.
-
File Format Processing
- 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.
- 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.
-
File Manipulation
- python-magic - A Python interface to the libmagic file type identification library.
- watchdog - API and shell utilities to monitor file system events.
- watchfiles - Simple, modern and fast file watching and code reload in python.
- path.py - A module wrapper for 🌎 [os.path](docs.python.org/3/library/os.path.html).
- markitdown - Python tool for converting files and office documents to Markdown.
-
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`.
-
Game Development
- Harfang3D - Python framework for 3D, VR and 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.
- 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
- 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
- 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.
- 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.
- pywebview - A lightweight cross-platform native wrapper around a webview component.
- DearPyGui - A Simple GPU accelerated Python GUI framework
- Toga - A Python native, OS native GUI toolkit.
- dearpygui - A Simple GPU accelerated Python GUI framework
- 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](www.qt.io/), this is same as PyQt but it's the official binding with different licensing.
- 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.
-
Hardware
- 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
- 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.
- JustHTML - A pure Python HTML5 parser that just works. No C extensions to compile. No system dependencies to install. No complex API to learn.
- lxml - A very fast, easy-to-use and versatile library for handling HTML and XML.
- 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
- 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
- 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.
Programming Languages
Categories
Testing
31
Science
29
Text Processing
25
Machine Learning
25
Code Analysis
25
GUI Development
20
Database Drivers
20
Specific Formats Processing
19
AI and Agents
19
Data Visualization
18
Web Frameworks
18
Projects
17
Command-line Tools
15
ORM
15
Natural Language Processing
15
Audio
15
DevOps Tools
14
Data Analysis
14
Command-line Interface Development
13
Debugging Tools
13
Image Processing
12
RESTful API
11
Implementations
10
Game Development
10
Deep Learning
10
Admin Panels
10
Algorithms and Design Patterns
9
Web Content Extracting
9
HTML Manipulation
9
Recommender Systems
8
Distributed Computing
8
Authentication
8
Package Management
8
Data Validation
8
Serialization
7
Asynchronous Programming
7
Miscellaneous
7
Distribution
7
Caching
7
Third-party APIs
7
Email
6
Web Crawling
6
Editor Plugins and IDEs
6
Job Scheduler
6
Web Asset Management
6
HTTP Clients
6
Build Tools
6
Web APIs
6
Functional Programming
6
Interactive Interpreter
6
WebSocket
6
Search
5
Task Queues
5
Date and Time
5
Static Site Generator
5
Downloader
5
Computer Vision
5
Configuration Files
5
File Format Processing
5
File Manipulation
5
Microsoft Windows
5
Hardware
5
Penetration Testing
5
Logging
5
Database
5
Environment Management
4
Quantum Computing
4
URL Manipulation
4
Package Repositories
4
Built-in Classes Enhancement
4
Web Servers
4
CMS
4
Documentation
4
ASGI Servers
4
Job Schedulers
4
Geolocation
4
Cryptography
3
Network Virtualization
3
WSGI Servers
3
Robotics
2
Internationalization
2
Serverless Frameworks
2
GraphQL
2
Video
2
News Feed
2
RPC Servers
2
Processes
2
Permissions
2
CLI Tools
1
Audio & Video Processing
1
Newsletters
1
Refactoring
1
CLI Development
1
Template Engine
1
Messaging
1
Template Engines
1
Shell
1
Tagging
1
Web Security
1
Web Scraping
1
Sub Categories
Keywords
python
421
python3
40
machine-learning
39
data-science
29
django
26
asyncio
22
testing
22
http
21
cli
21
deep-learning
20
database
18
framework
17
ai
16
flask
15
llm
15
json
14
web
14
pytorch
13
awesome
13
sql
12
linter
12
pandas
12
awesome-list
12
api
12
pydantic
11
python-library
11
async
11
automation
11
agents
10
pypi
10
redis
10
nlp
10
python-3
9
developer-tools
9
rest
9
data-analysis
9
terminal
9
ai-agents
9
orm
9
natural-language-processing
9
markdown
9
cross-platform
8
pdf
8
asgi
8
linux
8
rust
8
rag
8
wsgi
8
http-server
8
fastapi
8