List of Python software

From Wikipedia, the free encyclopedia

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

  • A-A-P – a tool used to download, build and install software via Makefile-like "recipes".
  • Anaconda (installer) – an open-source system installer for Linux distributions primarily used in Fedora Linux, CentOS, and Red Hat Enterprise Linux.
  • Ansible – a configuration management engine for computers by combining multi-node software deployment and ad hoc task execution.
  • BitBake – a make-like build tool with the special focus of distributions and packages for embedded Linux cross compilation.
  • Buildbot – a continuous integration system.
  • Buildout – a software build tool, primarily used to download and set up development or deployment software dependencies.
  • GYP (Generate Your Projects) – a build automation tool (similar to CMake and Premake) to generate native IDE project files (e.g., Visual Studio, Xcode, etc.) from one configuration.
  • Mercurial – a cross-platform, distributed source management tool.
  • Pungi – an open-source distribution compose tool to organize creating YUM and system image repositories.
  • Salt – a configuration management and remote execution engine.
  • SCons – a tool for building software.
  • Waf – a build automation tool to assist automatic compiling and installing of computer software.

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.
  • Flet – is a framework that allows building web, desktop and mobile applications in Python based on Flutter by Google

Scientific packages

Machine learning and artificial intelligence

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.

Numerical libraries

  • NumPy, a BSD-licensed library that adds support for the manipulation of large, multi-dimensional arrays and matrices; it also includes a large collection of high-level mathematical functions. NumPy serves as the backbone for a number of other numerical libraries, notably SciPy. De facto standard for matrix/tensor operations in Python.
  • Pandas, a library for data manipulation and analysis.
  • SageMath is a large mathematical software application which integrates the work of nearly 100 free software projects and supports linear algebra, combinatorics, numerical mathematics, calculus, and more.[14]
  • SciPy,[15][16][17] a large BSD-licensed library of scientific tools. De facto standard for scientific computations in Python.
  • ScientificPython, a library with a different set of scientific tools
  • SymPy, a library based on New BSD license for symbolic computation. Features of Sympy range from basic symbolic arithmetic to calculus, algebra, discrete mathematics and quantum physics.

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).
  • Setuptoolspackage 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.[22]
  • Instagram's backend is written in Python.[23]
  • 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.[24][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."[25]
  • Reddit was originally written in Common Lisp, but was rewritten in Python in 2005.[26]
  • 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".[27]
  • 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:[28]

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

References

Related Articles

Wikiwand AI