ThePython 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 ] Atom — anopen-source cross-platform IDE withautocomplete , help and more Python features under package extensions.Codelobster — across-platform IDE for various languages, including Python.Colab —Jupyter notebook online integrated development environment developed byGoogle .EasyEclipse — an open-source IDE for Python and other languages.Eclipse — with the Pydev plug-in. Eclipse supports many other languages as well.Emacs , with the built-in python-mode.[ 1] Eric — an IDE for Python andRuby .Geany — IDE for Python development and other languages.IDLE — a simple IDE bundled with the default implementation of the language.Jupyter Notebook — an IDE that supportsmarkdown ,Python ,Julia —R and several other languages.Kaggle Notebooks — an online IDE forPython andR with integrated data science libraries, free GPUs, and collaborative features.Komodo IDE — an IDE PHOTOS Python,Perl ,PHP and Ruby.NetBeans — is written inJava and runs everywhere where aJVM is installed.Ninja-IDE — free software, written in Python andQt .PyCharm — a proprietary and open-source IDE for Python development.PythonAnywhere — an onlineIDE andWeb hosting service .Python Tools for Visual Studio — Free and open-source plug-in forVisual Studio .Spyder — IDE for scientific programming.Thonny — beginner-friendly Python IDE.Vim — with "lang#python" layer enabled.[ 2] 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 [ edit ] Python package managers and Python distributions [ edit ] Celery – an asynchronous task queue/job queue based on distributed message passing.Conch – implementation of theSecure Shell (SSH) protocol withTwisted .Shinken – a computer system andnetwork monitoring software application compatible withNagios .Wicd – a network manager forLinux .Xpra – a tool which runs X clients, usually on a remote host, and directs their display to the local machine without losing any state.Software management [ edit ] BlueBream – a rewrite by theZope developers of the Zope 2 web application server.CherryPy – anobject-oriented web application server and framework.CubicWeb – a web framework that targets large-scalesemantic web andlinked 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 andJinja 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 combiningSQLObject /SQLAlchemy ,Kid /Genshi , andCherryPy /Pylons .web2py – a full-stack enterprise web application framework, following the MVC design.Zope 2 – an application server, commonly used to buildcontent management systems .Graphics frameworks [ edit ] appJar – cross-platform, open-source GUI library for Python. Provides easy wrapper functions around most ofTkinter with extra functionality built in.Kivy – open-source Python library for developing multitouch application software with anatural user interface (NUI).PyGTK – a popular cross-platform GUI library based on GTK+; furthermore, otherGNOME 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 factoGUI it is shipped in most versions of Python and is integrated in theIDLE . It is basedTcl command tool.wxPython – a port ofwxWidgets and a cross-platform GUI library for Python.Flet – is a framework that allows building web, desktop and mobile applications in Python based onFlutter by GoogleScientific 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 from3Blue1Brown .Mathics – an open-source implementation of theMathematica programming language.Matplotlib – providingMATLAB -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-basedgraphs .SageMath – is a large mathematical software application which integrates the work of nearly 100free software projects.SymPy – a symbolic mathematical calculations package.PyMC – python module containingBayesian 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, notablySciPy . 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 100free 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 toolsSymPy , 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 byDjango '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 aWSGI compliant interface for hostingPython basedweb applications with theApache 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 Pythondistutils (distribution utilities) standard library.Sphinx – which convertsreStructuredText files intoHTML websites and other formats includingPDF ,EPub andMan pages .SQLAlchemy – database backend andORM .SQLObject – an ORM for providing an object interface to a database.Storm – an ORM fromCanonical .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:
Abaqus (Finite Element Software)ADvantage Framework Amarok ArcGIS – a prominent GIS platform, allows extensive modelling using Python.Autodesk Maya – a professional3D modeler allows Python scripting as an alternative toMEL 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 Boxee – a cross-platformhome theater PC software.Cinema 4D Civilization IV has the map editor supporting Python.[ 17] Corel Paint Shop Pro Claws Mail with Python pluginDSHub ERDAS Imagine FL Studio – aDigital audio workstation , uses Python to supportMIDI Controller integration, as well as scripting within itspiano roll and Edison audio editor.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 highly evolved 3D animation package, fully extensible using python.Inkscape – a freevector graphics editor .Krita – a freeraster graphics editor for digital painting.MeVisLab – a medical image processing and visualization software, uses Python for network scripting, macro modules, and application building.Modo Minecraft: Pi Edition (game) .[ 18] MSC.Software 's CAE packages: Adams, Mentat, SimXpert.MySQL Workbench – a visual database design tool.Nuke (compositing for visual effects)OriginPro – a commercial graphic and analysis software, provides Python environment for access.ParaView , an opensource scientific visualization softwarePoser – a3D rendering andanimation computer program that uses for scripting a special dialect of Python, called PoserPython.PTV AG products for traffic and transportation analysis, includingPTV VISSIM .PyMOL – a popular molecular viewer that embeds Python for scripting and integration.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[ 19] and its visual-scripting languageGrasshopper usesIronPython .[ 20] Rhythmbox Scribus 3DSlicer – a medical image visualisation and analysis software. Python is available for algorithm implementation, analysis pipelines, and GUI creation.SPSS statistical software – SPSS Programmability Extension allows users to extend the SPSS command syntax language with Python.SublimeText Totem – a media player for theGNOME desktop environment.Vim VisIt WeeChat – a consoleIRC client.CCP Games usesStackless Python in both its server-side and client-side applications for itsMMO Eve Online .[ 21] Instagram 's backend is written in Python.[ 22] NASA is using Python to implement aCAD /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 forOpenMDAO , a framework developed by NASA for solvingmultidisciplinary design optimization problems."Python has been an important part ofGoogle since the beginning, and remains so as the system grows and evolves. Today dozens of Google engineers use Python."[ 24] Reddit was originally written inCommon 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 forRaku , 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 theS60 platform.Stackless Python – CPython withcoroutines .Unladen Swallow – performance-orientated implementation based on CPython which natively executed itsbytecode via anLLVM -based JIT compiler. Funded by Google, stopped circa 2011.^ "Python Programming in Emacs" .Chao's Blog . September 2017.^ "Use Vim as a Python IDE | SpaceVim" .^ "pip documentation v25.2" .^ "OrganizationsUsingPython - Python Wiki" .^ "OrganizationsUsingPython - Python Wiki" .^ 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 . ^ "Toontown 2013 Source" .GitHub . 17 November 2021.^ "SpongeBob SquarePants: Revenge of the Flying Dutchman .DGC - ZenHAX" .zenhax.com . Retrieved2022-09-13 .^ "TXT · Jellonator/chum-world Wiki" .GitHub . Retrieved2022-09-13 .^ "The Sims 4 Creator's Camp: Modding Masterclass" .Sims VIP . 4 August 2014. Retrieved17 March 2018 .^ "Vampire: The Masquerade – Bloodlines – Mod Developer Guide – PC – By rezzzman – GameFAQs" .gamefaqs.gamespot.com . Retrieved2020-09-11 .^ "This is GameDev, baby! Interview with developers of World of Tanks – HackMag" .hackmag.com .^ Zimmermann, P., Casamayou, A., Cohen, N., Connan, G., Dumont, T., Fousse, L., ... & Bray, E. (2018). Computational Mathematics with SageMath. SIAM. ^ Jones, E., Oliphant, T., & Peterson, P. (2001). SciPy: Open source scientific tools for Python. ^ Bressert, E. (2012). SciPy and NumPy: an overview for developers. " O'Reilly Media, Inc.". ^ Blanco-Silva, F. J. (2013). Learning SciPy for numerical and scientific computing. Packt Publishing Ltd. ^ Kosak, Dave 'Fargo' (27 October 2005)."GameSpy: Civilization IV" .GameSpy . pp. 1– 3. 662218. Archived fromthe original on 6 December 2013. Retrieved24 October 2009 . ^ O'Hanlon, Martin (2020-09-04),martinohanlon/mcpi , retrieved2020-09-11 ^ "What is Rhino.Python?" .developer.rhino3d.com .^ "What is Rhino.Python?" .developer.rhino3d.com . Retrieved2021-04-15 .^ "EVE Online | Frequently Asked Questions" .EVE Online . 2008-07-05. Archived fromthe original on 2009-02-22.^ McCracken, Harry (June 23, 2015)."Do The Simple Thing First: The Engineering Behind Instagram" .Fast Company . ^ "NASA Open Source Software" .code.nasa.gov . Retrieved2020-10-26 .^ Quotes about Python Peter Norvig, director of search quality at Google, Inc.^ "on lisp" .Upvoted . Retrieved2018-12-05 .^ Quotes about Python Cuong Do, Software Architect, YouTube.com.^ "PythonImplementations" .Python Wiki .Python Software Foundation . Retrieved2017-12-14 .^ "What's New In Python 3.11 — Python 3.11.0rc1 documentation" .docs.python.org . Retrieved2022-08-15 .^ "ActivePython" .ActiveState.com .ActiveState Software. Retrieved2017-12-14 .^ "Intel Distribution for Python" .Intel Software .Intel . Retrieved2017-12-14 .^ "Download Python" .Python.org .Python Software Foundation . Retrieved2017-12-14 .