Python is a Dynamic and strongly typed programming language. The Standard library contains a lot of useful modules to make your life easier. The language is rich in features, Algorithms, C APIs etc.
Functional Programming with Python.
- CyToolz - Cython implementation of Toolz: High performance functional utilities.
- fn.py - Functional programming in Python: implementation of missing features to enjoy FP.
- funcy - A fancy and practical functional tools.
- Toolz - A collection of functional utilities for iterators, functions, and dictionaries.
Libraries for starting and communicating with OS processes.
- envoy - Python subprocess for Humans™.
- sarge - Yet another wrapper for subprocess.
- sh - A full-fledged subprocess replacement for Python.
Libraries for concurrent and parallel execution.
- multiprocessing - (Python standard library) Process-based "threading" interface.
- threading - (Python standard library) Higher-level threading interface.
- eventlet - Asynchronous framework with WSGI support.
- gevent - A coroutine-based Python networking library that uses greenlet.
- Tomorrow - Magic decorator syntax for asynchronous code.
Libraries for Python version and environment management.
- p - Dead simple interactive Python version management.
- pyenv - Simple Python version management.
- PyRun - A one-file, no-installation-needed version of Python.
- Vex - Run a command in the named virtualenv.
- virtualenv - A tool to create isolated Python environments.
- virtualenvwrapper - A set of extensions to virtualenv.
Libraries for package and dependency management.
- pip - The Python package and dependency manager.
- 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.
Local PyPI repository server and proxies.
- warehouse - Next generation Python Package Repository (PyPI).
- bandersnatch - PyPI mirroring tool provided by Python Packaging Authority (PyPA)
- devpi - PyPI server and packaging/testing/release tool.
- localshop - PyPI server which mirrors official packages on-demand, and also supports local (private) package uploads.
Libraries 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.
Compile software from source code.
- buildout - A build system for creating, assembling and deploying applications from multiple parts, some of which may be non-Python-based.
- BitBake - A make-like build tool with the special focus of distributions and packages for embedded Linux.
- fabricate - A build tool that finds dependencies automatically for any language.
- PlatformIO - A console tool to build code with different development platforms.
- PyBuilder - A continuous build tool written in pure Python which mainly targets Python applications.
- SCons - A software construction tool.
Interactive Python interpreters (REPL).
- 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.
Libraries 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.
Libraries 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.
Libraries for parsing and manipulating plain texts.
- chardet - Python 2/3 compatible character encoding detector.
- difflib - (Python standard library) Helpers for computing deltas.
- esmre - Regular expression accelerator.
- 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 (漢字) 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
- 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.
Libraries for parsing and manipulating specific formats.
- General
- 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.
- python-docx - Reads, queries and modifies Microsoft Word 2007/2008 docx 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.
- 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.
Libraries for generating and working with logs.
- logging - (Python standard library) Logging facility for Python.
- logbook - Logging replacement for Python.
- Eliot - Logging for complex & distributed systems.
- Raven - The Python client for Sentry.
- Sentry - A realtime logging and aggregation server.
Libraries and tools for analysing, parsing and manipulation codebases.
- Code Analysis
- code2flow - Turn your Python and JavaScript code into DOT flowcharts.
- pycallgraph - A library that visualises the flow (call graph) of your Python application.
- pysonar2 - A type inferencer and indexer for Python.
- Linter
- Automated Refactoring
- isort - Automatically re-sorts and groups a projects import statements to conform to pep8 and/or internal coding standards. Fast and highly configurable.
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 making Python faster.
- Cython - Optimizing Static Compiler for Python. Uses type mixins to compile Python into C or C++ modules resulting in large performance gains.
- PyPy - An implementation of Python in Python. The interpreter uses black magic to make Python very fast without having to add in additional type information.
- Pyston - A Python implementation built using LLVM and modern JIT techniques with the goal of achieving good performance.
- Stackless Python - An enhanced version of the Python.
Python implementation of algorithms and design patterns.
- algorithms - A module of algorithms for Python.
- python-patterns - A collection of design patterns in Python.
Libraries for migrating from Python 2 to 3.
- Python-Future - The missing compatibility layer between Python 2 and Python 3.
- Python-Modernize - Modernizes Python code for eventual Python 3 migration.
- Six - Python 2 and 3 compatibility utilities.
The following people helped in creating the above content.
- Contributors to awesome-python
- Timothy Edmund Crosley
- Álvaro Justen