Python Uses

Return to Python

Main article: List of Python software

Python can serve as a scripting language for web applications, e.g., via

for the Apache web server.<ref name=“AutoNT-35” /> With Web Server Gateway Interface, a standard API has evolved to facilitate these applications. Web frameworks like Django, Pylons, Pyramid, TurboGears, web2py, Tornado, Flask, Bottle and Zope support developers in the design and maintenance of complex applications. Pyjs and IronPython can be used to develop the client-side of Ajax-based applications. SQLAlchemy can be used as a data mapper to a relational database. Twisted is a framework to program communications between computers, and is used (for example) by Dropbox.

Libraries such as NumPy, SciPy and Matplotlib allow the effective use of Python in scientific computing,<ref name=“cise”>

</ref><ref name=“millman”>

</ref> with specialized libraries such as Biopython and Astropy providing domain-specific functionality. SageMath is a computer algebra system with a notebook interface programmable in Python: its library covers many aspects of mathematics, including algebra, combinatorics, numerical mathematics, number theory, and calculus.<ref name=“ICSE” >

</ref> OpenCV has Python bindings with a rich set of features for computer vision and image processing.<ref>

</ref>

Python is commonly used in artificial intelligence projects and machine learning projects with the help of libraries like TensorFlow, Keras, Pytorch and Scikit-learn.<ref name=whitepaper2015>

</ref><ref>

</ref><ref>

</ref><ref>

</ref> As a scripting language with modular architecture, simple syntax and rich text processing tools, Python is often used for natural language processing.<ref name=“AutoNT-47” />

Python can also be used to create games, with libraries such as Pygame, which can make 2D games.

Python has been successfully embedded in many software products as a scripting language, including in finite element method software such as Abaqus, 3D parametric modeler like FreeCAD, 3D animation packages such as 3ds Max, Blender, Cinema 4D, Lightwave, Houdini, Maya, modo, MotionBuilder, Softimage, the visual effects compositor Nuke, 2D imaging programs like GIMP,<ref>

</ref> Inkscape, Scribus and Paint Shop Pro,<ref name=“AutoNT-38” /> and musical notation programs like scorewriter and capella. GNU Debugger uses Python as a pretty printer to show complex structures such as C++ containers. Esri promotes Python as the best choice for writing scripts in ArcGIS.<ref name=“AutoNT-39” /> It has also been used in several video games,<ref name=“AutoNT-40” /><ref name=“AutoNT-41” /> and has been adopted as first of the three available programming languages in Google App Engine, the other two being Java and Go.<ref name=“AutoNT-42” />

Many operating systems include Python as a standard component. It ships with most Linux distributions,<ref>

</ref> AmigaOS 4 (using Python&nbsp;2.7), FreeBSD (as a package), NetBSD, OpenBSD (as a package) and macOS and can be used from the command line (terminal). Many Linux distributions use installers written in Python: Ubuntu uses the Ubiquity installer, while Red Hat Linux and Fedora Linux use the Anaconda installer. Gentoo Linux uses Python in its package management system, Portage.

Python is used extensively in the information security industry, including in exploit development.<ref name=“AutoNT-49” /><ref name=“AutoNT-50” />

Most of the Sugar software for the One Laptop per Child XO, now developed at Sugar Labs, is written in Python.<ref name=“AutoNT-51” /> The Raspberry Pi single-board computer project has adopted Python as its main user-programming language.

LibreOffice includes Python, and intends to replace Java with Python. Its Python Scripting Provider is a core feature<ref>

</ref> since Version 4.0 from 7 February 2013.