awesome-python
A curated list of awesome Python frameworks, libraries, software and resources
https://github.com/eric-erki/awesome-python
Last synced: 13 days ago
JSON representation
-
Miscellaneous
- Pychievements - A framework for creating and tracking achievements.
- blinker - A fast Python in-process signal/event dispatching system.
-
Natural Language Processing
- spaCy - A library for industrial-strength natural language processing in Python and Cython.
- gensim - Topic Modelling for Humans.
- Jieba - Chinese text segmentation.
- langid.py - Stand-alone language identification system.
- polyglot - Natural language pipeline supporting hundreds of languages.
- SnowNLP - A library for processing Chinese text.
- TextBlob - Providing a consistent API for diving into common NLP tasks.
- PyTorch-NLP - A toolkit enabling rapid deep learning NLP prototyping for research.
- NLTK - A leading platform for building Python programs to work with human language data.
- Pattern - A web mining module for the Python.
-
Networking
- asyncio - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
- awesome-asyncio
- diesel - Greenlet-based event I/O Framework for Python.
- pulsar - Event-driven concurrent framework for Python.
- txZMQ - Twisted based wrapper for the ZeroMQ message library.
- NAPALM - Cross-vendor API to manipulate network devices.
-
Network Virtualization
- Mininet - A popular network emulator and API written in Python.
- Pyretic - A member of the Frenetic family of SDN programming languages that provides powerful abstractions over network switches or emulators.
- Mininet - A popular network emulator and API written in Python.
- POX - An open source development platform for Python-based Software Defined Networking (SDN) control applications, such as OpenFlow SDN controllers.
- Pyretic - A member of the Frenetic family of SDN programming languages that provides powerful abstractions over network switches or emulators.
- SDX Platform - SDN based IXP implementation that leverages Mininet, POX and Pyretic.
-
News Feed
- django-activity-stream - Generating generic activity streams from the actions on your site.
- Stream-Framework - Building newsfeed and notification systems using Cassandra and Redis.
-
ORM
- Django Models - A part of Django.
- awesome-sqlalchemy
- MongoEngine - A Python Object-Document-Mapper for working with MongoDB.
- Peewee - A small, expressive ORM.
- python-sql - Write SQL queries pythonically.
- 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.
- Orator - The Orator ORM provides a simple yet beautiful ActiveRecord implementation.
- 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.
- Spotlight - Deep recommender models using PyTorch.
- TensorRec - A Recommendation Engine Framework in TensorFlow.
- libffm - A library for Field-aware Factorization Machine (FFM).
- surprise - A scikit for building and analyzing recommender systems.
-
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.
- ObsPy - A Python toolbox for seismology.
- NumPy - A fundamental package for scientific computing with Python.
- Open Babel - A chemical toolbox designed to speak the many languages of chemical data.
- 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).
- elasticsearch-py - The official low-level Python client for [Elasticsearch](https://www.elastic.co/products/elasticsearch).
- Whoosh - A fast, pure Python search engine library.
- 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.
- python-pptx - Python library for creating and updating PowerPoint (.pptx) 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.
- Mocket - Socket Mock Framework plus HTTP[S]/asyncio/gevent mocking library with recording/replaying capability.
- 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.
- textdistance - Compute distance between sequences. 30+ algorithms, pure python implementation, common interface, optional external libs usage.
-
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
Programming Languages
Categories
Testing
25
Command-line Tools
24
Text Processing
22
Database Drivers
20
Debugging Tools
20
Weekly
18
Websites
17
Specific Formats Processing
16
Science
15
ORM
15
Audio
14
RESTful API
14
GUI
14
Implementations
13
Authentication
12
Twitter
12
Image Processing
12
Web Content Extracting
12
Editor Plugins and IDEs
11
CMS
11
Natural Language Processing
10
DevOps Tools
10
Third-party APIs
10
Code Analysis
10
Email
10
Data Visualization
9
Date and Time
9
WSGI Servers
9
Deep Learning
9
Data Validation
8
Recommender Systems
8
E-commerce
8
Hardware
8
Game Development
8
Search
8
Asset Management
8
HTML Manipulation
8
Concurrency and Parallelism
7
Job Scheduler
7
Files
7
Web Crawling & Web Scraping
7
Web Frameworks
7
Machine Learning
7
Caching
6
Static Site Generator
6
Networking
6
Microsoft Windows
6
Build Tools
6
Geolocation
6
Network Virtualization
6
Functional Programming
6
Cryptography
5
Environment Management
5
Admin Panels
5
WebSocket
5
Package Management
5
URL Manipulation
5
Miscellaneous
5
Data Analysis
5
Podcasts
5
Continuous Integration
5
Computer Vision
5
Configuration
4
Cluster Computing
4
Built-in Classes Enhancement
4
HTTP
4
Distribution
4
Package Repositories
4
Forms
4
Logging
4
Documentation
3
Permissions
3
Algorithms and Design Patterns
3
RPC Servers
3
Database
3
Interactive Interpreter
3
Foreign Function Interface
3
Code Quality
3
Queue
3
Serverless Frameworks
3
Internationalization
2
News Feed
2
Template Engine
2
Downloader
2
Anti-spam
2
Processes
2
Compatibility
1
Tagging
1
Video
1
Serialization
1
Sub Categories
Keywords
python
179
machine-learning
13
django
13
testing
12
awesome-list
11
python3
11
http
11
awesome
9
asyncio
7
deep-learning
7
debugging
7
flask
7
cli
6
database
6
python-3
6
aws
6
library
6
web
5
data-science
5
recommender-system
5
pypi
5
matrix-factorization
4
mock
4
terminal
4
visualization
4
cloud-management
4
cloud
4
javascript
4
linux
4
framework
4
sqlalchemy
4
api
4
json
4
requests
3
testing-tools
3
email
3
automation
3
orm
3
pallets
3
crawler
3
rest
3
schema
3
serialization
3
neural-network
3
nlp
3
natural-language-processing
3
html
3
monitoring
3
python2
3
redis
3