An enriched version of the awesome-python generated with awesome.
- Awesome Python
- Awesome Python
- Admin Panels
- Algorithms and Design Patterns
- Anti-spam
- Asset Management
- Audio
- Authentication
- Build Tools
- Built-in Classes Enhancement
- CMS
- Caching
- ChatOps Tools
- Cluster Computing
- Code Analysis
- Command-line Tools
- Compatibility
- Computer Vision
- Concurrency and Parallelism
- Configuration
- Cryptography
- Data Analysis
- Data Validation
- Data Visualization
- Database
- Database Drivers
- Date and Time
- Debugging Tools
- Deep Learning
- DevOps Tools
- Distribution
- Documentation
- Downloader
- E-commerce
- Editor Plugins and IDEs
- Environment Management
- Files
- Foreign Function Interface
- Forms
- Functional Programming
- GUI
- Game Development
- Geolocation
- HTML Manipulation
- HTTP
- Hardware
- Image Processing
- Implementations
- Interactive Interpreter
- Internationalization
- Job Scheduler
- Logging
- Machine Learning
- Microsoft Windows
- Miscellaneous
- Natural Language Processing
- Network Virtualization
- Networking
- News Feed
- ORM
- Package Management
- Package Repositories
- Permissions
- Processes
- Queue
- Recommender Systems
- RESTful API
- Robotics
- RPC Servers
- Science
- Search
- Serialization
- Serverless Frameworks
- Specific Formats Processing
- Static Site Generator
- Tagging
- Template Engine
- Testing
- Text Processing
- Third-party APIs
- URL Manipulation
- Video
- WSGI Servers
- Web Content Extracting
- Web Crawling & Web Scraping
- Web Frameworks
- WebSocket
- Services
- Resources
- Other Awesome Lists
- Awesome Python
Libraries for administrative interfaces.
- ajenti
5542 - Ajenti Core and stock plugins
- xadmin
3576 - Drop-in replacement of Django admin comes with lots of goodies, fully extensible with plugin support, pretty UI based on Twitter Bootstrap.
- flower
3477 - Real-time monitor and web admin for Celery distributed task queue
- flask-admin
3445 - Simple and extensible administrative interface framework for Flask
- Wooey
1198
BSD-3-Clause- A Django app that creates automatic web UIs for Python scripts.
- django-suit - Alternative Django Admin-Interface (free only for Non-commercial use).
- Grappelli - A jazzy skin for the Django Admin-Interface.
Python implementation of algorithms and design patterns.
- python-patterns
19449 - A collection of design patterns/idioms in Python
- algorithms
14285
MIT- Minimal examples of data structures and algorithms in Python
- PyPattyrn
725
MIT- A simple library for implementing common design patterns.
- sortedcontainers - Fast, pure-Python implementation of SortedList, SortedDict, and SortedSet types.
Libraries for fighting spam.
- django-simple-captcha
896
MIT- Django Simple Captcha is an extremely simple, yet highly customizable Django application to add captcha images to any Django form.
- django-simple-spam-blocker
27 - Simple spam blocker for Django
Tools for managing, compressing and minifying website assets.
- django-compressor
2156 - Compresses linked and inline javascript or CSS into a single cached file.
- django-pipeline
1295
MIT- Pipeline is an asset packaging library for Django.
- django-storages
1153 - https://django-storages.readthedocs.io/
- webassets
853 - Asset management for Python web development.
- flask-assets
364
BSD-2-Clause- Flask webassets integration.
- jinja-assets-compressor
87 - A Jinja extension (compatible with Flask and other frameworks) to compile and/or compress your assets.
- fanstatic - Packages, optimizes, and serves static file dependencies as Python packages.
- fileconveyor - A daemon to detect and sync files to CDNs, S3 and FTP.
Libraries for manipulating audio.
- dejavu
4311
MIT- Audio fingerprinting and recognition in Python
- pydub
3295
MIT- Manipulate audio with a simple and easy high level interface
- pyAudioAnalysis
2140
Apache-2.0- Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications
- pyechonest
624
BSD-3-Clause- Python client for the Echo Nest API
- m3u8
534 - Python m3u8 Parser for HTTP Live Streaming (HLS) Transmissions
- audiolazy
484
GPL-3.0- Expressive Digital Signal Processing (DSP) package for Python
- mutagen
417
GPL-2.0- Python 2/3 module for handling audio metadata
- tinytag
328
MIT- Read music meta data and length of MP3, OGG, OPUS, MP4, M4A, FLAC, WMA and Wave files with python 2 or 3
- audioread
246
MIT- cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python
- TimeSide
233
AGPL-3.0- Scalable audio processing framework and server written in Python
- django-elastic-transcoder
55 - Django + AWS Elastic Transcoder
- beets - A music library manager and MusicBrainz tagger.
- eyeD3 - A tool for working with audio files, specifically MP3 files containing ID3 metadata.
- id3reader - A Python module for reading MP3 meta data.
- mingus - An advanced music theory and notation package with MIDI file and playback support.
- talkbox - A Python library for speech/signal processing.
Libraries for implementing authentications schemes.
- django-allauth
4387
MIT- Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication.
- python-oauth2
2824
MIT- A fully tested, abstract interface to creating OAuth clients and servers.
- python-social-auth
2764 - Social auth made simple
- oauthlib
1738
BSD-3-Clause- A generic, spec-compliant, thorough implementation of the OAuth request-signing logic
- rauth
1536
MIT- A Python library for OAuth 1.0/a, 2.0, and Ofly.
- django-oauth-toolkit
1527 - OAuth2 goodies for the Djangonauts!
- flask-oauthlib
1328
BSD-3-Clause- You should use https://github.com/lepture/authlib instead.
- authomatic
904
MIT- Simple yet powerful authorization / authentication client library for Python web applications.
- sanction
175
MIT- A dead simple OAuth2 client implementation.
- pyjwt
2525
MIT- JSON Web Token implementation in Python
- python-jwt
150
MIT- Python module for generating and verifying JSON Web Tokens
- jose
75
BSD-3-Clause- Python implementation of the Javascript Object Signing and Encryption (JOSE) framework (https://datatracker.ietf.org/wg/jose/charter/)
- python-jws
54 - python implementation of JSON Web Signatures
Compile software from source code.
- platformio-core
2901
Apache-2.0- An open source ecosystem for IoT development 👽 Cross-platform IDE and unified debugger. Remote unit testing and firmware updates.
- pybuilder
1074
Apache-2.0- Continuous build tool for Python.
- BitBake - A make-like build tool for embedded Linux.
- buildout - A build system for creating, assembling and deploying applications from multiple parts.
- SCons - A software construction tool.
Libraries for enhancing Python built-in classes.
- attrs
2390
MIT- Python Classes Without Boilerplate
- Box
1170
MIT- Python dictionaries with advanced dot notation access
- bidict
371
MPL-2.0- Efficient, Pythonic bidirectional map data structures and related functionality.
- DottedDict
51
MIT- Python library that provides a method of accessing lists and dicts with a dotted path notation.
Content Management Systems.
- django-cms - An Open source enterprise CMS based on the Django.
- djedi-cms - A lightweight but yet powerful Django CMS with plugins, inline editing and performance in mind.
- FeinCMS - One of the most advanced Content Management Systems built on Django.
- Kotti - A high-level, Pythonic web application framework built on Pyramid.
- Mezzanine - A powerful, consistent, and flexible content management platform.
- Opps - A Django-based CMS for magazines, newspapers websites and portals with high-traffic.
- Plone - A CMS built on top of the open source application server Zope.
- Quokka - Flexible, extensible, small CMS powered by Flask and MongoDB.
- Wagtail - A Django content management system.
- Widgy - Last CMS framework, based on Django.
Libraries for caching data.
- django-cacheops
998 - A slick ORM cache with automatic granular event-driven invalidation.
- django-cache-machine
726 - Automatic caching and invalidation for Django models through the ORM.
- pylibmc
404
BSD-3-Clause- A Python wrapper around the libmemcached interface from TangentOrg.
- beaker
388 - WSGI middleware for sessions and caching
- johnny-cache
283
MIT- johnny cache django caching framework
- django-viewlet
59
MIT- Render template parts with extended cache control.
- DiskCache - SQLite and file backed cache backend with faster lookups than memcached and redis.
- dogpile.cache - dogpile.cache is next generation replacement for Beaker made by same authors.
- HermesCache - Python caching library with tag-based invalidation and dogpile effect prevention.
Libraries for chatbot development.
- Errbot - The easiest and most popular chatbot to implement ChatOps.
Frameworks and libraries for Cluster Computing.
- luigi
11021
Apache-2.0- Luigi is a Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built in.
- faust
2837 - Python Stream Processing
- mrjob
2373 - Run MapReduce jobs on Hadoop or Amazon Web Services
- streamparse
1358 - Run Python in Apache Storm topologies. Pythonic API, CLI tooling, and a topology DSL.
- PySpark - Apache Spark Python API.
- dask - A flexible parallel computing library for analytic computing.
Tools of static analysis, linters and code quality checkers. See: awesome-static-analysis.
- pycallgraph
1247
GPL-2.0- pycallgraph is a Python module that creates call graphs for Python programs.
- code2flow
557
LGPL-3.0- Turn your Python and Javascript code into DOT flowcharts
- pylama
529
LGPL-3.0- Code audit tool for python.
- prospector2
5
GPL-2.0- Inspects Python source files and provides information about type and location of classes, methods etc
- flake8 - A wrapper around pycodestyle, pyflakes and McCabe.
- coala - Language independent and easily extendable code analysis application.
- pylint - A fully customizable source code analyzer.
- pyre-check
2283
MIT- Performant type-checking for python.
- mypy - Check variable types during compile time.
- MonkeyType
2063 - A system for Python that generates static type annotations by collecting runtime types
Libraries for building command-line application.
- python-fire
13475 - Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
- Gooey
6484
MIT- Turn (almost) any Python command line program into a full GUI application with one line
- python-prompt-toolkit
5222
BSD-3-Clause- Library for building powerful interactive command line applications in Python
- clint
2483
ISC- Python Command-line Application Tools
- cement - CLI Application Framework for Python.
- click - A package for creating beautiful command line interfaces in a composable way.
- cliff - A framework for creating command-line programs with multi-level commands.
- docopt - Pythonic command line arguments parser.
- asciimatics
1317
Apache-2.0- A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations
- bashplotlib
1136
MIT- plotting in the terminal
- colorama - Cross-platform colored terminal text.
- thefuck
41252
MIT- Magnificent app which corrects your previous console command.
- httpie
40021 - As easy as httpie /aitch-tee-tee-pie/ 🥧 Modern command line HTTP client – user-friendly curl alternative with intuitive UI, JSON support, syntax highlighting, wget-like downloads, extensions, etc. https://twitter.com/clihttp
- tmux
12966 - tmux source code
- cookiecutter
8978
BSD-3-Clause- A command-line utility that creates projects from cookiecutters (project templates). E.g. Python package projects, jQuery plugin projects.
- pgcli
7666
BSD-3-Clause- Postgres CLI with autocompletion and syntax highlighting
- aws-cli
7651 - Universal Command Line Interface for Amazon Web Services
- mycli
7144 - A Terminal Client for MySQL with AutoCompletion and Syntax Highlighting.
- howdoi
7043
MIT- instant coding answers via the command line
- PathPicker
4048 - PathPicker accepts a wide range of input -- output from git commands, grep results, searches -- pretty much anything.After parsing the input, PathPicker presents you with a nice UI to select which files you're interested in. After that you can open them in your favorite editor or execute arbitrary commands.
- saws
3901 - A supercharged AWS command line interface (CLI).
- percol
2687 - adds flavor of interactive filtering to the traditional pipe concept of UNIX shell
- doitlive
2352
MIT- Because sometimes you need to do it live
- kube-shell
1125
Apache-2.0- Kubernetes shell: An integrated shell for working with the Kubernetes
- try
478
MIT- Dead simple CLI tool to try Python packages - It's never been easier! 📦
Libraries for migrating from Python 2 to 3.
- python-modernize
510 - Modernizes Python code for eventual Python 3 migration. Build on top of 2to3
- Python-Future - The missing compatibility layer between Python 2 and Python 3.
- Six - Python 2 and 3 compatibility utilities.
Libraries for computer vision.
- pyocr
914 - A Python wrapper for Tesseract and Cuneiform -- Moved to Gnome's Gitlab
- OpenCV - Open Source Computer Vision Library.
- SimpleCV - An open source framework for building computer vision applications.
Libraries for concurrent and parallel execution.
- uvloop
5631 - Ultra fast asyncio event loop.
- Tomorrow
1419
MIT- Magic decorator syntax for asynchronous code in Python
- greenlet
994 - Lightweight in-process concurrent programming
- scoop
374
LGPL-3.0- SCOOP (Scalable COncurrent Operations in Python)
- concurrent.futures - (Python standard library) Process-based threading interface.
- multiprocessing - (Python standard library) A high-level interface for asynchronously executing callables.
- eventlet - Asynchronous framework with WSGI support.
Libraries for storing and parsing configuration options.
- python-decouple
926
MIT- Strict separation of config from code.
- configobj
185 - Python 3+ compatible port of the configobj library
- config - Hierarchical config from the author of logging.
- ConfigParser - (Python standard library) INI file parser.
- profig - Config from multiple formats with value conversion.
- pynacl
571
Apache-2.0- Python binding to the Networking and Cryptography (NaCl) library
- cryptography - A package designed to expose cryptographic primitives and recipes to Python developers.
- Paramiko - A Python (2.6+, 3.3+) implementation of the SSHv2 protocol, providing both client and server functionality.
- Passlib - Secure password storage/hashing library, very high level.
Libraries for data analyzing.
- blaze
2613 - NumPy and Pandas interface to Big Data
- mining
964
MIT- Business Intelligence (BI) in Python, OLAP
- Optimus
555
Apache-2.0- 🚚 Agile Data Science Workflows made easy with Python and Spark.
- Orange - Data mining, data visualization, analysis and machine learning through visual programming or scripts.
- Pandas - A library providing high-performance, easy-to-use data structures and data analysis tools.
Libraries for validating data. Used for forms in many cases.
- schematics
2144 - Python Data Structures for Humans™.
- jsonschema
2114
MIT- An(other) implementation of JSON Schema for Python
- schema
1665
MIT- Schema validation just got Pythonic
- cerberus
1547
ISC- Lightweight, extensible data validation library for Python
- voluptuous
1400
BSD-3-Clause- Voluptuous, despite the name, is a Python data validation library.
- awesome-dash
271
CC0-1.0- A curated list of awesome Dash (plotly) resources
- valideer
217
MIT- Lightweight data validation and adaptation Python library.
- colander - Validating and deserializing data obtained via XML, JSON, an HTML form post.
- Dash - Built on top of Flask, React and Plotly aimed at analytical web applications.
Libraries for visualizing data. See: awesome-javascript.
- bokeh
9042
BSD-3-Clause- Interactive Web Plotting for Python
- seaborn
5768
BSD-3-Clause- Statistical data visualization using matplotlib
- ggpy
3438
BSD-2-Clause- ggplot port for python
- altair
3364
BSD-3-Clause- Declarative statistical visualization library for Python
- bqplot
2227
Apache-2.0- Plotting library for IPython/Jupyter Notebooks
- vispy
1915 - Main repository for Vispy
- Matplotlib - A Python 2D plotting library.
- Pygal - A Python SVG Charts Creator.
- PyGraphviz - Python interface to Graphviz.
- PyQtGraph - Interactive and realtime 2D/3D/Image plotting and science/engineering widgets.
Databases implemented in Python.
- tinydb
2705
MIT- TinyDB is a lightweight document oriented database optimized for your happiness :)
- pickleDB - A simple and lightweight key-value store for Python.
- ZODB - A native object database for Python. A key-value and object graph database.
Libraries for connecting and operating databases.
MySQL - awesome-mysql
- PyMySQL
4815
MIT- Pure Python MySQL Client
- mysqlclient-python
1375
GPL-2.0- MySQL database connector for Python (with Python 3 support)
- oursql - A better MySQL connector with support for native prepared statements and BLOBs.
PostgreSQL - awesome-postgres
- queries
198
BSD-3-Clause- PostgreSQL database access simplified
- txpostgres
101
MIT- Twisted wrapper for asynchronous PostgreSQL connections
- psycopg2 - The most popular PostgreSQL adapter for Python.
- dataset
3450
MIT- Easy-to-use data handling for SQL data stores with support for implicit table creation, bulk loading, and transactions.
- apsw - Another Python SQLite wrapper.
- pymssql - A simple database interface to Microsoft SQL Server.
- redis-py
7191
MIT- Redis Python Client
- kafka-python
2812
Apache-2.0- Python client for Apache Kafka
- python-driver
1002
Apache-2.0- DataStax Python Driver for Apache Cassandra
- happybase
446 - A developer-friendly Python library to interact with Apache HBase
- py2neo - Python wrapper client for Neo4j's restful interface.
- PyMongo - The official Python client for MongoDB.
- motor
1167
Apache-2.0- Motor - the async Python driver for MongoDB and Tornado or asyncio
- txRedis
118 - A Redis client library for Twisted Python
- Telephus
93
MIT- Telephus is a connection pooled, low-level client API for Cassandra in Twisted python.
Libraries for working with dates and times.
- pendulum
3152
MIT- Python datetimes made easy
- maya
2828
MIT- Datetimes for Humans™
- delorean
1516
MIT- Delorean: Time Travel Made Easy
- dateutil
889 - Useful extensions to the standard Python datetime features
- moment
559 - Dealing with dates in Python shouldn't have to suck.
- Chronyk
270
MIT- A Python 3 library for parsing human-written times and dates
- When.py
174 - Friendly Python Dates
- PyTime
127
MIT- PyTime is an easy-use Python module which aims to operate date/time/datetime by string.
- pytz - World timezone definitions, modern and historical. Brings the tz database into Python.
Libraries for debugging code.
- wdb
1359
GPL-3.0- An improbable web debugger through WebSockets
- python-remote-pdb
89
BSD-2-Clause- Remote vanilla PDB (over TCP sockets).
- ipdb - IPython-enabled pdb.
- pdb++ - Another drop-in replacement for pdb.
- pudb - A full-screen, console-based Python debugger.
- py-spy
3559
GPL-3.0- Sampling profiler for Python programs
- vprof
3409
BSD-2-Clause- Visual profiler for Python
- profiling
2834
BSD-3-Clause- An interactive continuous Python profiler.
- line_profiler
2622 - Line-by-line profiling for Python
- pyflame
2083
Apache-2.0- 🔥 Pyflame: A Ptracing Profiler For Python
- memory_profiler
18 - Monitor Memory usage of Python code
- django-debug-toolbar
5271 - A configurable set of panels that display various debug information about the current request/response.
- pyringe
1510
Apache-2.0- Debugger capable of attaching to and injecting code into python processes.
- django-devserver
1246 - A drop-in replacement for Django's runserver.
- icecream
770
MIT- 🍦 Sweet and creamy print debugging.
- pyelftools
763 - Parsing ELF and DWARF in Python
- flask-debugtoolbar
679 - A toolbar overlay for debugging Flask applications
- lptrace
632
GPL-3.0- Trace any Python program, anywhere!
- python-hunter
353
BSD-2-Clause- Hunter is a flexible code tracing toolkit.
- python-manhole
203
BSD-2-Clause- Debugging manhole for python applications.
Frameworks for Neural Networks and Deep Learning. See: awesome-deep-learning.
- tensorflow
121577
Apache-2.0- An Open Source Machine Learning Framework for Everyone
- keras
38648 - Deep Learning for humans
- caffe
27174 - Caffe: a fast open framework for deep learning.
- incubator-mxnet
16412
Apache-2.0- Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more
- Theano
8698 - Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently. It can use GPUs and perform efficient symbolic differentiation.
- SerpentAI
5044
MIT- Game Agent Framework. Helping you create AIs / Bots to play any game you own!
- Neupy - Running and testing different Artificial Neural Networks algorithms.
- Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration.
Software and libraries for DevOps.
- ansible
35663
GPL-3.0- Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy. Avoid writing scripts or custom code to deploy and update your applications — automate in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com/ansible/
- salt
9701
Apache-2.0- Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:
- supervisor
5113 - Supervisor process control system for UNIX
- foreman
4965
MIT- Manage Procfile-based applications
- psutil
4564 - Cross-platform lib for process and system monitoring in Python
- pexpect
1448 - A Python module for controlling interactive programs in a pseudo-terminal
- cuisine
1239 - Chef-like functionality for Fabric
- fabtools
1181
BSD-2-Clause- Tools for writing awesome Fabric files
- Cloud-Init - A multi-distribution package that handles early initialization of a cloud instance.
- Docker Compose - Fast, isolated development environments using Docker.
- Fabric - A simple, Pythonic tool for remote execution and deployment.
- OpenStack - Open source software for building private and public clouds.
Libraries to create packaged executables for release distribution.
- pyinstaller
5027 - Freeze (package) Python programs into stand-alone executables
- dh-virtualenv
1260
GPL-2.0- Python virtualenvs in Debian packages
- Nuitka - Compile scripts, modules, packages to an executable or extension module.
- py2app - Freezes Python scripts (Mac OS X).
- py2exe - Freezes Python scripts (Windows).
- pynsist - A tool to build Windows installers, installers bundle Python itself.
Libraries for generating project documentation.
- pycco
653 - Literate-style documentation generator.
- pdoc
567
Unlicense- A simple command line tool and library to auto generate API documentation for Python libraries.
- awesome-sphinxdoc
518 - A curated list of awesome tools for Sphinx Python Documentation Generator
- Sphinx - Python Documentation generator.
- MkDocs - Markdown friendly documentation generator.
Libraries for downloading.
- s3cmd
2923
GPL-2.0- Official s3cmd repo -- Command line tool for managing Amazon S3 and CloudFront services
- s4cmd
815
Apache-2.0- Super S3 command line tool
- you-get - A YouTube/Youku/Niconico video downloader written in Python 3.
- youtube-dl - A small command-line program to download videos from YouTube.
Frameworks and libraries for e-commerce and payments.
- django-shop
1778
BSD-3-Clause- A Django based shop system
- merchant
910
BSD-3-Clause- A Django app to accept payments from various payment processors via Pluggable backends.
- cartridge
581
BSD-2-Clause- Ecommerce for Mezzanine
- alipay
304 - An Unofficial Alipay API for Python
- forex-python
220
MIT- Foreign exchange rates, Bitcoin price index and currency conversion using ratesapi.io
- money
157
MIT- Python money class with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution.
- python-currencies
37
GPL-3.0- Display money format and its filthy currencies, for all money lovers out there.
- django-oscar - An open-source e-commerce framework for Django.
- saleor - An e-commerce storefront for Django.
- shoop - An open source E-Commerce platform based on Django.
- anaconda
1929 - Anaconda turns your Sublime Text 3 in a full featured Python development IDE including autocompletion, code linting, IDE features, autopep8 formating, McCabe complexity checker Vagrant and Docker support for Sublime Text 3 using Jedi, PyFlakes, pep8, MyPy, PyLint, pep257 and McCabe that will never freeze your Sublime Text 3
- SublimeJEDI
859
MIT- awesome Python autocompletion with SublimeText
- python-mode
4553
LGPL-3.0- Vim python-mode. PyLint, Rope, Pydoc, breakpoints from box.
- jedi-vim
3849
MIT- Using the jedi autocompletion library for VIM.
- jedi
3716 - Awesome autocompletion and static analysis library for python.
- PTVS
2112
Apache-2.0- Python Tools for Visual Studio
- pythonVSCode
1881
MIT- This extension is now maintained in the Microsoft fork.
- MagicPython
1071
MIT- Cutting edge Python syntax highlighter for Sublime Text, Atom and Visual Studio Code. Used by GitHub to highlight your Python code!
- spyder
4170
MIT- Official repository for Spyder - The Scientific Python Development Environment
- LiClipse - Free polyglot IDE based on Eclipse. Uses PyDev for Python support.
- PyCharm - Commercial Python IDE by JetBrains. Has free community edition available.
Libraries for sending and parsing email.
- sync-engine
3472
AGPL-3.0- 📨 IMAP/SMTP sync system with modern APIs
- inbox.py
1442
BSD-2-Clause- Python SMTP Server for Humans
- flanker
1285
Apache-2.0- Python email address and Mime parsing library
- yagmail
1273
MIT- yagmail makes sending emails very easy by doing all the magic for you
- modoboa
1228
ISC- Mail hosting made simple
- imbox
822
MIT- Python IMAP for Human beings
- lamson
661 - Pythonic SMTP Application Server
- mailer
162
MIT- A highly efficient and modular mail delivery framework for Python 2.6+ and 3.1+, formerly TurboMail.
- envelopes - Mailing for human beings.
Libraries for Python version and environment management.
- pipenv
15970
MIT- Python Development Workflow for Humans.
- pyenv
14474
MIT- Simple Python version management
- p
746
MIT- 🐍 Python Version Management Made Simple
- venv - (Python standard library in Python 3.3+) Creating lightweight virtual environments.
- virtualenv - A tool to create isolated Python environments.
- virtualenvwrapper - A set of extensions to virtualenv.
Libraries for file manipulation and MIME type detection.
- watchdog
3358 - Python library and shell utilities to monitor filesystem events.
- python-magic
1291
MIT- A python wrapper for libmagic
- path.py
841
MIT- "Path" object conveniently wrapping assorted file/path-related functionality
- pyfilesystem2
832
MIT- Python's Filesystem abstraction layer
- Unipath
475 - An object-oriented approach to Python file/directory operations.
- mimetypes - (Python standard library) Map filenames to MIME types.
- pathlib - (Python standard library) An cross-platform, object-oriented path library.
Libraries for providing foreign function interface.
- cffi - Foreign Function Interface for Python calling C code.
- ctypes - (Python standard library) Foreign Function Interface for Python calling C code.
- PyCUDA - A Python wrapper for Nvidia's CUDA API.
- SWIG - Simplified Wrapper and Interface Generator.
Libraries for working with forms.
- django-crispy-forms
3453
MIT- The best way to have DRY Django forms. The app provides a tag and filter that lets you quickly render forms in a div format while providing an enormous amount of capability to configure and control the rendered HTML.
- django-bootstrap3
2085
BSD-3-Clause- Bootstrap 3 integration with Django.
- wtforms
919 - A flexible forms validation and rendering library for Python.
- deform
309 - A Python HTML form library.
- django-remote-forms
184
MIT- A platform independent django form serializer
Functional Programming with Python.
- fn.py
2786 - Functional programming in Python: implementation of missing features to enjoy FP
- toolz
2199 - A functional standard library for Python.
- funcy
1981 - A fancy and practical functional tools
- cytoolz
586 - Cython implementation of Toolz: High performance functional utilities
- Coconut - Coconut is a variant of Python built for simple, elegant, Pythonic functional programming.
Libraries for working with graphical user interface applications.
- Eel
2535
MIT- A little Python library for making simple Electron-like HTML/JS GUI apps
- toga
1903 - A Python native, OS native GUI toolkit.
- flexx
1893
BSD-2-Clause- Write desktop and web apps in pure Python
- pywebview
1251
BSD-3-Clause- Build GUI for your Python program with JavaScript, HTML, and CSS
- PySimpleGUI
1186
LGPL-3.0- Launched in 2018 Actively developed and supported. Supports tkinter, Qt & WxPython. Create custom layout GUI's simply. Python 2.7 & 3 Support. 100+ Demo programs & Cookbook for rapid start. Extensive documentation. Examples using Machine Learning(GUI, OpenCV Integration, Chatterbot), Floating Desktop Widgets, Matplotlib + Pyplot integration, add GUI to command line scripts, PDF & Image Viewer. For both beginning and advanced programmers .
- enaml
723 - Declarative User Interfaces for Python
- curses - Built-in wrapper for ncurses used to create terminal GUI applications.
- kivy - A library for creating NUI applications, running on Windows, Linux, Mac OS X, Android and iOS.
- pyglet - A cross-platform windowing and multimedia library for Python.
- PyGObject - Python Bindings for GLib/GObject/GIO/GTK+ (GTK+3).
- PyQt - Python bindings for the Qt cross-platform application and UI framework, with support for both Qt v4 and Qt v5 frameworks.
- PySide - Python bindings for the Qt cross-platform application and UI framework, supporting the Qt v4 framework.
- Tkinter - Tkinter is Python's de-facto standard GUI package.
- urwid - A library for creating terminal GUI applications with strong support for widgets, events, rich colors, etc.
- wxPython - A blending of the wxWidgets C++ class library with the Python.
Awesome game development libraries.
- Cocos2d - cocos2d is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on pyglet.
- Panda3D - 3D game engine developed by Disney and maintained by Carnegie Mellon's Entertainment Technology Center. Written in C++, completely wrapped in Python.
- Pygame - Pygame is a set of Python modules designed for writing games.
- PyOgre - Python bindings for the Ogre 3D render engine, can be used for games, simulations, anything 3D.
- PyOpenGL - Python ctypes bindings for OpenGL and it's related APIs.
- PySDL2 - A ctypes based wrapper for the SDL2 library.
- RenPy - A Visual Novel engine.
Libraries for geocoding addresses and working with latitudes and longitudes.
- geopy
2333
MIT- Geocoding library for Python.
- django-countries
644
MIT- A Django application that provides country choices for use with forms, flag icons static files, and a country field for models.
- pygeoip
477
LGPL-3.0- DEPRECATED: Pure Python API for Maxmind's binary GeoIP databases
- python-geojson
398
BSD-3-Clause- Python bindings and utilities for GeoJSON
- geoip-api-python
184
LGPL-2.1- GeoIP Legacy Python API
- GeoDjango - A world-class geographic web framework.
Libraries for working with HTML and XML.
- xmltodict
3344
MIT- Python module that makes working with XML feel like you are working with JSON
- bleach
1668 - Bleach is an allowed-list-based HTML sanitizing library that escapes or strips markup and attributes
- pyquery
1653 - A jquery-like library for python
- html5lib-python
759
MIT- Standards-compliant library for parsing and serializing HTML documents and fragments in Python
- untangle
384
MIT- Converts XML to Python objects
- markupsafe
245
BSD-3-Clause- Safely add untrusted strings to HTML/XML markup.
- BeautifulSoup - Providing Pythonic idioms for iterating, searching, and modifying HTML or XML.
- cssutils - A CSS library for Python.
- lxml - A very fast, easy-to-use and versatile library for handling HTML and XML.
- WeasyPrint - A visual rendering engine for HTML and CSS that can export to PDF.
- xmldataset - Simple XML Parsing.
Libraries for working with HTTP.
- grequests
2920
BSD-2-Clause- Requests + Gevent = <3
- urllib3
1883 - Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more.
- treq
455 - Python requests like API built on top of Twisted's HTTP client.
- httplib2
294 - Small, fast HTTP client library for Python. Features persistent connections, cache, and Google App Engine support. Originally written by Joe Gregorio, now supported by community.
- requests - HTTP Requests for Humans™.
Libraries for programming with hardware.
- scapy
3603
GPL-2.0- Scapy: the Python-based interactive packet manipulation program & library. Supports Python 2 & Python 3.
- keyboard
1323
MIT- Hook and simulate global keyboard events on Windows and Linux.
- PyUserInput
809
GPL-3.0- A module for cross-platform control of the mouse and keyboard in python that is simple to install and use.
- wifi
238
BSD-2-Clause- [unmaintained] WiFi tools for linux
- mouse
158
MIT- Hook and simulate global mouse events in pure Python
- ino - Command line toolkit for working with Arduino.
- Pingo - Pingo provides a uniform API to program devices like the Raspberry Pi, pcDuino, Intel Galileo, etc.
Libraries for manipulating images.
- thumbor
6631
MIT- thumbor is an open-source photo thumbnail service by globo.com
- Pillow
5862 - The friendly PIL fork (Python Imaging Library)
- python-qrcode
1682 - Python QR Code image generator
- wand
845 - The ctypes-based simple ImageMagick binding for Python
- Quads
826 - Computer art based on quadtrees.
- nude.py
631 - Nudity detection with Python
- hmap
159 - Image histogram remapping
- pagan
127
GPL-2.0- Python avatar generator for absolute nerds
- pygram
76 - Instagram-like image filters.
- imgSeek - A project for searching a collection of images using visual similarity.
- pyBarcode - Create barcodes in Python without needing PIL.
- scikit-image - A Python library for (scientific) image processing.
Implementations of Python.
- cpython
22744 - The Python programming language
- grumpy
9545
Apache-2.0- Grumpy is a Python to Go source code transcompiler and runtime.
- micropython
8001
MIT- MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
- pyston
4468 - An open-source Python implementation using JIT techniques.
- Pyjion
1248
MIT- Pyjion - A JIT for Python based upon CoreCLR
- PeachPy
1233 - x86-64 assembler embedded in Python
- ironpython3
817
Apache-2.0- DO NOT USE. Implementation of Python 3.x for .NET Framework that is built on top of the Dynamic Language Runtime.
- owasp-pysec
325
Apache-2.0- OWASP Python Security Project
- stackless
320 - The Stackless Python programming language
- cl-python
265 - An implementation of Python in Common Lisp
- Cython - Optimizing Static Compiler for Python. Uses type mixins to compile Python into C or C++ modules resulting in large performance gains
- Jython - Implementation of Python programming language written in Java for the Java virtual machine (JVM).
- Numba - Python JIT compiler to LLVM aimed at scientific Python.
- PyPy - Implementation of the Python programming language written in RPython and translated into C. PyPy focuses on speed, efficiency and compatibility with the original CPython interpreter. The interpreter uses black magic to make Python very fast without having to add in additional type information.
Interactive Python interpreters (REPL).
- python-prompt-toolkit
5222
BSD-3-Clause- Library for building powerful interactive command line applications in Python
- bpython
1178 - bpython - A fancy curses interface to the Python interactive interpreter
- awesome-jupyter
815
CC-BY-SA-4.0- A curated list of awesome Jupyter projects, libraries and resources
- Jupyter Notebook (IPython) - A rich toolkit to help you make the most out of using Python interactively.
Libraries for working with i18n.
Libraries for scheduling jobs.
- schedule
5715
MIT- Python job scheduling for humans.
- plan
1062 - Crontab jobs management in Python
- django-schedule
736 - A calendaring app for Django. It is now stable, Please feel free to use it now. Active development has been taken over by bartekgorny.
- SpiffWorkflow
718
LGPL-3.0- A powerful workflow engine implemented in pure Python
- gunnery
677
Apache-2.0- Remote task execution tool
- APScheduler - A light but powerful in-process task scheduler that lets you schedule functions.
- doit - A task runner and build tool.
- Joblib - A set of tools to provide lightweight pipelining in Python.
- TaskFlow - A Python library that helps to make task execution easy, consistent and reliable.
Libraries for generating and working with logs.
- raven-python
1605
BSD-3-Clause- Raven is the legacy Python client for Sentry (getsentry.com) — replaced by sentry-python
- eliot
462
Apache-2.0- Eliot: the logging system that tells you why it happened
- logbook - Logging replacement for Python.
- logging - (Python standard library) Logging facility for Python.
Libraries for Machine Learning. See: awesome-machine-learning.
- xgboost
15006
Apache-2.0- Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow
- vowpal_wabbit
6133 - Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.
- nupic
5825
AGPL-3.0- Numenta Platform for Intelligent Computing is an implementation of Hierarchical Temporal Memory (HTM), a theory of intelligence based strictly on the neuroscience of the neocortex.
- h2o-3
3838
Apache-2.0- Open Source Fast Scalable Machine Learning Platform For Smarter Applications (Deep Learning, Gradient Boosting, Random Forest, Generalized Linear Modeling (Logistic Regression, Elastic Net), K-Means, PCA, Stacked Ensembles, Automatic Machine Learning (AutoML), ...)
- Metrics
1072 - Machine learning evaluation metrics, implemented in Python, R, Haskell, and MATLAB / Octave
- scikit-learn - The most popular Python library for Machine Learning.
- Spark ML - Apache Spark's scalable Machine Learning library.
Python programming on Microsoft Windows.
- pythonnet
1453
MIT- Python for .NET is a package that gives Python programmers nearly seamless integration with the .NET Common Language Runtime (CLR) and provides a powerful application scripting tool for .NET developers.
- Python(x,y) - Scientific-applications-oriented Python Distribution based on Qt and Spyder.
- pythonlibs - Unofficial Windows binaries for Python extension packages.
- PyWin32 - Python Extensions for Windows.
- WinPython - Portable development environment for Windows 7/8.
Useful libraries or tools that don't fit in the categories above.
- itsdangerous
1664 - Various helpers to pass trusted data to untrusted environments and back.
- blinker
859
MIT- A fast Python in-process signal/event dispatching system.
- pluginbase
773 - A simple but flexible plugin system for Python.
- pychievements
109
MIT- The Python Achievements Framework!
- Tryton - A general purpose business framework.
Libraries for working with human languages.
- jieba
17366
MIT- 结巴中文分词
- gensim
8724
LGPL-2.1- Topic Modelling for Humans
- TextBlob
5999
MIT- Simple, Pythonic, text processing--Sentiment analysis, part-of-speech tagging, noun phrase extraction, translation, and more.
- snownlp
3855
MIT- Python library for processing Chinese text
- langid.py
1236 - Stand-alone language identification system
- PyTorch-NLP
1200
BSD-3-Clause- Supporting Rapid Prototyping with a Toolkit (incl. Datasets and Neural Network Layers)
- polyglot
1165
GPL-3.0- Multilingual text (NLP) processing toolkit
- NLTK - A leading platform for building Python programs to work with human language data.
- Pattern - A web mining module for the Python.
- spaCy - A library for industrial-strength natural language processing in Python and Cython.
Tools and libraries for Virtual Networking and SDN (Software Defined Networking).
- pox
420
Apache-2.0- The POX network software platform
- 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.
Libraries for networking programming.
- pulsar
1714
BSD-3-Clause- Event driven concurrent framework for Python
- awesome-asyncio
1299 - A curated list of awesome Python asyncio frameworks, libraries, software and resources
- napalm
1151
Apache-2.0- Network Automation and Programmability Abstraction Layer with Multivendor support
- diesel
567 - Greenlet-based event I/O Framework for Python
- txZMQ
144
GPL-2.0- ZeroMQ bindings for Twisted
- asyncio - (Python standard library) Asynchronous I/O, event loop, coroutines and tasks.
- pyzmq - A Python wrapper for the ZeroMQ message library.
- Twisted - An event-driven networking engine.
Libraries for building user's activities.
- Stream-Framework
3959 - Stream Framework is a Python library, which allows you to build news feed, activity streams and notification systems using Cassandra and/or Redis. The authors of Stream-Framework also provide a cloud service for feed technology:
- django-activity-stream
1507
BSD-3-Clause- Generate generic activity streams from the actions on your site. Users can follow any actors' activities for personalized streams.
Libraries that implement Object-Relational Mapping or data mapping techniques.
- peewee
6152
MIT- a small, expressive orm -- supports postgresql, mysql and sqlite
- awesome-sqlalchemy
1798 - A curated list of awesome tools for SQLAlchemy
- pydal
252 - A pure Python Database Abstraction Layer
- Django Models - A part of Django.
- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper.
- Orator - The Orator ORM provides a simple yet beautiful ActiveRecord implementation.
- PonyORM - ORM that provides a generator-oriented interface to SQL.
- python-sql - Write SQL queries pythonically.
- PynamoDB
857
MIT- A pythonic interface to Amazon's DynamoDB
- mongodb-engine
804 - Django MongoDB Backend
- redisco
421
MIT- A Python Library for Simple Models and Containers Persisted in Redis
- hot-redis
244
BSD-2-Clause- Rich Python data types for Redis
- flywheel
114
MIT- Object mapper for Amazon's DynamoDB
- MongoEngine - A Python Object-Document-Mapper for working with MongoDB.
- dataset
3450
MIT- Easy-to-use data handling for SQL data stores with support for implicit table creation, bulk loading, and transactions.
- butterdb
340
MIT- butterdb is a Python object mapper for Google Drive Spreadsheets. Still in development, but usable.
Libraries for package and dependency management.
- pip-tools
3143 - A set of tools to keep your pinned Python dependencies fresh.
- conda
2750 - OS-agnostic, system-level binary package manager and ecosystem
- pip - The Python package and dependency manager Python Package Index.
- Curdling - Curdling is a command line tool for managing Python packages.
- wheel - The new standard of Python distribution and are intended to replace eggs.
Local PyPI repository server and proxies.
- warehouse
2082
Apache-2.0- The Python Package Repository
- localshop
346
MIT- local pypi server (custom packages and auto-mirroring of pypi)
- bandersnatch - PyPI mirroring tool provided by Python Packaging Authority (PyPA).
- devpi - PyPI server and packaging/testing/release tool.
Libraries that allow or deny users access to data or functionality.
- django-guardian
2139 - Per object permissions for Django
- django-rules
825
MIT- Awesome Django authorization, without the database
- python-carteblanche
39 - Module to align code with thoughts of users and designers. Also magically handles navigation and permissions.
Libraries for starting and communicating with OS processes.
- sh
4844
MIT- Python process launching
- delegator.py
1223
MIT- Subprocesses for Humans 2.0.
- sarge - Yet another wrapper for subprocess.
Libraries for working with event and task queues.
- huey
2125
MIT- a little task queue for python
- mrq
739
MIT- Mr. Queue - A distributed worker task queue in Python using Redis & gevent
- simpleq
141 - A simple, infinitely scalable, SQS based queue.
- celery - An asynchronous task queue/job queue based on distributed message passing.
- rq - Simple job queues for Python.
Libraries for building recommender systems.
- annoy
4917
Apache-2.0- Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk
- lightfm
2309
Apache-2.0- A Python implementation of LightFM, a hybrid recommendation algorithm.
- spotlight
1533
MIT- Deep recommender models using PyTorch.
- implicit
1340
MIT- Fast Python Collaborative Filtering for Implicit Feedback Datasets
- libffm
1130 - A Library for Field-aware Factorization Machines
- tensorrec
765
Apache-2.0- A TensorFlow recommendation algorithm and framework in Python.
- fastFM
703 - fastFM: A Library for Factorization Machines
- surprise - A scikit for building and analyzing recommender systems.
Libraries for developing RESTful APIs.
- django-rest-framework - A powerful and flexible toolkit to build web APIs.
- django-tastypie - Creating delicious APIs for Django apps.
- eve
5495 - REST API framework designed for human beings
- flask-restful
4461
BSD-3-Clause- Simple framework for creating REST APIs
- flask-restless
962 - A Flask extension for creating simple ReSTful JSON APIs from SQLAlchemy models.
- flask-api-utils
47
MIT- Flask extension that takes care of API representation and authentication.
- flask-api - Browsable Web APIs for Flask.
- cornice
339 - Build Web Services with Pyramid.
- hug
5593
MIT- Embrace the APIs of the future. Hug aims to make developing APIs as simple as possible, but no simpler.
- apistar
5072
BSD-3-Clause- The Web API toolkit. 🛠
- sandman
2310
Apache-2.0- Sandman "makes things REST".
- restless
735
BSD-3-Clause- A lightweight REST miniframework for Python.
- ripozo
188
GPL-2.0- A tool for quickly creating REST/HATEOAS/Hypermedia APIs in python
- falcon - A high-performance framework for building cloud APIs and web app backends.
Libraries for robotics.
- PythonRobotics
4626
MIT- Python sample codes for robotics algorithms.
- rospy - This is a library for ROS (Robot Operating System).
RPC-compatible servers.
- zerorpc-python
2377 - zerorpc for python
- jsonrpclib
386 - A Python JSON-RPC over HTTP that mirrors xmlrpclib syntax.
- SimpleXMLRPCServer - (Python standard library) Simple XML-RPC server implementation, single-threaded.
Libraries for scientific computing.
- zipline
8377
Apache-2.0- Zipline, a Pythonic Algorithmic Trading Library
- sympy
5599 - A computer algebra system written in pure Python
- pymc3
3979 - Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Theano
- statsmodels
3674 - Statsmodels: statistical modeling and econometrics in Python
- bcbio-nextgen
656
MIT- Validated, scalable, community developed variant calling, RNA-seq and small RNA analysis
- obspy
478 - ObsPy: A Python Toolbox for seismology/seismological observatories.
- bcbb
436 - Incubator for useful bioinformatics code, primarily in Python and R
- astropy - A community Python library for Astronomy.
- Biopython - Biopython is a set of freely available tools for biological computation.
- cclib - A library for parsing and interpreting the results of computational chemistry packages.
- Colour - A colour science package implementing a comprehensive number of colour theory transformations and algorithms.
- NetworkX - A high-productivity software for complex networks.
- NIPY - A collection of neuroimaging toolkits.
- NumPy - A fundamental package for scientific computing with Python.
- Open Babel - A chemical toolbox designed to speak the many languages of chemical data.
- PyDy - Short for Python Dynamics, used to assist with workflow in the modeling of dynamic motion.
- QuTiP - Quantum Toolbox in Python.
- RDKit - Cheminformatics and Machine Learning Software.
- SciPy - A Python-based ecosystem of open-source software for mathematics, science, and engineering.
- SimPy - A process-based discrete-event simulation framework.
Libraries and software for indexing and performing search queries on data.
- django-haystack
2643 - Modular search for Django
- elasticsearch-dsl-py
2259
Apache-2.0- High level Python client for Elasticsearch
- pysolr
488 - Pysolr — Python Solr client
- esengine
94
MIT- ElasticSearch ODM (Object Document Mapper) for Python - pip install esengine
- solrpy
34 - Automatically exported from code.google.com/p/solrpy
- elasticsearch-py - The official low-level Python client for Elasticsearch.
- Whoosh - A fast, pure Python search engine library.
Libraries for serializing complex data types
- marshmallow
3341
MIT- A lightweight library for converting complex objects to and from simple Python datatypes.
Frameworks for developing serverless Python code.
- Zappa
8690
MIT- Serverless Python
- apex
7583
MIT- Build, deploy, and manage AWS Lambda functions with ease.
- python-lambda
876
ISC- A toolkit for developing and deploying serverless Python code in AWS Lambda.
Libraries for parsing and manipulating specific text formats.
- xlrd
1573 - Library for developers to extract data from Microsoft Excel (tm) spreadsheet files
- python-docx
1565
MIT- Create and modify Word documents with Python
- unoconv
1483
GPL-2.0- Universal Office Converter - Convert between any document format supported by LibreOffice/OpenOffice.
- python-pptx
741
MIT- Create Open XML PowerPoint documents in Python
- pyexcel
609 - Single API for reading, manipulating and writing data in csv, ods, xls, xlsx and xlsm files
- mm
153 - Python powered spreadsheets
- openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.
- relatorio - Templating OpenDocument files.
- XlsxWriter - A Python module for creating Excel .xlsx files.
- xlwings - A BSD-licensed library that makes it easy to call Python from Excel and vice versa.
- pdfminer
3349
MIT- Python PDF Parser
- PyPDF2
2360 - A utility to read and write PDFs with Python
- ReportLab - Allowing Rapid creation of rich PDF documents.
- markdown
1653 - A Python implementation of John Gruber’s Markdown with Extension support.
- mistune
1416
BSD-3-Clause- The fastest markdown parser in pure Python with renderer feature.
- PyYAML - YAML implementations for Python.
- csvkit
3672
MIT- A suite of utilities for converting to and working with CSV, the king of tabular file formats.
- unp
339 - Unpacks things.
Static site generator is a software that takes some text + templates as input and produces HTML files on the output.
- Cactus
3274 - Static site generator for designers. Uses Python and Django templates.
- Hyde - Jinja2-based static web site generator.
- Lektor - An easy to use static CMS and blog engine.
- Nikola - A static website and blog generator.
- Pelican - Uses Markdown or ReST for content and Jinja 2 for themes. Supports DVCS, Disqus. AGPL.
- Tinkerer - Tinkerer is a blogging engine/.static website generator powered by Sphinx.
Libraries for tagging items.
- django-taggit
2055 - Simple tagging for django
Libraries and tools for templating and lexing.
- jinja
5895 - The Jinja2 template engine
- Genshi - Python templating toolkit for generation of web-aware output.
- Mako - Hyperfast and lightweight templating for the Python platform.
Libraries for testing codebases and generating test data.
- hypothesis
3281 - Hypothesis is a powerful, flexible, and easy to use library for property-based testing.
- robotframework
3073 - Generic automation framework for acceptance testing and RPA
- nose
1262 - nose is nicer testing for python
- nose2
527 - The successor to nose, based on unittest2
- mamba - The definitive testing tool for Python. Born under the banner of BDD.
- pytest - A mature full-featured Python testing tool.
- unittest - (Python standard library) Unit testing framework.
- green
589
MIT- Green is a clean, colorful, fast python test runner.
- tox - Auto builds and tests distributions in multiple Python versions
- locust
9446
MIT- Scalable user load testing tool written in Python
- pyautogui
2458
BSD-3-Clause- A cross-platform GUI automation Python module for human beings. Used to programmatically control the mouse & keyboard.
- splinter
1964
BSD-3-Clause- splinter - python test framework for web applications
- sixpack
1541
BSD-2-Clause- Sixpack is a language-agnostic a/b-testing framework
- Selenium - Python bindings for Selenium WebDriver.
- responses
2221
Apache-2.0- A utility for mocking out the Python Requests library.
- freezegun
1820
Apache-2.0- Let your Python tests travel through time
- HTTPretty
1663
MIT- HTTP client mocking tool for Python - inspired by Fakeweb for Ruby
- vcrpy
1351
MIT- Automatically mock your HTTP interactions to simplify and speed up testing
- httmock
363 - A mocking library for requests
- python-mocket
138
BSD-3-Clause- a socket mock framework - for all kinds of socket animals, web-clients included
- doublex - Powerful test doubles framework for Python.
- mock - (Python standard library) A mocking and patching library.
- factory_boy
1705
MIT- A test fixtures replacement for Python
- model_mommy
880 - Object factory for django
- mixer
578 - Mixer -- Is a fixtures replacement. Supported Django, Flask, SqlAlchemy and custom python objects.
- coverage - Code coverage measurement.
- faker
7425
MIT- Faker is a Python package that generates fake data for you.
- mimesis
2289
MIT- Mimesis is fast and extremely easy to use Python package, which helps generate big volumes of fake data for a variety of purposes in a variety of languages.
- fake2db
1941
GPL-2.0- create custom test databases that are populated with fake data
- radar - Generate random datetime / time.
- fuckitpy
3316 - The Python error steamroller.
Libraries for parsing and manipulating plain texts.
- fuzzywuzzy
5254
GPL-2.0- Fuzzy String Matching in Python
- python-ftfy
2406
MIT- Fixes mojibake and other glitches in Unicode text, after the fact.
- python-pinyin
1653
MIT- 汉字转拼音(pypinyin)
- textdistance
1316
LGPL-3.0- Compute distance between sequences. 30+ algorithms, pure python implementation, common interface, optional external libs usage.
- chardet
1081
LGPL-2.1- Python 2/3 compatible character encoding detector.
- shortuuid
1024
BSD-3-Clause- A generator library for concise, unambiguous and URL-safe UUIDs.
- hashids-python
889
MIT- Implementation of hashids (http://hashids.org) in Python. Compatible with Python 2 and Python 3
- xpinyin
611 - translate chinese hanzi to pinyin by python
- python-Levenshtein
582
GPL-2.0- The Levenshtein Python C extension module contains functions for fast computation of Levenshtein distance and string similarity
- pyfiglet
405 - An implementation of figlet written in Python
- uniout
151
MIT- Never see escaped bytes in output.
- pangu.py
92
MIT- Paranoid text spacing in Python
- difflib - (Python standard library) Helpers for computing deltas.
- unidecode - ASCII transliterations of Unicode text.
- python-slugify
636
MIT- Returns unicode slugs
- awesome-slugify
412 - Python flexible slugify function
- unicode-slugify
279 - A slugifier that works in unicode
- python-phonenumbers
2091
Apache-2.0- Python port of Google's libphonenumber
- sqlparse
1531
BSD-3-Clause- A non-validating SQL parser module for Python
- python-user-agents
854
MIT- A Python library that provides an easy way to identify devices like mobile phones, tablets and their capabilities by parsing (browser) user agent strings.
- python-nameparser
311 - A simple Python module for parsing human names into their individual components
- PLY - Implementation of lex and yacc parsing tools for Python.
- Pygments - A generic syntax highlighter.
Libraries for accessing third party services APIs. See: List of Python API Wrappers and Libraries.
- boto3
4201 - AWS SDK for Python
- gspread
3893
MIT- Google Sheets Python API
- google-api-python-client
2511 - 🐍 The official Python client library for Google's discovery based APIs.
- facebook-sdk
2383
Apache-2.0- Python SDK for Facebook's Graph API
- twython
1598
MIT- Actively maintained, pure Python wrapper for the Twitter API. Supports both normal and streaming Twitter APIs.
- gmail
1555
MIT- A Pythonic interface for Google Mail
- facepy
787
MIT- Facepy makes it really easy to use Facebook's Graph API
- django-wordpress
285
BSD-3-Clause- WordPress models and views for Django.
- apache-libcloud - One Python library for all clouds.
Libraries for parsing URLs.
- furl
1522 - 🌐 URL parsing and manipulation made easy.
- webargs
757
MIT- A friendly library for parsing HTTP request arguments, with built-in support for popular web frameworks, including Flask, Django, Bottle, Tornado, Pyramid, webapp2, Falcon, and aiohttp.
- purl
223
MIT- A simple, immutable URL class with a clean API for interrogation and manipulation.
- pyshorteners
219
GPL-3.0- 🔌 A Python lib to consume the most used shorteners APIs (WIP)
- python-short_url
128
MIT- Python implementation for generating Tiny URL- and bit.ly-like URLs.
Libraries for manipulating video and GIFs.
- scikit-video
87 - Video processing routines for SciPy
- moviepy - A module for script-based movie editing with many formats, including animated GIFs.
WSGI-compatible web servers.
- netius
108
Apache-2.0- Readable, simple and fast asynchronous non-blocking network apps
- bjoern - Asynchronous, very fast and written in C.
- fapws3 - Asynchronous (network side only), written in C.
- gunicorn - Pre-forked, partly written in C.
- meinheld - Asynchronous, partly written in C.
- rocket - Multi-threaded.
- uWSGI - A project aims at developing a full stack for building hosting services, written in C.
- waitress - Multi-threaded, powers Pyramid.
- Werkzeug - A WSGI utility library for Python that powers Flask and can easily be embedded into your own projects.
Libraries for extracting web contents.
- requests-html
9096
MIT- Pythonic HTML Parsing for Humans™
- newspaper
7688 - News, full-text, and article metadata extraction in Python 3. Advanced docs:
- python-goose
3283
Apache-2.0- Html Content / Article Extractor, web scrapping lib in Python
- toapi
2761 - Every web site provides APIs.
- textract
2438
MIT- extract text from any document. no muss. no fuss.
- sumy
1823
Apache-2.0- Module for automatic summarization of text documents and HTML pages.
- python-readability
1582 - fast python port of arc90's readability tool, updated to match latest readability.js!
- html2text
639
GPL-3.0- Convert HTML to Markdown-formatted text.
- lassie
448
MIT- Web Content Retrieval for Humans™
- micawber
427
MIT- a small library for extracting rich content from urls
- haul
136
MIT- An Extensible Image Crawler
- python-sanitize
58
BSD-2-Clause- Bringing sanity to world of messed-up data
Libraries to automate data extraction from websites.
- pyspider
12770
Apache-2.0- A Powerful Spider(Web Crawler) System in Python.
- portia
6748 - Visual scraping for Scrapy
- MechanicalSoup
3126
MIT- A Python library for automating interaction with websites.
- cola
1335 - A high-level distributed crawling framework.
- demiurge
89
BSD-3-Clause- PyQuery-based scraping micro-framework.
- feedparser - Universal feed parser.
- Grab - Site scraping framework.
- Scrapy - A fast high-level screen scraping and web crawling framework.
Full stack web frameworks.
- sanic
11506
MIT- Async Python 3.5+ web server that's written to go fast
- awesome-flask
6807 - A curated list of awesome Flask resources and plugins
- awesome-django
494 - A curated list of awesome things related to Django
- awesome-pyramid
455 - A curated list of awesome Pyramid apps, projects and resources.
- Django - The most popular web framework in Python.
- Flask - A microframework for Python.
- Pyramid - A small, fast, down-to-earth, open source Python web framework.
- Tornado - A Web framework and asynchronous networking library.
- Vibora - Fast, efficient and asynchronous Web framework inspired by Flask.
Libraries for working with WebSocket.
- channels
3615 - Developer-friendly asynchrony for Django
- autobahn-python
1968
MIT- WebSocket and WAMP in Python for Twisted and asyncio
- crossbar
1612 - Crossbar.io - WAMP application router
- django-socketio
1174
BSD-2-Clause- WebSockets for Django
- WebSocket-for-Python
1022 - [Project on Hiatus] WebSocket client and server library for Python 2 and 3 as well as PyPy (ws4py 0.5.1)
Online tools and APIs to simplify development.
See: awesome-CIandCD.
- CircleCI - A CI service that can run very fast parallel testing. (GitHub only)
- Travis CI - A popular CI service for your open source and private projects. (GitHub only)
- Vexor CI - A continuous integration tool for private apps with pay-per-minute billing model.
- Wercker - A Docker-based platform for building and deploying applications and microservices.
- Codacy - Automated Code Review to ship better code, faster.
- Codecov - Code coverage dashboard.
- CodeFactor - Automated Code Review for Git.
- Landscape - Hosted continuous Python code metrics.
Where to discover new Python libraries.
- From Python Import Podcast
- Podcast.init
- Python Bytes
- Python Testing
- Radio Free Python
- Talk Python To Me
- @codetengu
- @getpy
- @importpython
- @planetpython
- @pycoders
- @pypi
- @pythontrending
- @PythonWeekly
- @TalkPython
- @realpython
- /r/CoolGithubProjects
- /r/Python
- Awesome Python @LibHunt
- Django Packages
- Full Stack Python
- PyPI Ranking
- Python 3 Wall of Superpowers
- Python Hackers
- Python ZEEF
- Python 开发社区
- Real Python
List of lists.
- awesome
102872 - 😎 Awesome lists about all kinds of interesting topics
- awesomo
6287 - An extensive list of interesting open source projects written in С, C++, Clojure, Lisp, Elixir, Erlang, Elm, Golang, Haskell, JavaScript, Lua, OCaml, Python, R, Ruby, Rust, Scala etc.
- lists
5602
CC0-1.0- The definitive list of lists (of lists) curated on GitHub
- pycrumbs
2808
Unlicense- Bits and bytes of Python from the Internet
- python_reference
2114 - Useful functions, tutorials, and other Python-related things
- pythonidae
695 - Curated decibans of scientific programming resources in Python.
- python-github-projects
537 - Collect and classify python projects on Github (deprecated)
- awesome-python-for-social-good
27 - A curated list of examples & ideas of using Python for Social Good.
List generated with awesome at 2019-03-02 12:07:30.240291866 CET.