The Python programming language is actively used by many people, both in industry and academia, for a wide variety of purposes.

Integrated Development Environments (IDEs) for Python

Unit testing frameworks

Python package managers and Python distributions

Applications

Productivity

Multimedia

Gaming

File hosting

Network tools

  • Celery – an asynchronous task queue/job queue based on distributed message passing.
  • Conch – implementation of the Secure Shell (SSH) protocol with Twisted.
  • Shinken – a computer system and network monitoring software application compatible with Nagios.
  • Wicd – a network manager for Linux.
  • Xpra – a tool which runs X clients, usually on a remote host, and directs their display to the local machine without losing any state.

Package managers

Software management

Other

Web applications

Video games

Web frameworks

  • BlueBream – a rewrite by the Zope developers of the Zope 2 web application server.
  • CherryPy – an object-oriented web application server and framework.
  • CubicWeb – a web framework that targets large-scale semantic web and linked open data applications and international corporations.
  • Django – an MVT (model, view, template) web framework.
  • Flask – a modern, lightweight, well-documented micro-framework based on Werkzeug and Jinja 2.
  • Google App Engine – a platform for developing and hosting web applications in Google-managed data centers, including Python.
  • Grok – a web framework based on Zope Toolkit technology.
  • Nevow – a web application framework originally developed by the company Divmod.
  • Pylons – a lightweight web framework emphasizing flexibility and rapid development.
  • Pyramid – a minimalistic web framework inspired by Zope, Pylons and Django.
  • Python Paste – a set of utilities for web development that has been described as "a framework for web frameworks".
  • Quixote – a framework for developing Web applications in Python.
  • RapidSMS – a web framework which extends the logic and capabilities of Django to communicate with SMS messages.
  • Spyce – a technology to embed Python code into webpages.
  • Tornado – a lightweight non-blocking server and framework.
  • TurboGears – a web framework combining SQLObject/SQLAlchemy, Kid/Genshi, and CherryPy/Pylons.
  • web2py – a full-stack enterprise web application framework, following the MVC design.
  • Zope 2 – an application server, commonly used to build content management systems.

Graphics frameworks

UI frameworks

  • appJar – cross-platform, open-source GUI library for Python. Provides easy wrapper functions around most of Tkinter with extra functionality built in.
  • Kivy – open-source Python library for developing multitouch application software with a natural user interface (NUI).
  • PyGTK – a popular cross-platform GUI library based on GTK+; furthermore, other GNOME libraries also have bindings for Python.
  • PyQt – another cross-platform GUI library based on Qt; as above, KDE libraries also have bindings.
  • PySide – an alternative to the PyQt library, released under the BSD-style licence.
  • Tkinter – is Python's de facto GUI it is shipped in most versions of Python and is integrated in the IDLE. It is based Tcl command tool.
  • wxPython – a port of wxWidgets and a cross-platform GUI library for Python.
  • – is a framework that allows building web, desktop and mobile applications in Python based on Flutter by Google

Scientific packages

Machine learning and deep learning

Mathematical libraries

  • CuPy – a library for GPU-accelerated computing.
  • Dask – a library for parallel computing.
  • Manim – open-source Python mathematical animation and visualisation library from 3Blue1Brown.
  • Mathics – an open-source implementation of the Mathematica programming language.
  • Matplotlib – providing MATLAB-like plotting and mathematical functions (using NumPy).
  • NetworkX – library for studying graphs and networks
  • NumPy – a language extension that adds support for large and fast, multi-dimensional arrays and matrices.
  • Plotly – is a scientific plotting library for creating browser-based graphs.
  • SageMath – is a large mathematical software application which integrates the work of nearly 100 free software projects.
  • SymPy – a symbolic mathematical calculations package.
  • PyMC – python module containing Bayesian statistical models and fitting algorithms, including Markov chain Monte Carlo.

