List of Python software: Difference between revisions

Content deleted Content added
m Reverted edit by Ai trend sphere (talk) to last version by LizardJr8
Tags: Rollback Mobile edit Mobile web edit
 
Line 1:
{{Short description|none}}
The [[Python programming language]] is actively used by many people, both in industry and academia for a wide variety of purposes. [http://pythonology.com/success Pythonology] lists numerous Python success stories in many types of application and problem domains.
{{More citations needed|date=March 2012}}
 
The [[Python (programming language)|Python programming language]] is actively used by many people, both in industry and academia, for a wide variety of purposes.
== Major organizations using Python ==
* [[Google]] uses Python for many tasks including the backends of web apps such as [[Gmail]] and [[Google Maps]] and for many of its search-engine internals.
* [[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.
 
==Integrated Development Environments (IDEs) for Python==
== Educational uses of Python ==
{{See also|Comparison of Python IDEs}}
As of [[As of 2005|2005]], Python is getting more popular for teaching computer programming. Its strengths for teaching include its syntactic simplicity, flexible typing, and interactive interpreter.
* [[Atom (text editor)|Atom]], an [[Open-source software|open source]] [[cross-platform]] IDE with [[autocomplete]], help and more Python features under package extensions.
* [[Codelobster]], a [[cross-platform]] IDE for various languages, including Python.
* [[EasyEclipse]], an open source IDE for Python and other languages.
* [[Eclipse (software)|Eclipse]] ,with the Pydev plug-in. Eclipse supports many other languages as well.
* [[Emacs]], with the built-in python-mode.<ref>{{Cite web|url=https://www.seas.upenn.edu/~chaoliu/2017/09/01/python-programming-in-emacs/|title=Python Programming in Emacs|date=September 2017}}</ref>
* [[Eric Python IDE|Eric]], an IDE for Python and [[Ruby (programming language)|Ruby]]
* [[Geany]], IDE for Python development and other languages.
*[[IDLE]], a simple IDE bundled with the default implementation of the language.
*[[Jupyter notebook|Jupyter Notebook]], an IDE that supports [[markdown]], [[Python (programming language)|Python]], [[Julia (programming language)|Julia]], [[R (programming language)|R]] and several other languages.
* [[Komodo IDE]] an IDE PHOTOS Python, [[Perl]], [[PHP]] and Ruby.
* [[NetBeans]], is written in [[Java (programming language)|Java]] and runs everywhere where a [[Java virtual machine|JVM]] is installed.
* [[Ninja-IDE]], free software, written in Python and [[Qt (framework)|Qt]], Ninja name stands for Ninja-IDE Is Not Just Another IDE
* [[PyCharm]], a proprietary and Open Source IDE for Python development.
* [[PythonAnywhere]], an online [[Integrated development environment|IDE]] and [[Web hosting service]].
* [[Python Tools for Visual Studio]], Free and open-source plug-in for [[Microsoft Visual Studio|Visual Studio]].
* [[Spyder (software)|Spyder]], IDE for scientific programming.
* [[Vim (text editor)|Vim]], with "lang#python" layer enabled.<ref>{{Cite web|url=https://spacevim.org/use-vim-as-a-python-ide/|title=Use Vim as a Python IDE &#124; SpaceVim}}</ref>
* [[Visual Studio Code]], an Open Source IDE for various languages, including Python.
* [[Wing IDE]], cross-platform proprietary with some free versions/licenses IDE for Python.
* [[Replit]], an online IDE that supports multiple languages.
 
==Unit testing frameworks==
Python uses far fewer symbols than languages like Java and C. For example blocks inside loops and IF statements are indicated by indentation rather than curly braces ({}), and the end of a line does not have to have a semicolon. Beginning students often have initial trouble with memorizing where curly braces and semi-colons go. With Python students can skip directly to the fun part of writing code that does something. Similarly, with Java, and C++, variables types must be declared before being used. That is not needed in Python which again allows students to quickly get to the interesting part of getting their program to do something.
{{Further|List of unit testing frameworks#Python}}
 
==Python package managers and Python distributions==
The interactive interpreter is an extremely valuable aid to learning and experimentation. Learning-by-doing is about trying things out and seeing what happens. The faster you can get results from your experiment, the faster that learning produces results. Experience has shown that the interactive interpreter and lack of a compiler really speeds up the learning process, both for beginners and for pros who are learning a new library and such.
* [[Anaconda (Python distribution)|Anaconda]], Python distribution with <code>conda</code> [[package manager]]
* [[Enthought]], Enthought Canopy Python with Python [[package manager]]
* [[Pip (package manager)|pip]], package [[management system]] used to install and manage software written in Python
 
==Applications==
== Software written in Python ==
* [[A-A-P]], a tool used to download, build and install software via [[Make (software)|Makefile-like]] "recipes"
* [[Anaconda (installer)]], an open-source system installer for Linux distributions primarily used in [[Fedora Linux]], [[CentOS]], and [[Red Hat Enterprise Linux]].
* [[Anki (software)|Anki]], a [[spaced repetition]] [[flashcard]] program
* [[Ansible (software)|Ansible]], a [[configuration management]] engine for computers by combining [[Transverse mode|multi-node]] software deployment and ''ad hoc'' task execution
* [[Bazaar (software)|Bazaar]], a free distribution deed revision computer control system
* [[BitBake]], a make-like build tool with the special focus of distributions and packages for embedded [[Linux]] cross [[Compiler|compilation]]
* [[BitTorrent (software)|BitTorrent]], original [[Client–server model|client]], along with several derivatives
* [[Buildbot]], a [[continuous integration]] system
* [[Buildout]], a software build tool, primarily used to download and set up development or deployment software dependencies
* [[Calibre (software)|Calibre]], an open source e-book management tool
* [[Celery (software)|Celery]], an asynchronous task queue/job queue based on distributed message passing
* [[Chandler (software)|Chandler]], a [[personal information manager]] including calendar, email, tasks and notes support that is not currently under development
* [[Cinema 4D]], a 3D art and animation program for creating intros and 3-Dimensional text. Has a built in Python scripting console and engine.
* [[Conch (SSH)|Conch]], implementation of the [[Secure Shell]] (SSH) protocol with [[Twisted (software)|Twisted]]
* [[Deluge (software)|Deluge]], a ça [[BitTorrent]] client for [[GNOME]]
* [[Dropbox (service)|Dropbox]], a web-based file hosting service
* [[Exaile]], an open source [[Media player software|audio player]]
* [[Gajim]], an [[instant messaging]] client for the Extensible Messaging and Presence Protocol ([[XMPP]])
* [[GlobaLeaks]], an open-source whistleblowing framework
* [[GNOME SoundConverter]], a program to convert sound files to various formats and qualities; a wrapper around [[GStreamer]]
* [[Gramps (software)|Gramps]], an open source [[genealogy software]]
* [[Gunicorn]], a pre-fork [[web server]] for [[Web Server Gateway Interface]] (WSGI) applications
* [[GYP (software)|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
* [[Image Packaging System]] (IPS), an advanced, cross-platform [[package manager]] used in mosty [[Oracle Solaris|Solaris]] and [[OpenSolaris]]–[[illumos]] derivatives
* [[Juice (aggregator)|Juice]], a popular [[podcast]] downloader
* [[Mercurial]], a cross-platform, distributed source management tool
* [[Miro (software)|Miro]], a cross-platform [[internet television]] application
* [[Morpheus (file-sharing software)|Morpheus]], a [[file sharing]] client/server software operated by the company StreamCast
* [[MusicBrainz Picard]], a cross-platform [[MusicBrainz]] tag editor
* [[Nicotine (software)|Nicotine]], a [[PyGTK]] [[Soulseek]] client
* [[OpenLP]], lyrics projection software
* [[OpenShot]], a video editor
* [[OpenStack]], a [[cloud computing]] IaaS platform
* [[Pip (package manager)|Pip]], a [[package manager]] used to install and manage Python software packages such as those from the [[Python Package Index]] (PyPI) [[software repository]]
* [[PiTiVi]], a video [[non-linear editing]] system
* [[Portage (software)|Portage]], the heart of Gentoo Linux, an advanced package manager based on the BSD-style ports system
* [[Pungi (software)|Pungi]], an open-source distribution compose tool to organize creating [[Yum (software)|YUM]] and system image repositories
* [[PyChess]], a cross-platform computer chess program
* [[Quake Army Knife]], an environment for developing 3D maps for games based on the [[Quake engine]]
* [[Quod Libet (software)|Quod Libet]], a cross-platform free and open source music player, tag editor and library organizer
* [[Resolver One]], a [[spreadsheet]]
* [[SageMath]], a combination of more than 20 main opensource math packages and provides easy to use web interface with the help of Python
* [[Salt (software)|Salt]], a configuration management and remote execution engine
* [[SCons]], a tool for building software
* [[Shinken (software)|Shinken]], a computer system and [[network monitoring]] software application compatible with [[Nagios]]
* [[TouchDesigner]], a node based [[visual programming language]] for real time interactive multimedia content
* [[Tryton]], a three-tier high-level general purpose computer application platform
* [[Ubuntu Software Center]], a graphical [[package manager]], installed by default in [[Ubuntu]] releases starting in 9.10 and ending in 16.04
* [[Wicd]], a network manager for [[Linux]]
* Yellowdog Updater, Modified ([[yum (software)|YUM]]), a package management utility for RPM-compatible Linux operating systems
* [[Waf (build system)|Waf]], a build automation tool to assist automatic compiling and installing of computer software
* [[Xpra]], a tool which runs X clients, usually on a remote host, and directs their display to the local machine without losing any state
 
==Web applications==
* [[BitTorrent]], the original implementation and several derivatives
* [[Allura (software)|Allura]], an [[Apache Software Foundation|ASF]] software forge for managing [[source code]] [[Repository (version control)|repositories]], bug reports, discussions, wiki pages, blogs and more for multiple projects
* [[Chandler (PIM)|Chandler]] is a personal information manager including calendar, email, tasks and notes support that is currently under development. It has several speed issues.
* [[Bloodhound (software)|Bloodhound]], an [[Apache Software Foundation|ASF]] project management and bug tracking system
* [[Civ_4|Civilization IV]] videogame and the newly released computer game uses [[Boost library|boost.python]] to allow the [[Python programming language]] access to many parts of the game (including the style and content of all interface screens)
* [[ERP5]], a powerful open source ERP / CRM used in Aerospace, Apparel, Banking and for [[e-government]]
* [[GNU Mailman|Mailman]], one of the more popular packages for running email mailing lists
* [[MoinMoinERPNext]], aan popularopen wikisource engineERP in/ PythonCRM
* [[FirstVoices]], an open source [[language revitalization]] platform
* [[OpenRPG]] provides a virtual table on which to play Role Playing Games over the internet
* [[Kallithea (software)|Kallithea]], a source code management system
* [[Plone (content management system)|Plone]], a user-friendly and powerful open source Content Management System
* [[PortageMailman (software)|PortageMailman]], the heartone of Gentoothe Linux.more Anpopular advancedpackages package management system based on thefor *BSDrunning styleemail portsmailing systemlists
* [[Solipsis|SolipsisMakeHuman]], afree systemsoftware for massivelycreating sharedrealistic virtual3D worldhumans.
* [[MoinMoin]], a [[Wiki software|wiki engine]]
* [[Trac]] - bug/issue tracking database, integrated with [[MoinMoin]] wiki and [[Subversion (software)|Subversion]] source version control
* [[Odoo]] (formerly OpenERP), business management software
* [[Turbogears]] - An application framework composed of [[Cherrypy]], [[SQLObject]], [[MochiKit]], and [[KID templates]]
* [[Planet (software)|Planet]], a [[News aggregator|feed aggregator]]
* [[Vampire: The Masquerade - Bloodlines]], a videogame, uses Python for game scripting
* [[Plone (software)|Plone]], an open source [[content management system]]
* [[Roundup (issue tracker)|Roundup]], a bug tracking system
* [[Tor2web]], an HTTP proxy for [[Tor (anonymity network)#Hidden services|Tor Hidden Services (HS)]]
* [[Trac]], web-based bug/issue tracking database, wiki, and version control front-end
* [[ViewVC]], a web-based interface for browsing [[Concurrent Versions System|CVS]] and [[Subversion (software)|SVN]] repositories
* [[Zope]], an object-oriented web-application platform. Zope includes an application server with an integrated object-oriented database and a built-in web-based management interface
* [[Battlefield_2|Battlefield 2]], is a first person shooter that uses python for its configuration scripts
* [http://teavuihuang.com/tsunamidetector Indian Ocean Tsunami Detector], a free mobile phone software for tsunami prediction.
* [[Eve_online|EVE Online]], is a space Multi Massive Online Role Playing Game, and is the Highest Ranked MMORPG on [http://mmorpg.com/ MMORPG.com]
* [http://pythonide.stani.be SPE - Stani's Python Editor] &mdash; Free, open-source Python IDE for Windows, Linux & Mac with wxGlade (GUI designer), PyChecker (Code Doctor) and Blender (3D) support.
 
==Video games==
== Packages for Python ==
* [[Battlefield 2]] uses Python for all of its add-ons and a lot of its functionality.<ref>{{Cite web|url=https://wiki.python.org/moin/OrganizationsUsingPython|title = OrganizationsUsingPython - Python Wiki}}</ref>
* [[Bridge Commander]]<ref>{{Cite web|url=https://wiki.python.org/moin/OrganizationsUsingPython|title = OrganizationsUsingPython - Python Wiki}}</ref>
* [[Disney's Toontown Online]] is written in Python and uses [[Panda3D]] for graphics.<ref>{{Cite journal|url=https://dl.acm.org/doi/10.1145/950566.950589|doi = 10.1145/950566.950589|title = Building a massively multiplayer game for the million|year = 2003|last1 = Mine|first1 = Mark R.|last2 = Shochet|first2 = Joe|last3 = Hughston|first3 = Roger|journal = Computers in Entertainment|volume = 1|pages = 1–20|s2cid = 13977231|url-access = subscription}}</ref><ref>{{Cite web|url=https://github.com/peppythegod/ToontownOnline|title=Toontown 2013 Source|website=[[GitHub]]|date=17 November 2021}}</ref>
* [[Doki Doki Literature Club!]], a psychological horror visual novel using the [[Ren'Py]] engine
* [[Eve Online]] uses [[Stackless Python]].
* [[Frets on Fire]] is written in Python and uses [[Pygame]]
* [[Mount & Blade]] is written in Python.{{citation needed|date=May 2021}}
* [[Pirates of the Caribbean Online]] is written in Python and uses Panda3D for graphics.{{citation needed|date=May 2021}}
* [[SpongeBob SquarePants: Revenge of the Flying Dutchman]] uses Python as a scripting language.<ref>{{Cite web |title=SpongeBob SquarePants: Revenge of the Flying Dutchman .DGC - ZenHAX |url=https://zenhax.com/viewtopic.php?t=262 |access-date=2022-09-13 |website=zenhax.com}}</ref><ref>{{Cite web |title=TXT · Jellonator/chum-world Wiki |url=https://github.com/Jellonator/chum-world |access-date=2022-09-13 |website=GitHub |language=en}}</ref>
* [[The Sims 4]] uses Python<ref>{{cite web|title=The Sims 4 Creator's Camp: Modding Masterclass|url=https://simsvip.com/2014/08/04/the-sims-4-creators-camp-modding-masterclass/|website=Sims VIP|date=4 August 2014|access-date=17 March 2018}}</ref>
* [[The Temple of Elemental Evil (video game)|The Temple of Elemental Evil]], a computer role-playing game based on the classic [[Greyhawk]] Dungeons & Dragons campaign setting
* [[Unity of Command (video game)]] is an operational-level wargame about the 1942–43 Stalingrad Campaign on the Eastern Front.{{citation needed|date=May 2021}}
* [[Vampire: The Masquerade – Bloodlines]], a computer role-playing game based on the [[World of Darkness]] campaign setting<ref>{{Cite web|title=Vampire: The Masquerade – Bloodlines – Mod Developer Guide – PC – By rezzzman – GameFAQs|url=https://gamefaqs.gamespot.com/pc/914819-vampire-the-masquerade-bloodlines/faqs/54295|access-date=2020-09-11|website=gamefaqs.gamespot.com}}</ref>
* [[Vega Strike]], an open source space simulator, uses Python for internal scripting{{citation needed|date=May 2021}}
* [[World of Tanks]] uses Python for most of its tasks.<ref>{{Cite web|url=https://hackmag.com/devops/interview-with-wot-developers/|title=This is GameDev, baby! Interview with developers of World of Tanks – HackMag|website=hackmag.com}}</ref>
 
==Web frameworks==
The [http://www.python.org/pypi Python Cheese Shop] and [http://www.vex.net/parnassus/ Vaults of Parnassus] are two primary directories of hundreds of Python packages
{{See also|Comparison of server-side web frameworks}}
* [[BlueBream]], a rewrite by the [[Zope]] developers of the Zope 2 web application server
* [[CherryPy]], an [[Object-oriented programming|object-oriented]] web application server and framework
* [[CubicWeb]], a web framework that targets large-scale [[Semantic Web|semantic web]] and [[Linked data|linked open data]] applications and international corporations
* [[Django (web framework)|Django]], an MVT (model, view, template) web framework
* [[Flask (web framework)|Flask]], a modern, lightweight, well-documented microframework based on Werkzeug and [[Jinja (template engine)|Jinja]] 2
* [[Google App Engine]], a platform for developing and hosting web applications in Google-managed data centers, including Python.
* [[Grok (web framework)|Grok]], a web framework based on Zope Toolkit technology
* [[Jam.py (web framework)]], a "[[web framework|full stack]]" [[Web Server Gateway Interface|WSGI]] [[rapid application development]] framework
* [[Nevow]], a web application framework originally developed by the company Divmod
* [[Pylons (web framework)|Pylons]], a lightweight web framework emphasizing flexibility and rapid development
* [[Pyramid (web framework)|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 (web framework)|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 (software)|Spyce]], a technology to embed Python code into webpages
* [[Tornado (web server)|Tornado]], a lightweight non-blocking server and framework
* [[TurboGears]], a web framework combining [[SQLObject]]/[[SQLAlchemy]], [[Kid (templating language)|Kid]]/[[Genshi (templating language)|Genshi]], and [[CherryPy]]/[[Pylons project|Pylons]]
* [[web2py]], a full-stack enterprise web application framework, following the MVC design
* [[Zope 2]], an application server, commonly used to build [[content management system]]s
 
==Graphics frameworks==
* [[matplotlib]], http://matplotlib.sf.net ,an extension providing matlab-like plotting and mathematical functions
* [[Pygame]], Python bindings for [[Simple DirectMedia Layer|SDL]]
* [[Numeric Python]], a language extension that adds support for large, multi-dimensional arrays and matrices
* [[SciPyPanda3D]], a library3D ofgame scientificengine andfor numerical routinesPython
* [http://www.biopython.org Biopython] - The Biopython Project is an international association of developers of freely available Python tools for computational molecular biology.
* [http://www.py3d.org Python 3D] - py3d.org is everything to do with 3D and python.
 
* [[Pygame]] http://www.pygame.org Python game development
* [[Python Imaging Library]], a module for working with images
* [[Python-Ogre]], a Python Language binding for the OGRE 3D engine
* [[PyGTK]], http://www.pygtk.org/, a popular cross-platform GUI library based on GTK+; furthermore, other [[GNOME]] libraries also have bindings for Python
* [http://www.riverbankcomputing.co.uk/pyqt/ PyQt], another popular cross-platform GUI library based on Qt; as above, [[KDE]] libraries have bindings too
* [http://www.wxpython.org/ wxPython], a port of [[wxWidgets]] and a popular cross-platform GUI library for Python
 
==UI frameworks==
* [http://pyobjc.sourceforge.net/ PyObjC] Python-Objective C bridge that allows one to write Mac OS X software in Python
* [[appJar]], cross-platform, open source GUI library for Python. Provides easy wrapper functions around most of [[Tkinter]] with extra functionality built in.
* [http://www.py2exe.org/ py2exe] Convert python scripts into standalone windows programs
* [[Kivy (framework)|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 [[graphical user interface|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==
* [http://cherrypy.org CherryPy], a Python-powered web framework
* [[Astropy]], a library of Python tools for astronomy and astrophysics.
* [http://www.djangoproject.com Django], another Python-powered web framework
* [[Topsite Templating SystemBiopython]], anothera Python-powered webmolecular biology frameworksuite
* [[Gensim]], a library for [[natural language processing]], including unsupervised [[topic modeling]] and [[information retrieval]]
* [[TurboGears]], a web framework combining CherryPy, SQLObject, and Kid
* [[graph-tool]], a Python module for manipulation and statistical analysis of graphs.
* [http://zope.org/Wikis/ZODB/FrontPage/guide/zodb.html ZODB] a Python-specific object-oriented database
* [[Natural Language Toolkit]], or NLTK, a suite of libraries and programs for symbolic and statistical [[natural language processing]] (NLP) for English
* [[Orange (software)|Orange]], an [[open-source software|open-source]] visual programming tool featuring [[interactive data visualization|interactive]] [[data visualization]] and methods for statistical [[data analysis]], [[data mining]], and [[machine learning]].
* [[NetworkX]], a package for the creation, manipulation, and study of [[complex network]]s.
* [[SciPy]], collection of packages for mathematics, science, and engineering
* [[scikit-learn]], a library for machine learning.
* [[TomoPy]], a package for tomographic data processing and image reconstruction
* [[Veusz]], a scientific plotting package
* [[VisTrails]], a scientific workflow and provenance management software with visual programming interface and integrated visualization (via Matplotlib, VTK).
* [[Apache Singa]], a library for [[deep learning]].
 
==Mathematical libraries==
* [[CuPy]], a library for GPU-accelerated computing
* [[Dask (software) | Dask]], a library for parallel computing
*[[Manim#Manim|Manim]] - open-source Python mathematical animation and visualisation library from [[3Blue1Brown]]
* [[Mathics]], an open-source implementation of the [[Mathematica (programming language)|Mathematica]] programming language
* [[Matplotlib]], providing [[MATLAB]]-like plotting and mathematical functions (using NumPy).
* [[NumPy]], a language extension that adds support for large and fast, [[Array data type|multi-dimensional arrays]] and matrices
* [[Plotly]] is a scientific plotting library for creating browser-based [[Graph theory|graphs]].
* [[SageMath]] is a large mathematical software application which integrates the work of nearly 100 [[free software]] projects.
* [[SymPy]], a symbolic mathematical calculations package
* [[PyMC3|PyMC]], python module containing [[Bayesian inference|Bayesian statistical]] models and fitting algorithms, including Markov chain Monte Carlo.
 
==Numerical libraries==
{{#section-h::List_of_numerical_libraries|[[Python (programming language)|Python]]}}
 
==Additional development packages==
* [[Beautiful Soup (HTML parser) | Beautiful Soup]], a package for parsing HTML and XML documents
* [[CheetahTemplate|Cheetah]], a Python-powered template engine and code-generation tool
* [[Construct (python library)|Construct]], a python library for the declarative construction and deconstruction of data structures
* [[mod_python]], an [[Apache server|Apache]] module allowing direct integration of Python scripts with the Apache web server
* [[Genshi (templating language)|Genshi]], a template engine for XML-based vocabularies
* [http://www.mems-exchange.org/software/quixote/ Quixote] a framework for developing Web applications in Python
* [[TwistedIPython]], a networkingdevelopment frameworkshell both written in and designed for Python
* [[Jinja (template engine)|Jinja]], a Python-powered template engine, inspired by [[Django (web framework)|Django]]'s template engine
* [[Kid (templating language)|Kid]], simple template engine for XML-based vocabularies
* [[Meson build system]], a software tool for automating the building (compiling) of software
* [[mod_wsgi]], module that provides a [[Web Server Gateway Interface|WSGI]] compliant interface for hosting [[Python (programming language)|Python]] based [[Web application|web applications]] with the [[Apache HTTP Server|Apache]] web server
* [[PyObjC]], a Python to Objective-C bridge that allows writing OS X software in Python
* [[Robot Framework]], a generic test automation framework for acceptance testing and acceptance test-driven development (ATDD)
* [[Setuptools]], a [[package development process]] library designed to facilitate packaging Python projects by enhancing the Python {{mono|distutils}} (distribution utilities) standard library.
* [[Sphinx (documentation generator)|Sphinx]], which converts [[reStructuredText]] files into [[HTML]] websites and other formats including [[PDF]], [[EPub]] and [[Man pages]]
* [[SQLAlchemy]], database backend and [[object-relational mapping|ORM]]
* [[SQLObject]], an ORM for providing an object interface to a database
* [[Storm (software)|Storm]], an ORM from [[Canonical (company)|Canonical]]
* [[Twisted (software)|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:
 
* [[Abaqus]] (Finite Element Software)
* [[ADvantage Framework]]
* [[Amarok (software)|Amarok]]
* [[ArcGIS]], a prominent GIS platform, allows extensive modelling using Python
* [[Autodesk Maya]], professional [[3D computer graphics software|3D modeler]] allows Python scripting as an alternative to [[Maya Embedded Language|MEL]] as of version 8.5
* [[Autodesk MotionBuilder]]
* [[Autodesk Softimage]] (formerly Softimage|XSI)
* [[BioNumerics]] a bioinformatics software suite for the management, storage and (statistical) analysis of all types of biological data.
* [[Blender (software)|Blender]]
* [[Boxee]], a cross-platform [[home theater PC]] software
* [[Cinema 4D]]
* [[Civilization IV]] has the map editor supporting Python.<ref name="gamespy">{{cite web |url=http://pc.gamespy.com/pc/civilization-iv/662218p1.html |title=GameSpy: Civilization IV |last=Kosak |first=Dave 'Fargo' |date=27 October 2005 |publisher=[[GameSpy]] |pages=1–3 |id=662218 |archive-url=https://web.archive.org/web/20131206061753/http://pc.gamespy.com/pc/civilization-iv/662218p1.html |archive-date=6 December 2013 |url-status=dead |access-date=24 October 2009}}</ref>
* [[Corel Paint Shop Pro]]
* [[Claws Mail]] with Python plugin
* [[Advanced Direct Connect|DSHub]]
* [[ERDAS Imagine]]
* [[FL Studio]], a [[Digital audio workstation]], uses Python to support [[MIDI Controller]] integration, as well as scripting within its [[Piano roll#In digital audio workstations|piano roll]] and Edison audio editor.
* [[FreeCAD (Juergen Riegel)|FreeCAD]]
* [[gedit]]
* [[GIMP]]
* [[GNAT]] The GNAT programming chain tool (Ada language implementation in GNU gcc), as a GNATcoll reusable components for the applications (with or without PyGTK) and as a scripting language for the commands in the GPS programming environment
* [[Houdini (software)|Houdini]] highly evolved 3D animation package, fully extensible using python
* [[Inkscape]], a free [[vector graphics editor]]
* [[Krita]], a free [[raster graphics editor]] for digital painting
* [[MeVisLab]], a medical image processing and visualization software, uses Python for network scripting, macro modules, and application building
* [[Modo (software)|Modo]]
* [[Mining in Australia|Micromine]]
* [[Minecraft#Minecraft: Pi Edition|Minecraft: Pi Edition (game)]]<ref>{{Citation|last=O'Hanlon|first=Martin|title=martinohanlon/mcpi|date=2020-09-04|url=https://github.com/martinohanlon/mcpi|access-date=2020-09-11}}</ref>
* [[MSC Software|MSC.Software]]'s CAE packages: Adams, Mentat, SimXpert
* [[MySQL Workbench]], a visual database design tool
* [[Notepad++]] has a plugin named [https://github.com/davegb3/PythonScript PythonScript] that allows scripting Notepad++ in Python
* [[Nuke (software)|Nuke]] (compositing for visual effects)
* [[Origin (data analysis software)|OriginPro]], a commercial graphic and analysis software, provides Python environment for access
* [[ParaView]], an opensource scientific visualization software
* [[Poser (software)|Poser]], a [[3D computer graphics|3D]] [[Rendering (computer graphics)|rendering]] and [[animation]] computer program that uses for scripting a special dialect of Python, called PoserPython
* [[PTV AG]] products for traffic and transportation analysis, including [[PTV VISSIM]]
* [[PyMOL]], a popular molecular viewer that embeds Python for scripting and integration
* [[Origin (data analysis software)|OriginPro]], a commercial graphing and analysis software, provides a Python environment for both embedded and external access
* [[QGIS]] uses Python for scripting and plugin-development
* [[Rhinoceros 3D]] version 5.0<ref>{{Cite web|url=https://developer.rhino3d.com/guides/rhinopython/what-is-rhinopython/|title=What is Rhino.Python?|website=developer.rhino3d.com}}</ref> and its visual-scripting language [[Grasshopper 3D|Grasshopper]] uses [[IronPython]]<ref>{{Cite web|title=What is Rhino.Python?|url=https://developer.rhino3d.com/guides/rhinopython/what-is-rhinopython/|access-date=2021-04-15|website=developer.rhino3d.com}}</ref>
* [[Rhythmbox]]
* [[Scribus]]
* [[3DSlicer]], medical image visualisation and analysis software. Python is available for algorithm implementation, analysis pipelines, and GUI creation.
* [[SPSS|SPSS statistical software]] SPSS Programmability Extension allows users to extend the SPSS command syntax language with Python
* [[SublimeText]]
* [[Totem (media player)|Totem]], a media player for the [[GNOME]] desktop environment
* [[Vim (text editor)|Vim]]
* [[VisIt]]
* [[WeeChat]], a console [[Internet Relay Chat|IRC]] client
 
==Commercial uses==
* [[CCP Games]] uses [[Stackless Python]] in both its server-side and client-side applications for its [[Massively multiplayer online game|MMO]] ''[[Eve Online]]''.<ref>{{Cite web|url=https://www.eve-online.com/faq/faq_07.asp |archive-url=https://web.archive.org/web/20090222195343/https://www.eveonline.com/faq/faq_07.asp|title=EVE Online {{!}} Frequently Asked Questions|date=2008-07-05|archive-date=2009-02-22|website=[[EVE Online]]|language=en}}</ref>
* [[Instagram]]'s backend is written in Python.<ref>{{Cite web|url=https://www.fastcompany.com/3047642/do-the-simple-thing-first-the-engineering-behind-instagram|title=Do The Simple Thing First: The Engineering Behind Instagram|first=Harry|last=McCracken|date=June 23, 2015|website=Fast Company}}</ref>
* [[NASA]] is using Python to implement a [[Computer-aided design|CAD]]/[[Computer-aided engineering|CAE]]/[[Product data management|PDM]] repository and model management, integration, and transformation system which will be the core infrastructure for its next-generation collaborative engineering environment.<ref>{{Cite web|title=NASA Open Source Software|url=https://code.nasa.gov/?q=python|access-date=2020-10-26|website=code.nasa.gov}}</ref>{{Primary source inline|date=December 2020}} 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."<ref>[https://www.python.org/about/quotes Quotes about Python] Peter Norvig, director of search quality at Google, Inc.</ref>
* [[Reddit]] was originally written in [[Common Lisp]], but was rewritten in Python in 2005<ref>{{Cite web|url=https://redditblog.com/2005/12/05/on-lisp/|title=on lisp|website=Upvoted|language=en|access-date=2018-12-05}}</ref>
* [[Yahoo! Groups]] uses Python "to maintain its discussion groups"{{Citation needed|date=August 2011}}
* [[YouTube]] uses Python "to produce maintainable features in record times, with a minimum of developers"<ref>[https://www.python.org/about/quotes Quotes about Python] Cuong Do, Software Architect, YouTube.com.</ref>
* [[Enthought]] uses Python as the main language for many custom applications in Geophysics, Financial applications, Astrophysics, simulations for consumer product companies, ...
* [[Rosneft]] uses Python as one of the main languages for its geoengineering applications development. RN-GRID, a [[hydraulic fracturing]] simulation software, has a graphical user interface written entirely in Python.<ref>{{Cite web|url=https://www.rosneft.com/press/news/item/197635/|title=Rosneft Gives More Than 120 Licenses...|language=en|access-date=2019-12-05}}</ref>{{Failed verification|date=December 2019}}
 
==Python implementations==
{{See also|Python (programming language)#Implementations|Source-to-source compiler#Programming language implementations}}
Implementations of Python include:<ref>{{cite web |title=PythonImplementations |url=https://wiki.python.org/moin/PythonImplementations |work=Python Wiki |publisher=[[Python Software Foundation]] |access-date=2017-12-14}}</ref>
* [[CLPython]] – Implementation, written in Common Lisp
* [[CPython]] – The reference implementation, written in [[C11 (C standard revision)|C11]].<ref>{{Cite web |title=What's New In Python 3.11 — Python 3.11.0rc1 documentation |url=https://docs.python.org/3.11/whatsnew/3.11.html#build-changes |access-date=2022-08-15 |website=docs.python.org}}</ref> Some notable distributions include:
** [[ActivePython]] – Distribution with more than 300 included packages<ref>{{cite news |title=ActivePython |url=https://www.activestate.com/activepython |work=ActiveState.com |publisher=[[ActiveState]] Software |access-date=2017-12-14}}</ref>
** [[Intel Distribution for Python]] – High performance distribution with conda and pip package managers<ref>{{cite web |title=Intel Distribution for Python |url=https://software.intel.com/distribution-for-python |work=[[Intel Developer Zone|Intel Software]] |publisher=[[Intel]] |access-date=2017-12-14}}</ref>
** PSF Python – Reference distribution that includes only selected standard libraries<ref>{{cite web |title=Download Python |url=https://www.python.org/downloads/ |work=Python.org |publisher=[[Python Software Foundation]] |access-date=2017-12-14}}</ref>
* [[Cython]] – programming language to simplify writing C and C++ extension modules for the CPython Python runtime.
* [[IronPython]] – Python for [[Common Language Infrastructure|CLI]] platforms (including [[.NET Framework|.NET]] and [[Mono (software)|Mono]])
* [[Jython]] – Python for [[Java (software platform)|Java]] platforms
* [[MicroPython]] – Python 3 implementation for microcontroller platforms
* [[Nuitka]] – a [[source-to-source compiler]] which compiles Python code to [[C (programming language)|C]]/[[C++]] executables, or source code.
* [[Numba]] – [[NumPy]] aware [[LLVM]]-based JIT compiler
* [[Pyjs]] – a framework (based on [[Google Web Toolkit]] (GWT) concept) for developing client-side Python-based web applications, including a stand-alone Python-to-JavaScript compiler, an [[Ajax (programming)|Ajax]] framework and widget toolkit
* [[PyPy]] – Python (originally) coded in Python, used with [[PyPy#RPython|RPython]], a restricted subset of Python that is amenable to static analysis and thus a [[Just-in-time compilation|JIT]].
* [[Shed Skin]] – a [[source-to-source compiler]] from Python to [[C++]]
 
Historic Python implementations include:
 
* [[Parrot virtual machine|Parrot]] – Virtual machine being developed mainly as the runtime for [[Raku (programming language)|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 (programming language)|Pyrex]] – Python-like Python module development project that has mostly been eclipsed by Cython
* [[Python for S60]] – CPython port to the [[S60 (software platform)|S60]] platform
* [[Stackless Python]] – CPython with [[coroutine]]s
* [[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
 
==References==
{{reflist}}
 
==External links==
=== Software directories ===
* [httphttps://cheeseshop.pythonpypi.org/pypi Python CheesePackage ShopIndex] (also calledformerly the Python PackageCheese Index or PyPIShop) is the official directory of Python software libraries and modules.
* [https://wiki.python.org/moin/UsefulModules Useful Modules] in the Python.org wiki
* [http://aspn.activestate.com/ASPN/Python/Cookbook/ ActiveState O'Reilly Python Cookbook] contains hunderds of code samples for various tasks using Python.
* [https://wiki.python.org/moin/OrganizationsUsingPython Organizations Using Python] – a list of projects that make use of Python
* [http://www.voidspace.org.uk/python/index.shtml Python Projects and Modules] lots of useful code, as well as several articles on Python Programming.
* [https://wiki.python.org/moin/PythonEditors Python.org editors] – Multi-platform table of various Python editors
* [http://www.pycode.com/ PyCode] &mdash; Python Resources and Modules collection.
* [http://www.vex.net/parnassus/ Vaults of Parnassus] &mdash; Links to resources.
* [http://www.vrplumber.com/py3d.py Python 3D Software Collection] &mdash; pointers to packages specifically useful in the production of 3D software and/or games with Python
 
== {{Python implementations(programming ==language)}}
* [http://www.python.org Python] – The reference implementation, also known as CPython
* [[Jython]] – Python coded in Java
* [[IronPython]] – Python for [[Microsoft .NET|.NET]] and [[Mono development platform|Mono]] platforms
* [[Boo programming language|Boo]] – Python-based but with [[static typing]], for [[Microsoft .NET|.NET]] and [[Mono development platform|Mono]]
* [[Stackless Python]] - Python with [[coroutines]]
* [[Psyco]] - not an implementation, but [[JIT compiler]] for CPython
* [[PyPy]] – Python coded in Python
* [[Parrot virtual machine|Parrot]] – Virtual machine being developed mainly as the runtime for Perl 6, but with the intent to also support dynamic languages like Python, Ruby, Tcl, etc. Can currently execute a subset of Python
* [http://livelogix.net/logix/ Logix] – Python alternate front-end with macros
* [http://www.voidspace.org.uk/python/movpy/ Movable Python]- An alternative distribution of CPython for Windows. It can run off a USB stick and provides a Portable Programming Environment.
 
[[Category:Python (programming language) software| ]]
[[Category:Python (programming language)]]
[[Category:Lists of software|Python]]