Written on 26 June 2016
Awesome pythonA curated list of awesome Python frameworks, libraries, software and resources.
Inspired by awesome-php .
Environment ManagementLibraries for Python version and environment management.
p - Dead simple interactive Python version management. pyenv - Simple Python version management. 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. Package ManagementLibraries for package and dependency management.
pip - The Python package and dependency manager. Python Package Index pip-tools - A set of tools to keep your pinned Python dependencies fresh. conda - Cross-platform, Python-agnostic binary package manager. Curdling - Curdling is a command line tool for managing Python packages. wheel - The new standard of Python distribution and are intended to replace eggs. Package RepositoriesLocal PyPI repository server and proxies.
warehouse - Next generation Python Package Repository (PyPI). Warehouse bandersnatch - PyPI mirroring tool provided by Python Packaging Authority (PyPA). devpi - PyPI server and packaging/testing/release tool. localshop - Local PyPI server (custom packages and auto-mirroring of pypi). DistributionLibraries to create packaged executables for release distribution.
PyInstaller - Converts Python programs into stand-alone executables (cross-platform). dh-virtualenv - Build and distribute a virtualenv as a Debian package. 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. Build ToolsCompile software from source code.
buildout - A build system for creating, assembling and deploying applications from multiple parts. BitBake - A make-like build tool for embedded linux. PlatformIO - A console tool to build code with different development platforms. PyBuilder - A continuous build tool written in pure Python. SCons - A software construction tool. Interactive InterpreterInteractive Python interpreters (REPL).
Jupyter Notebook (IPython) - A rich toolkit to help you make the most out of using Python interactively. bpython A fancy interface to the Python interpreter. ptpython - Advanced Python REPL built on top of the python-prompt-toolkit . FilesLibraries for file manipulation and MIME type detection.
imghdr - (Python standard library) Determine the type of an image. mimetypes - (Python standard library) Map filenames to MIME types. path.py - A module wrapper for os.path . pathlib - (Python standard library in Python 3.4+) An cross-platform, object-oriented path library. python-magic - A Python interface to the libmagic file type identification library. Unipath - An object-oriented approach to file/directory operations. watchdog - API and shell utilities to monitor file system events. Date and TimeLibraries for working with dates and times.
arrow - Better dates & times for Python. Chronyk - A Python 3 library for parsing human-written times and dates. dateutil - Extensions to the standard Python datetime module. delorean - A library for clearing up the inconvenient truths that arise dealing with datetimes. moment - A Python library for dealing with dates/times. Inspired by Moment.js . PyTime - A 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. when.py - Providing user-friendly functions to help perform common date and time actions. Text ProcessingLibraries for parsing and manipulating plain texts.
General chardet - Python 2/3 compatible character encoding detector. difflib - (Python standard library) Helpers for computing deltas. ftfy - Makes Unicode text less broken and more consistent automagically. fuzzywuzzy - Fuzzy String Matching. Levenshtein - Fast computation of Levenshtein distance and string similarity. pangu.py - Spacing texts for CJK and alphanumerics. pyfiglet - An implementation of figlet written in Python. shortuuid - A generator library for concise, unambiguous and URL-safe UUIDs. unidecode - ASCII transliterations of Unicode text. uniout - Print readable chars instead of the escaped string. xpinyin - A library to translate Chinese hanzi (o"字) to pinyin (拼音). Slugify 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. Parser phonenumbers - Parsing, formatting, storing and validating international phone numbers. PLY - Implementation of lex and yacc parsing tools for Python Pygments - A generic syntax highlighter. pyparsing - A general purpose framework for generating parsers. python-nameparser - Parsing human names into their individual components. python-user-agents - Browser user agent parser. sqlparse - A non-validating SQL parser. Specific Formats ProcessingLibraries for parsing and manipulating specific text formats.
General tablib - A module for Tabular Datasets in XLS, CSV, JSON, YAML. Office Marmir - Takes Python data structures and turns them into spreadsheets. openpyxl - A library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files. 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. relatorio - Templating OpenDocument files. unoconv - Convert between any document format supported by LibreOffice/OpenOffice. 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. xlwt / xlrd - Writing and reading data and formatting information from Excel files. PDF PDFMiner - A tool for extracting information from PDF documents. PyPDF2 - A library capable of splitting, merging and transforming PDF pages. ReportLab - Allowing Rapid creation of rich PDF documents. Markdown Mistune - Fastest and full featured pure Python parsers of Markdown. Python-Markdown - A Python implementation of John Gruber’s Markdown. YAML PyYAML - YAML implementations for Python. CSV csvkit - Utilities for converting to and working with CSV. Archive unp - A command line tool that can unpack archives easily. Natural Language ProcessingLibraries for working with human languages.
NLTK - A leading platform for building Python programs to work with human language data. Pattern - A web mining module for the Python. Jieba - Chinese text segmentation. SnowNLP - A library for processing Chinese text. spaCy - A library for industrial-strength natural language processing in Python and Cython. TextBlob - Providing a consistent API for diving into common NLP tasks. TextGrocery - A simple, efficient short-text classification tool based on LibLinear and Jieba. langid.py - Stand-alone language identification system. DocumentationLibraries for generating project documentation.
Sphinx - Python Documentation generator. awesome-sphinxdoc MkDocs - Markdown friendly documentation generator. pdoc - Epydoc replacement to auto generate API documentation for Python libraries. Pycco - The literate-programming-style documentation generator. ConfigurationLibraries for storing and parsing configuration options.
config - Hierarchical config from the author of logging . ConfigObj - INI file parser with validation. ConfigParser - (Python standard library) INI file parser. profig - Config from multiple formats with value conversion. python-decouple - Strict separation of settings from code. Command-line ToolsLibraries for building command-line application.
Command-line Application Development asciimatics - Cross-platform, full-screen terminal package (i.e. mouse/keyboard input and coloured, positioned text output) complete with high-level API for complex animations and special effects. 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. clint - Python Command-line Application Tools. colorama - Cross-platform colored terminal text. docopt - Pythonic command line arguments parser. Gooey - Turn command line programs into a full GUI application with one line python-prompt-toolkit - A Library for building powerful interactive command lines. Productivity Tools aws-cli - A universal command-line interface for Amazon Web Services. bashplotlib - Making basic plots in the terminal. caniusepython3 - Determine what projects are blocking you from porting to Python 3. cookiecutter - A command-line utility that creates projects from cookiecutters (project templates). doitlive - A tool for live presentations in the terminal. howdoi - Instant coding answers via the command line. httpie - A command line HTTP client, a user-friendly cURL replacement. PathPicker - Select files out of bash output. percol - Adds flavor of interactive selection to the traditional pipe concept on UNIX. SAWS - A Supercharged AWS CLI. thefuck - Correcting your previous console command. try - A dead simple CLI to try out python packages - It's never been easier. mycli - A Terminal Client for mysql with AutoCompletion and Syntax Highlighting. pgcli - Postgres CLI with autocompletion and syntax highlighting. DownloaderLibraries for downloading.
s3cmd - A command line tool for managing Amazon S3 and CloudFront. s4cmd - Super S3 command line tool, good for higher performance. you-get - A YouTube/Youku/Niconico video downloader written in Python 3. youtube-dl - A small command-line program to download videos from YouTube. ImageryLibraries for manipulating images.
pillow - Pillow is the friendly PIL fork. hmap - Image histogram remapping. imgSeek - A project for searching a collection of images using visual similarity. nude.py - Nudity detection. pyBarcode - Create barcodes in Python without needing PIL. pygram - Instagram-like image filters. python-qrcode - A pure Python QR Code generator. Quads - Computer art based on quadtrees. scikit-image - A Python library for (scientific) image processing. thumbor - A smart imaging service. It enables on-demand crop, re-sizing and flipping of images. wand - Python bindings for MagickWand , C API for ImageMagick. OCRLibraries for Optical Character Recognition.
pyocr - A wrapper for Tesseract and Cuneiform. pytesseract - Another wrapper for Google Tesseract OCR . AudioLibraries for manipulating audio.
audiolazy - Expressive Digital Signal Processing (DSP) package for Python. audioread - Cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding. beets - A music library manager and MusicBrainz tagger. dejavu - Audio fingerprinting and recognition. django-elastic-transcoder - Django + Amazon Elastic Transcoder . eyeD3 - A tool for working with audio files, specifically MP3 files containing ID3 metadata. id3reader - A Python module for reading MP3 meta data. m3u8 - A module for parsing m3u8 file. mutagen - A Python module to handle audio metadata. pydub - Manipulate audio with a simple and easy high level interface. pyechonest - Python client for the Echo Nest API. talkbox - A Python library for speech/signal processing. TimeSide - Open web audio processing framework. tinytag - A library for reading music meta data of MP3, OGG, FLAC and Wave files. mingus - An advanced music theory and notation package with MIDI file and playback support. VideoLibraries for manipulating video and GIFs.
moviepy - A module for script-based movie editing with many formats, including animated GIFs. scikit-video - Video processing routines for SciPy. GeolocationLibraries for geocoding addresses and working with latitudes and longitudes.
GeoDjango - A world-class geographic web framework. GeoIP - Python API for MaxMind GeoIP Legacy Database. geojson - Python bindings and utilities for GeoJSON. geopy - Python Geocoding Toolbox. pygeoip - Pure Python GeoIP API. django-countries - A Django app that provides country choices for use with forms, flag icons static files, and a country field for models. HTTPLibraries for working with HTTP.
requests - HTTP Requests for Humans. grequests - requests + gevent for asynchronous HTTP requests. httplib2 - Comprehensive HTTP client library. treq - Python requests like API built on top of Twisted's HTTP client.