Additional development packages

  • Beautiful Soup – package for parsing HTML and XML documents.
  • Cheetah – Python-powered template engine and code-generation tool.
  • Construct – python library for the declarative construction and deconstruction of data structures.
  • Genshi – template engine for XML-based vocabularies.
  • IPython – development shell both written in and designed for Python.
  • Jinja – Python-powered template engine, inspired by Django's template engine.
  • Kid – simple template engine for XML-based vocabularies.
  • Meson build system – software tool for automating the building (compiling) of software.
  • mod_wsgi – module that provides a WSGI compliant interface for hosting Python based web applications with the Apache web server.
  • PyObjC – Python to Objective-C bridge that allows writing OS X software in Python.
  • Robot Framework – generic test automation framework for acceptance testing and acceptance test-driven development (ATDD).
  • Setuptools – package development process library designed to facilitate packaging Python projects by enhancing the Python distutils (distribution utilities) standard library.
  • Sphinx – which converts reStructuredText files into HTML websites and other formats including PDF, EPub and Man pages.
  • SQLAlchemy – database backend and ORM.
  • SQLObject – an ORM for providing an object interface to a database.
  • Storm – an ORM from Canonical.
  • Twisted – a networking framework for Python.
  • VPython – the Python programming language plus a 3D graphics module called Visual.

Embedded as a scripting language

Python is, or can be used as the scripting language in these notable software products:

Commercial uses

  • CCP Games uses Stackless Python in both its server-side and client-side applications for its MMO Eve Online.
  • Instagram's backend is written in Python.
  • NASA is using Python to implement a CAD/CAE/PDM repository and model management, integration, and transformation system which will be the core infrastructure for its next-generation collaborative engineering environment.[non-primary source needed] It is also the development language for OpenMDAO, a framework developed by NASA for solving multidisciplinary design optimization problems.
  • "Python has been an important part of Google since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python."
  • Reddit was originally written in Common Lisp, but was rewritten in Python in 2005.
  • Yahoo! Groups uses Python "to maintain its discussion groups".[citation needed]
  • YouTube uses Python "to produce maintainable features in record times, with a minimum of developers".
  • Enthought uses Python as the main language for many custom applications in Geophysics, Financial applications, Astrophysics, simulations for consumer product companies.

Python implementations

Implementations of Python include:

  • CLPython – Implementation, written in Common Lisp.
  • CPython – The reference implementation, written in C11. Some notable distributions include: ActivePython – Distribution with more than 300 included packages. Intel Distribution for Python – High performance distribution with conda and pip package managers. PSF Python – Reference distribution that includes only selected standard libraries
  • Cython – programming language to simplify writing C and C++ extension modules for the CPython Python runtime.
  • IronPython – Python for CLI platforms (including .NET and Mono).
  • Jython – Python for Java platforms.
  • MicroPython – Python 3 implementation for micro-controller platforms.
  • Nuitka – a source-to-source compiler which compiles Python code to C/C++ executables, or source code.
  • NumbaNumPy aware LLVM-based JIT compiler.
  • PyPy – Python (originally) coded in Python, used with RPython, a restricted subset of Python that is amenable to static analysis and thus a JIT.
  • Shed Skin – a source-to-source compiler from Python to C++.

Historic Python implementations include:

  • Parrot – Virtual machine being developed mainly as the runtime for Raku, and intended to support dynamic languages like Python, Ruby, Tcl, etc.
  • Psyco – specialized JIT compiler project that has mostly been eclipsed by PyPy.
  • Pyrex – Python-like Python module development project that has mostly been eclipsed by Cython.
  • Python for S60 – CPython port to the S60 platform.
  • Stackless Python – CPython with coroutines.
  • Unladen Swallow – performance-orientated implementation based on CPython which natively executed its bytecode via an LLVM-based JIT compiler. Funded by Google, stopped circa 2011.

See also

External links

  • (formerly the Python Cheese Shop) is the official directory of Python software libraries and modules
  • in the Python.org wiki
  • – a list of projects that make use of Python
  • – Multi-platform table of various Python editors