List of Python software

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

edit

Unit testing frameworks

edit

Python package managers and Python distributions

edit

Applications

edit

Productivity

edit

Multimedia

edit

Gaming

edit

File hosting

edit

Network tools

edit
  • 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

edit

Software management

edit
  • 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

edit

Web applications

edit

Video games

edit

Web frameworks

edit
  • 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.
  • Jam.py (web framework) – a "full stack" WSGI rapid application development framework.
  • 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

edit

UI frameworks

edit
  • 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.

Scientific packages

edit

Machine learning and artificial intelligence

edit

Mathematical libraries

edit
  • 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).
  • 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

edit
  • 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.[13]
  • SciPy,[14][15][16] 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

edit
  • 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

edit

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

Commercial uses

edit
  • CCP Games uses Stackless Python in both its server-side and client-side applications for its MMO Eve Online.[21]
  • Instagram's backend is written in Python.[22]
  • 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.[23][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."[24]
  • Reddit was originally written in Common Lisp, but was rewritten in Python in 2005.[25]
  • 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".[26]
  • Enthought uses Python as the main language for many custom applications in Geophysics, Financial applications, Astrophysics, simulations for consumer product companies.

Python implementations

edit

Implementations of Python include:[27]

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

edit

References

edit
  1. ^ "Python Programming in Emacs". September 2017.
  2. ^ "Use Vim as a Python IDE | SpaceVim".
  3. ^ "pip documentation v25.2".
  4. ^ "OrganizationsUsingPython - Python Wiki".
  5. ^ "OrganizationsUsingPython - Python Wiki".
  6. ^ Mine, Mark R.; Shochet, Joe; Hughston, Roger (2003). "Building a massively multiplayer game for the million". Computers in Entertainment. 1: 1–20. doi:10.1145/950566.950589. S2CID 13977231.
  7. ^ "Toontown 2013 Source". GitHub. 17 November 2021.
  8. ^ "SpongeBob SquarePants: Revenge of the Flying Dutchman .DGC - ZenHAX". zenhax.com. Retrieved 2022-09-13.
  9. ^ "TXT · Jellonator/chum-world Wiki". GitHub. Retrieved 2022-09-13.
  10. ^ "The Sims 4 Creator's Camp: Modding Masterclass". Sims VIP. 4 August 2014. Retrieved 17 March 2018.
  11. ^ "Vampire: The Masquerade – Bloodlines – Mod Developer Guide – PC – By rezzzman – GameFAQs". gamefaqs.gamespot.com. Retrieved 2020-09-11.
  12. ^ "This is GameDev, baby! Interview with developers of World of Tanks – HackMag". hackmag.com.
  13. ^ Zimmermann, P., Casamayou, A., Cohen, N., Connan, G., Dumont, T., Fousse, L., ... & Bray, E. (2018). Computational Mathematics with SageMath. SIAM.
  14. ^ Jones, E., Oliphant, T., & Peterson, P. (2001). SciPy: Open source scientific tools for Python.
  15. ^ Bressert, E. (2012). SciPy and NumPy: an overview for developers. " O'Reilly Media, Inc.".
  16. ^ Blanco-Silva, F. J. (2013). Learning SciPy for numerical and scientific computing. Packt Publishing Ltd.
  17. ^ Kosak, Dave 'Fargo' (27 October 2005). "GameSpy: Civilization IV". GameSpy. pp. 1–3. 662218. Archived from the original on 6 December 2013. Retrieved 24 October 2009.
  18. ^ O'Hanlon, Martin (2020-09-04), martinohanlon/mcpi, retrieved 2020-09-11
  19. ^ "What is Rhino.Python?". developer.rhino3d.com.
  20. ^ "What is Rhino.Python?". developer.rhino3d.com. Retrieved 2021-04-15.
  21. ^ "EVE Online | Frequently Asked Questions". EVE Online. 2008-07-05. Archived from the original on 2009-02-22.
  22. ^ McCracken, Harry (June 23, 2015). "Do The Simple Thing First: The Engineering Behind Instagram". Fast Company.
  23. ^ "NASA Open Source Software". code.nasa.gov. Retrieved 2020-10-26.
  24. ^ Quotes about Python Peter Norvig, director of search quality at Google, Inc.
  25. ^ "on lisp". Upvoted. Retrieved 2018-12-05.
  26. ^ Quotes about Python Cuong Do, Software Architect, YouTube.com.
  27. ^ "PythonImplementations". Python Wiki. Python Software Foundation. Retrieved 2017-12-14.
  28. ^ "What's New In Python 3.11 — Python 3.11.0rc1 documentation". docs.python.org. Retrieved 2022-08-15.
  29. ^ "ActivePython". ActiveState.com. ActiveState Software. Retrieved 2017-12-14.
  30. ^ "Intel Distribution for Python". Intel Software. Intel. Retrieved 2017-12-14.
  31. ^ "Download Python". Python.org. Python Software Foundation. Retrieved 2017-12-14.
edit