awesome-python
A curated list of awesome Python frameworks, libraries, software and resources
https://github.com/tu-cao/awesome-python
Last synced: 5 days ago
JSON representation
-
ORM
- Orator - The Orator ORM provides a simple yet beautiful ActiveRecord implementation.
- Peewee - A small, expressive ORM.
- django-mongodb-engine - Django MongoDB Backend.
- flywheel - Object mapper for Amazon DynamoDB.
- hot-redis - Rich Python data types for Redis.
- MongoEngine - A Python Object-Document-Mapper for working with MongoDB.
- PynamoDB - A Pythonic interface for [Amazon DynamoDB](https://aws.amazon.com/dynamodb/).
- redisco - A Python Library for Simple Models and Containers Persisted in Redis.
- butterdb - A Python ORM for Google Drive Spreadsheets.
- pyDAL - A pure Python Database Abstraction Layer.
- PonyORM - ORM that provides a generator-oriented interface to SQL.
-
Package Management
- pip - The Python package and dependency manager.
- Curdling - Curdling is a command line tool for managing Python packages.
- conda - Cross-platform, Python-agnostic binary package manager.
- Curdling - Curdling is a command line tool for managing Python packages.
- pip-tools - A set of tools to keep your pinned Python dependencies fresh.
-
Package Repositories
-
Permissions
- django-guardian - Implementation of per object permissions for Django 1.2+
- django-rules - A tiny but powerful app providing object-level permissions to Django, without requiring a database.
- Carteblanche - Module to align code with thoughts of users and designers. Also magically handles navigation and permissions.
-
Podcasts
-
Processes
- sh - A full-fledged subprocess replacement for Python.
- delegator.py - [Subprocesses](https://docs.python.org/3.6/library/subprocess.html) for Humans™ 2.0.
-
Queue
-
Recommender Systems
- annoy - Approximate Nearest Neighbors in C++/Python optimized for memory usage.
- fastFM - A library for Factorization Machines.
- implicit - A fast Python implementation of collaborative filtering for implicit datasets.
- LightFM - A Python implementation of a number of popular recommendation algorithms.
- TensorRec - A Recommendation Engine Framework in TensorFlow.
- surprise - A scikit for building and analyzing recommender systems.
- libffm - A library for Field-aware Factorization Machine (FFM).
-
RESTful API
- django-tastypie - Creating delicious APIs for Django apps.
- flask-api - Browsable Web APIs for Flask.
- falcon - A high-performance framework for building cloud APIs and web app backends.
- django-tastypie - Creating delicious APIs for Django apps.
- eve - REST API framework powered by Flask, MongoDB and good intentions.
- flask-api-utils - Taking care of API representation and authentication for Flask.
- flask-restful - Quickly building REST APIs for Flask.
- flask-restless - Generating RESTful APIs for database models defined with SQLAlchemy.
- cornice - A RESTful framework for Pyramid.
- hug - A Python3 framework for cleanly exposing APIs over HTTP and the Command Line with automatic documentation and validation.
- restless - Framework agnostic REST framework based on lessons learned from Tastypie.
- ripozo - Quickly creating REST/HATEOAS/Hypermedia APIs.
- sandman - Automated REST APIs for existing database-driven systems.
- apistar - A smart Web API framework, designed for Python 3.
-
RPC Servers
- SimpleXMLRPCServer - (Python standard library) Simple XML-RPC server implementation, single-threaded.
- zeroRPC - zerorpc is a flexible RPC implementation based on [ZeroMQ](http://zeromq.org/) and [MessagePack](http://msgpack.org/).
- SimpleJSONRPCServer - This library is an implementation of the JSON-RPC specification.
-
Science
- PyDy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion.
- RDKit - Cheminformatics and Machine Learning Software.
- SimPy - A process-based discrete-event simulation framework.
- bcbio-nextgen - Providing best-practice pipelines for fully automated high throughput sequencing analysis.
- bccb - Collection of useful code related to biological analysis.
- SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
- statsmodels - Statistical modeling and econometrics in Python.
- SymPy - A Python library for symbolic mathematics.
- Zipline - A Pythonic algorithmic trading library.
- NumPy - A fundamental package for scientific computing with Python.
- Open Babel - A chemical toolbox designed to speak the many languages of chemical data.
- ObsPy - A Python toolbox for seismology.
- astropy - A community Python library for Astronomy.
- PyMC - Markov Chain Monte Carlo sampling toolkit.
- NIPY - A collection of neuroimaging toolkits.
-
Search
- elasticsearch-py - The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch).
- django-haystack - Modular search for Django.
- elasticsearch-dsl-py - The official high-level Python client for Elasticsearch.
- esengine - ElasticSearch ODM (Object Document Mapper) for Python.
- pysolr - A lightweight Python wrapper for Apache Solr (incl. SolrCloud awareness).
- Whoosh - A fast, pure Python search engine library.
- elasticsearch-py - The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch).
- solrpy - A Python client for [solr](http://lucene.apache.org/solr/).
-
Serialization
- marshmallow - marshmallow is an ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from native Python datatypes.
-
Serverless Frameworks
- apex - Build, deploy, and manage [AWS Lambda](https://aws.amazon.com/lambda/) functions with ease.
- python-lambda - A toolkit for developing and deploying Python code in AWS Lambda.
- Zappa - A tool for deploying WSGI applications on AWS Lambda and API Gateway.
-
Specific Formats Processing
- openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
- ReportLab - Allowing Rapid creation of rich PDF documents.
- tablib - A module for Tabular Datasets in XLS, CSV, JSON, YAML.
- Marmir - Takes Python data structures and turns them into spreadsheets.
- pyexcel - Providing one API for reading, manipulating and writing csv, ods, xls, xlsx and xlsm files.
- python-docx - Reads, queries and modifies Microsoft Word 2007/2008 docx files.
- xlwt - excel/xlrd) - Writing and reading data and formatting information from Excel files.
- PDFMiner - A tool for extracting information from PDF documents.
- PyPDF2 - A library capable of splitting, merging and transforming PDF pages.
- Mistune - Fastest and full featured pure Python parsers of Markdown.
- Python-Markdown - A Python implementation of John Gruber’s Markdown.
- csvkit - Utilities for converting to and working with CSV.
- unp - A command line tool that can unpack archives easily.
- unoconv - Convert between any document format supported by LibreOffice/OpenOffice.
- xlwings - A BSD-licensed library that makes it easy to call Python from Excel and vice versa.
-
Static Site Generator
- Hyde - Jinja2-based static web site generator.
- Lektor - An easy to use static CMS and blog engine.
- Nikola - A static website and blog generator.
- Tinkerer - Tinkerer is a blogging engine/.static website generator powered by Sphinx.
- Cactus - Static site generator for designers.
- Hyde - Jinja2-based static web site generator.
-
Tagging
- django-taggit - Simple tagging for Django.
-
Template Engine
-
Testing
- pytest - A mature full-featured Python testing tool.
- unittest - (Python standard library) Unit testing framework.
- mock - (Python standard library) A mocking and patching library.
- nose - A nicer unittest for Python.
- nose2 - The successor to nose, based on unittest2.
- Robot Framework - A generic test automation framework.
- green - A clean, colorful test runner.
- locust - Scalable user load testing tool written in Python.
- PyAutoGUI - PyAutoGUI is a cross-platform GUI automation Python module for human beings.
- sixpack - A language-agnostic A/B Testing framework.
- splinter - Open source tool for testing web applications.
- freezegun - Travel through time by mocking the datetime module.
- httmock - A mocking library for requests for Python 2.6+ and 3.2+.
- httpretty - HTTP request mock tool for Python.
- responses - A utility library for mocking out the requests Python library.
- VCR.py - Record and replay HTTP interactions on your tests.
- factory_boy - A test fixtures replacement for Python.
- mixer - Another fixtures replacement. Supported Django, Flask, SQLAlchemy, Peewee and etc.
- mimesis - is a Python library that help you generate fake data.
- fake2db - Fake database generator.
- faker - A Python package that generates fake data.
- FuckIt.py - FuckIt.py uses state-of-the-art technology to make sure your Python code runs whether it has any right to or not.
- hypothesis - Hypothesis is an advanced Quickcheck style property based testing library.
- model_mommy - Creating random fixtures for testing in Django.
-
Text Processing
- difflib - (Python standard library) Helpers for computing deltas.
- PLY - Implementation of lex and yacc parsing tools for Python
- pyparsing - A general purpose framework for generating parsers.
- chardet - Python 2/3 compatible character encoding detector.
- ftfy - Makes Unicode text less broken and more consistent automagically.
- fuzzywuzzy - Fuzzy String Matching.
- pangu.py - Spacing texts for CJK and alphanumerics.
- pyfiglet - An implementation of figlet written in Python.
- pypinyin - Convert Chinese hanzi to pinyin.
- shortuuid - A generator library for concise, unambiguous and URL-safe UUIDs.
- uniout - Print readable chars instead of the escaped string.
- xpinyin - A library to translate Chinese hanzi (漢字) to pinyin (拼音).
- awesome-slugify - A Python slugify library that can preserve unicode.
- python-slugify - A Python slugify library that translates unicode to ASCII.
- unicode-slugify - A slugifier that generates unicode slugs with Django as a dependency.
- phonenumbers - Parsing, formatting, storing and validating international phone numbers.
- PLY - Implementation of lex and yacc parsing tools for Python
- python-nameparser - Parsing human names into their individual components.
- python-user-agents - Browser user agent parser.
- sqlparse - A non-validating SQL parser.
- Levenshtein - Fast computation of Levenshtein distance and string similarity.
-
Third-party APIs
- apache-libcloud - One Python library for all clouds.
- List of Python API Wrappers and Libraries
- boto3 - Python interface to Amazon Web Services.
- django-wordpress - WordPress models and views for Django.
- facebook-sdk - Facebook Platform Python SDK.
- facepy - Facepy makes it really easy to interact with Facebook's Graph API
- gmail - A Pythonic interface for Gmail.
- gspread - Google Spreadsheets Python API.
- twython - A Python wrapper for the Twitter API.
- google-api-python-client - Google APIs Client Library for Python.
-
Twitter
-
URL Manipulation
- furl - A small Python library that makes parsing and manipulating URLs easy.
- purl - A simple, immutable URL class with a clean API for interrogation and manipulation.
- pyshorteners - A pure Python URL shortening lib.
- short_url - Python implementation for generating Tiny URL and bit.ly-like URLs.
- webargs - A friendly library for parsing HTTP request arguments, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, and Pyramid.
-
Video
- scikit-video - Video processing routines for SciPy.
-
Web Content Extracting
- Haul - An Extensible Image Crawler.
- html2text - Convert HTML to Markdown-formatted text.
- lassie - Web Content Retrieval for Humans.
- micawber - A small library for extracting rich content from URLs.
- newspaper - News extraction, article extraction and content curation in Python.
- opengraph - A Python module to parse the Open Graph Protocol
- python-goose - HTML Content/Article Extractor.
- python-readability - Fast Python port of arc90's readability tool.
- sanitize - Bringing sanity to world of messed-up data.
- sumy - A module for automatic summarization of text documents and HTML pages.
- textract - Extract text from any document, Word, PowerPoint, PDFs, etc.
-
Web Crawling
- cola - A distributed crawling framework.
- Demiurge - PyQuery-based scraping micro-framework.
- MechanicalSoup - A Python library for automating interaction with websites.
- portia - Visual scraping for Scrapy.
- pyspider - A powerful spider system.
- RoboBrowser - A simple, Pythonic library for browsing the web without a standalone web browser.
- Grab - Site scraping framework.
-
Web Frameworks
- Django - The most popular web framework in Python.
- Pyramid - A small, fast, down-to-earth, open source Python web framework.
- awesome-pyramid
- GitHub Web2py
- CherryPy - A minimalist Python web framework, HTTP/1.1-compliant and WSGI thread-pooled.
- awesome-flask
- Sanic - Web server that's written to go fast.
Programming Languages
Categories
Testing
24
Command-line Tools
23
Text Processing
21
Database Drivers
19
Science
15
Specific Formats Processing
15
Debugging Tools
14
Websites
14
RESTful API
14
ORM
14
Implementations
13
GUI
13
Audio
13
WSGI Servers
12
Weekly
12
Imagery
12
Authentication
12
Hardware
11
Editor Plugins and IDEs
11
Web Content Extracting
11
CMS
10
Twitter
10
DevOps Tools
10
Third-party APIs
10
Date and Time
9
Natural Language Processing
9
Web Frameworks
9
Email
9
E-commerce
8
Asset Management
8
Game Development
8
Search
8
HTML Manipulation
8
Deep Learning
8
Data Visualization
8
Job Scheduler
7
Web Crawling
7
Data Validation
7
Recommender Systems
7
Concurrency and Parallelism
7
Code Analysis and Linter
7
Static Site Generator
6
Caching
6
Build Tools
6
Microsoft Windows
6
Files
6
Network Virtualization
6
Geolocation
6
Miscellaneous
6
Package Management
5
Admin Panels
5
Continuous Integration
5
Machine Learning
5
URL Manipulation
5
Environment Management
5
Computer Vision
5
Networking
5
Cryptography
5
Package Repositories
4
Data Analysis
4
HTTP
4
Functional Programming
4
Forms
4
Logging
4
Database
4
WebSocket
4
Distribution
3
Configuration
3
Code Quality
3
Serverless Frameworks
3
Foreign Function Interface
3
Permissions
3
Documentation
3
MapReduce
3
RPC Servers
3
Algorithms and Design Patterns
3
Queue
3
News Feed
2
Processes
2
Interactive Interpreter
2
Internationalization
2
Template Engine
2
Anti-spam
2
Downloader
2
Tagging
1
Serialization
1
Compatibility
1
Video
1
Podcasts
1
Sub Categories
Keywords
python
157
django
13
testing
11
http
10
python3
9
machine-learning
9
awesome-list
7
python-3
6
debugging
6
flask
6
cli
6
aws
6
database
5
library
5
awesome
5
recommender-system
4
pypi
4
terminal
4
asyncio
4
web
4
linux
4
sqlalchemy
4
cloud
4
cloud-management
4
javascript
4
data-science
3
redis
3
python2
3
audio
3
testing-tools
3
automation
3
package
3
matrix-factorization
3
api
3
visualization
3
mock
3
schema
3
serialization
3
json
3
markdown
3
rest
3
developer-tools
3
pallets
3
email
3
deep-learning
3
orm
3
shell
3
serverless
2
pyramid
2
twisted
2