List of Python software: Difference between revisions
Appearance
Content deleted Content added
→Web frameworks: jam.py doesn't have an article yet, not clear if it is notable |
|||
Line 283: | Line 283: | ||
* [[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]]. |
* [[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]]. |
||
* [[Numba]] – [[NumPy]] aware [[LLVM]]-based JIT compiler |
* [[Numba]] – [[NumPy]] aware [[LLVM]]-based JIT compiler |
||
* [[Shed Skin]] – [[ |
* [[Shed Skin]] – a [[source-to-source compiler]] from Python to [[C++]] |
||
* [[Nuitka]] – |
* [[Nuitka]] – a [[source to source compiler]] which compiles [[Python (programming language)|Python]] code to [[C (programming language)|C]]/[[C++]] executables, or source code. |
||
Historic Python implementations include: |
Historic Python implementations include: |
||
Line 292: | Line 292: | ||
* [[Python for S60]] – CPython port to the [[S60 (software platform)|S60]] platform |
* [[Python for S60]] – CPython port to the [[S60 (software platform)|S60]] platform |
||
* [[Psyco]] – specialized JIT compiler project that has mostly been eclipsed by PyPy |
* [[Psyco]] – specialized JIT compiler project that has mostly been eclipsed by PyPy |
||
* [[Unladen Swallow]] – performance |
* [[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 |
||
* Pyston – performance |
* Pyston – performance-oriented implementation based on CPython which natively executed its bytecode via an [[LLVM]]-based JIT compiler. Funded by Dropbox, stopped January 2017 |
||
==References== |
==References== |
Revision as of 19:23, 26 August 2019
This article needs additional citations for verification. (March 2012) |
The Python programming language is actively used by many people, both in industry and academia for a wide variety of purposes.
Integrated development environments for Python
- Atom, an open source cross-platform IDE with autocomplete, help and more Python features under package extensions.
- EasyEclipse, an open source IDE for Python and other languages
- Eclipse with the Pydev plug-in. Eclipse supports many other languages as well.
- Eric, an IDE for Python and Ruby
- Geany, IDE for Python development and other languages
- Koding a free online development environment for many programming languages including Python.
- Komodo IDE an IDE for Python, Perl, PHP and Ruby
- NetBeans, is written in Java and runs everywhere where a JVM is installed.
- Ninja-IDE, free software, written in Python and Qt, Ninja name stands for Ninja-IDE Is Not Just Another IDE
- PIDA, open source IDE written in Python capable of embedding other text editors, such as Vim
- PyCharm, a proprietary and Open Source IDE for Python development
- PyScripter, Free and open-source software Python IDE for Windows.
- PythonAnywhere, an online IDE and Web hosting service
- Python Tools for Visual Studio, Free and open-source plug-in for Visual Studio.
- Stani's Python Editor (SPE), a cross-platform IDE for Python development
- Sublime Text, a text editor.
- Visual Studio Code, an Open Source IDE for various languages, including Python
- Webware for Python, a suite of programming tools for constructing web-based applications in Python
- Wing IDE, cross-platform proprietary with some free versions/licenses IDE for Python
Unit testing frameworks
Python package managers and Python distributions
- Anaconda, Python distribution with
conda
package manager - Enthought, Enthought Canopy Python with Python package manager
- pip, package management system used to install and manage software software written in Python
Applications
- A-A-P, a tool used to download, build and install software via Makefile-like "recipes"
- Anki, a spaced repetition flashcard program
- Ansible, a configuration management engine for computers by combining multi-node software deployment and ad hoc task execution
- Bazaar, a free distributed revision computer control system
- BitBake, make-like build tool with the special focus of distributions and packages for embedded Linux cross compilation
- BitTorrent, original client, along with several derivatives
- Blender, 3D art and animation program with a game engine. Allows for Python scripting in the game engine and in modelling and animation.
- Buildbot, a continuous integration system
- Buildout, a software build tool, primarily used to download and set up development or deployment software dependencies
- Calibre, an open source e-book management tool
- Celery, an asynchronous task queue/job queue based on distributed message passing
- 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, implementation of the Secure Shell (SSH) protocol with Twisted
- Deluge, a BitTorrent client for GNOME
- Dropbox, a web-based file hosting service
- emesene, a MSN/WLM substitute
- Exaile, an open source audio player
- Gajim, an instant messaging client for the XMPP protocol
- GlobaLeaks, an open-source whistleblowing framework
- Gramps, an open source genealogy software
- Gunicorn, a pre-fork web server for WSGI applications
- Gwibber, a microblogging client
- GYP (Generate Your Projects), a build automation tool (similar to CMake and Premake) designed to generate native IDE project files (e.g., Visual Studio, Xcode, etc.) from a single configuration
- Image Packaging System (IPS), an advanced, cross-platform package management system primarily used in Solaris and OpenSolaris/illumos derivatives
- Juice, a popular podcast downloader
- Mercurial a cross-platform, distributed source management tool
- Miro, a cross-platform internet television application
- Morpheus, file-sharing client/server software operated by the company StreamCast
- MusicBrainz Picard, a cross-platform MusicBrainz tag editor
- Nicotine, a PyGTK Soulseek client
- OpenLP, lyrics projection software
- OpenShot Video Editor
- OpenStack, a cloud computing IaaS platform
- 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 non-linear video editor
- Portage, the heart of Gentoo Linux, an advanced package management system based on the BSD-style ports system
- PyGopherd, a modern Gopher web server that also supports HTTP and WAP
- Quake Army Knife, an environment for developing 3D maps for games based on the Quake engine
- 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, a configuration management and remote execution engine
- SCons, a tool for building software
- Shinken, a computer system and network monitoring software application compatible with Nagios
- TouchDesigner, 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, was installed by default in Ubuntu 9.10, and stopped being included in Ubuntu releases starting with the Ubuntu 16.04 release.
- Wicd, a network manager for Linux
- WikidPad, a free wiki-like outliner for personal thoughts, ideas, to-do lists, contacts, etc. with wiki-like linking between pages.
- YUM, a package management utility for RPM-compatible Linux operating systems
- Waf, a build automation tool designed to assist in the automatic compilation and installation of computer software
- Xpra, a tool which runs X clients, typically on a remote host, and directs their display to the local machine without losing any state
Web applications
- Allura, an ASF software forge for managing source code repositories, bug reports, discussions, wiki pages, blogs and more for multiple projects
- Bloodhound, an ASF project management and bug tracking system
- ERP5, a powerful open source ERP / CRM used in Aerospace, Apparel, Banking and for e-government
- ERPNext, an open source ERP / CRM
- Kallithea, a source code management system
- Mailman, one of the more popular packages for running email mailing lists
- MakeHuman, free software for creating realistic 3D humans.
- MoinMoin, a wiki engine
- OpenERP, new name Odoo, an open source comprehensive suite of business applications
- Planet, a feed aggregator
- Plone, an open source content management system
- Roundup, a bug tracking system
- Tor2web, an HTTP proxy for Tor Hidden Services (HS)
- Trac, web-based bug/issue tracking database, wiki, and version control front-end
- Turntable.fm, a discontinued social media site for interactively sharing music[citation needed]
- ViewVC, a web-based interface for browsing CVS and SVN repositories
Video games
- Battlefield 2 uses Python for all of its add-ons and a lot of its functionality.[citation needed]
- Bridge Commander[citation needed]
- Civilization IV uses Python for most of its tasks
- Disney's Toontown Online is written in Python and uses Panda3D for graphics.
- Doki Doki Literature Club!, a psychological horror visual novel using the Ren'Py engine
- Eve Online uses Stackless Python.
- Freedom Force[citation needed]
- Frets on Fire is written in Python and uses Pygame
- Mount & Blade is written in Python.
- Overwatch makes its choices with Python.[citation needed]
- Pirates of the Caribbean Online is written in Python and uses Panda3D for graphics.
- The Sims 4 uses Python[1]
- 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.
- Vampire: The Masquerade – Bloodlines, a computer role-playing game based on the World of Darkness campaign setting[citation needed]
- Vega Strike, an open source space simulator, uses Python for internal scripting
- World of Tanks uses Python for most of its tasks.[2]
Web frameworks
- BlueBream, a rewrite by the Zope developers of the Zope 2 web application server
- Bottle, A fast, simple and lightweight WSGI micro web framework
- CherryPy, an object-oriented web application server and framework
- Django, an MVT (model, view, template) web framework
- Flask, a modern, lightweight, well-documented microframework 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
- Nagare, a web framework for developing web applications in Stackless Python
- Nevow, a web application framework originally developed by the company Divmod
- Pylons, a lightweight web framework emphasizing flexibility and rapid development
- Pyramid, is a minimalistic web framework inspired by Zope, Pylons and Django
- Python Paste, 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
- TACTIC, a web-based smart process application and digital asset management system
- 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
- Webware for Python, an object-oriented web application framework
- Zope 2, an application server, commonly used to build content management systems
Graphics frameworks
- Pygame, Python bindings for SDL
- Panda3D, a 3D game engine for Python
- Python Imaging Library, a module for working with images
- Python-Ogre, a Python Language binding for the OGRE 3D engine
- Soya3D, a high-level 3D game engine for Python
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
Scientific packages
- Astropy, a library of Python tools for astronomy and astrophysics.
- Biopython, a Python molecular biology suite
- graph-tool, a Python module for manipulation and statistical analysis of graphs.
- Natural Language Toolkit, or NLTK, a suite of libraries and programs for symbolic and statistical natural language processing (NLP) for English
- Orange, an open-source visual programming tool featuring 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 networks.
- SciPy, a library of scientific and numerical routines
- 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
- Mathics, an open-source implementation of the Mathematica programming language
- Matplotlib, an extension providing MATLAB-like plotting and mathematical functions
- 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
- Cheetah, a Python-powered template engine and code-generation tool
- Construct, a python library for the declarative construction and deconstruction of data structures
- Genshi, a template engine for XML-based vocabularies
- IPython, a development shell both written in and designed for Python
- Jinja, a Python-powered template engine, inspired by Django's template engine
- Kid, simple template engine for XML-based vocabularies
- Meson build system, a software tool for automating the building (compiling) of software
- mod_python, an Apache module allowing direct integration of Python scripts with the 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 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
- Topsite Templating System, another Python-powered template engine
- 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 software products:
- Abaqus (Finite Element Software)
- ADvantage Framework
- Amarok
- ArcGIS, a prominent GIS platform, allows extensive modelling using Python
- Autodesk Maya, 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
- Corel Paint Shop Pro
- Claws Mail with Python plugin
- DSHub
- ERDAS Imagine
- 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
- MeVisLab, a medical image processing and visualization software, uses Python for network scripting, macro modules, and application building
- Modo
- Micromine
- Minecraft: Pi Edition (game)[citation needed]
- MSC.Software's CAE packages: Adams, Mentat, SimXpert
- MySQL Workbench, a visual database design tool
- Notepad++ has a plugin named PythonScript that allows scripting Notepad++ in Python
- Nuke (compositing for visual effects)
- 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
- PyMOL, a popular molecular viewer that embeds Python for scripting and integration
- QGIS uses Python for scripting and plugin-development
- Rhinoceros 3D version 5.0[3]
- Rhythmbox
- Scribus
- 3DSlicer, 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
- Totem, a media player for the GNOME desktop environment
- Vim
- VisIt
- WeeChat, a console IRC client
Commercial uses
- CCP hf uses Stackless Python in both its server-side and client-side applications for its MMO Eve Online.[4]
- Instagram's backend was written in Python.[5]
- 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 [citation 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."[6]
- reddit was originally written in Common Lisp, but was rewritten in Python in 2005[7]
- 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"[8]
- 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:[9]
- CPython – The reference implementation, written in C89. Some notable distributions include:
- PSF Python – Reference distribution that includes only selected standard libraries[10]
- ActivePython – Distribution with more than 300 included packages that is optimized to ensure compatibility and performance[11]
- Intel Distribution for Python – High performance distribution with conda and pip package managers[12]
- Stackless Python – CPython with coroutines
- MicroPython – Python 3 implementation for microcontroller platforms
- CLPython – Implementation, written in Common Lisp
- 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
- 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 framework and widget toolkit
- PyPy – Python (originally) coded in Python, used with RPython, a restricted subset of Python that is amenable to static analysis and thus a JIT.
- Numba – NumPy aware LLVM-based JIT compiler
- Shed Skin – a source-to-source compiler from Python to C++
- Nuitka – a source to source compiler which compiles Python code to C/C++ executables, or source code.
Historic Python implementations include:
- Parrot – Virtual machine being developed mainly as the runtime for Perl 6, and intended to support dynamic languages like Python, Ruby, Tcl, etc.
- Pyrex – Python-like Python module development project that has mostly been eclipsed by Cython
- Python for S60 – CPython port to the S60 platform
- Psyco – specialized JIT compiler project that has mostly been eclipsed by PyPy
- 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
- Pyston – performance-oriented implementation based on CPython which natively executed its bytecode via an LLVM-based JIT compiler. Funded by Dropbox, stopped January 2017
References
- ^ "The Sims 4 Creator's Camp: Modding Masterclass". Sims VIP. Retrieved 17 March 2018.
- ^ https://hackmag.com/devops/interview-with-wot-developers/
- ^ http://wiki.mcneel.com/developer/python
- ^ "EVE Online | Frequently Asked Questions". EVE Online. 2008-07-05. Archived from the original on 2009-02-22.
- ^ https://www.fastcompany.com/3047642/do-the-simple-thing-first-the-engineering-behind-instagram
- ^ Quotes about Python Peter Norvig, director of search quality at Google, Inc.
- ^ "on lisp". Upvoted. Retrieved 2018-12-05.
- ^ Quotes about Python Cuong Do, Software Architect, YouTube.com.
- ^ "PythonImplementations". Python Wiki. Python Software Foundation. Retrieved 2017-12-14.
- ^ "Download Python". Python.org. Python Software Foundation. Retrieved 2017-12-14.
- ^ "ActivePython". ActiveState.com. ActiveState Software. Retrieved 2017-12-14.
- ^ "Intel Distribution for Python". Intel Software. Intel. Retrieved 2017-12-14.
External links
- Python Package Index (formerly the Python Cheese Shop) is the official directory of Python software libraries and modules
- ActiveState O'Reilly Python Cookbook contains hundreds of code samples for various tasks using Python
- Useful Modules in the Python.org wiki
- Organizations Using Python – a list of projects that make use of Python
- Ohloh – open source projects in Python
- pydoc.net – open source package library for Python
- Python.org editors – Multi-platform table of various Python editors