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
- Atom â an 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.
- Colab â Jupyter notebook online integrated development environment developed by Google.
- 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.
- Eric â an IDE for Python and Ruby.
- 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 supports markdown, Python, Julia â R and several other languages.
- Kaggle Notebooks â an online IDE for Python and R with integrated data science libraries, free GPUs, and collaborative features.
- Komodo IDE â an IDE PHOTOS Python, Perl, PHP and Ruby.
- NetBeans â is written in Java and runs everywhere where a JVM is installed.
- PyCharm â a proprietary and open-source IDE for Python development.
- PythonAnywhere â an online IDE and Web hosting service.
- Python Tools for Visual Studio â Free and open-source plug-in for Visual Studio.
- Spyder â IDE for scientific programming.
- Thonny â beginner-friendly Python IDE.
- Vim â with "lang#python" layer enabled.
- 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 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
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).
- Setuptools â package development process library designed to facilitate packaging Python projects by enhancing the Python (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:
- Abaqus (Finite Element Software)
- ADvantage Framework
- Amarok
- ArcGIS â a prominent GIS platform, allows extensive modelling using Python.
- Autodesk Maya â a professional 3D modeler allows Python scripting as an alternative to 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
- Boxee â a cross-platform home theater PC software.
- Cinema 4D
- Civilization IV has the map editor supporting Python.
- Corel Paint Shop Pro
- Claws Mail with Python plugin
- DSHub
- ERDAS Imagine
- FL Studio â a Digital audio workstation, uses Python to support MIDI Controller integration, as well as scripting within its piano 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 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
- .
- 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 software
- Poser â a 3D 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.
- 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 and its visual-scripting language Grasshopper uses IronPython.
- 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 the GNOME desktop environment.
- Vim
- VisIt
- WeeChat â a console IRC client.
Commercial uses
- CCP Games uses Stackless Python in both its server-side and client-side applications for its MMO Eve Online.
- Instagram's backend is written in Python.
- 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. 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."
- Reddit was originally written in Common Lisp, but was rewritten in Python in 2005.
- Yahoo! Groups uses Python "to maintain its discussion groups".
- YouTube uses Python "to produce maintainable features in record times, with a minimum of developers".
- 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:
- CLPython â Implementation, written in Common Lisp.
- CPython â The reference implementation, written in C11. Some notable distributions include:
- ActivePython â Distribution with more than 300 included packages.
- Intel Distribution for Python â High performance distribution with conda and pip package managers.
- PSF Python â Reference distribution that includes only selected standard libraries
- Cython â programming language to simplify writing C and C++ extension modules for the CPython Python runtime.
- IronPython â Python for CLI platforms (including .NET and Mono).
- Jython â Python for Java platforms.
- MicroPython â Python 3 implementation for micro-controller platforms.
- Nuitka â a source-to-source compiler which compiles Python code to C/C++ executables, or source code.
- Numba â NumPy aware LLVM-based JIT compiler.
- PyPy â Python (originally) coded in Python, used with RPython, a restricted subset of Python that is amenable to static analysis and thus a JIT.
- Shed Skin â a source-to-source compiler from Python to C++.
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
External links