Applications can be written almost completely in Python, but people are slow to change, so a considerable number of desktop applications are still written using C/C++ on Linux and Windows and a combination of C++ and Objective-C on Mac OS X. There has been a sustained trend of the use of Python to provide user automation or scripting, sometimes called macros, for C/C++ applications. This makes a lot of sense:
- Developers don't have to waste time and money inventing their own scripting language.
- Users don't have to learn a new automation language for every application they use, and can use Python books, exampling, and learning resources.
Python is a Free Software (Open Source) solution and can be embedded and distributed without charge, so there are no royalty payments or licensing hassles
- Python is simple to learn, yet Python and its standard libraries are much more powerful than a proprietary language like VBScript
- Python is cross-platform
tools like Cython and BoostPython make it easy to expose part or all of the application programming interface (API)
- Python scripting can be added to legacy projects just as well as new ones so developers don't have to abandon their old C/C++ code libraries
On the Windows platform, Python has an excellent interface to COM (also known as ActiveX) and can be used to interface to almost any COM program (such as the MS-Office suite). Again, Python scripting can be added to enhance a project without change to the existing COM components. (See Win32All)
PyObjC can be used to add scripting to any Cocoa app on Mac OS X
Many Mac OS applications provide Apple event-based scripting interfaces, allowing them to be controlled from languages such as AppleScript, JavaScript OSA, Perl (via Mac::Glue), Python (via appscript), Tcl and UserTalk. (See MacPython)
For many of the same reasons, Python is often used as the "glue" language for a project. In the Java world, people are using Jython as the glue and scripting language.
Contents
This page is not for listing those applications primarily built with Python. Try Applications for those types of apps, tools, and frameworks.
Please keep wiki links as wiki links, use external links only if there is no existing page for the program.
Applications and Toolkits
Name |
Platform |
Notes |
multi-platform |
Finite element analysis, modeling, and visualization. Python is embedded for command scripting and GUI extensibility. |
|
|
|
|
Windows |
A suite of bioinformatics software applications, uses Python to automate series of actions that are executed repeatedly, to create custom reports, import and export non-standard formats, perform custom calculations, etc. |
|
multi-platform |
Web application framework |
|
Windows |
Free programming game. Uses Python as scripting language for submarine robots. |
|
Emacs, using Pymacs |
multi-platform |
Text editor. |
Windows, Mac OS |
Commercial font editing software, uses Python as a macro language. |
|
Linux, Mac OS X |
Gnome X Scanning Microscopy - multi-channel 2D/3D data acquisition and visualization |
|
|
Open source, cross-platform Conway's Game of Life simulator. |
|
multi-platform |
The Helix community is a collaborative effort among real, independent developers, and leading companies to extend the Helix DNA platform, the first open multi-format platform for digital media creation, delivery and playback. |
|
POSIX and X11 |
Python is used for event and key binding configuration. |
|
Mac OS X, Windows |
Helpful for integrating into production pipelines and allows users to automate repetitive processes. |
|
Linux, Mac OS X, Windows |
OpenSource cross-platform mail and news client. |
|
? |
AI middleware |
|
Mac OS X |
Video mixing and compositing for VJs and live performers; uses Python for internal scripting. |
|
Windows & WINE |
MUD client |
|
Windows |
There is an NSIS Python Plugin for this OpenSource installer for Windows. -- Note: makensis, the installer compiler, now compiles and runs on POSIX systems too. |
|
multi-platform |
Object-Oriented Rendering Engine |
|
multi-platform |
Python-UNO bridge for scripting OpenOffice with Python |
|
Office and Outlook |
Windows |
While Microsoft Office apps including Microsoft Outlook were not originally designed to be scripted with Python, PyWin32 (formerly Win32All) makes it possible to script Microsoft Office apps and build plug-ins. Of special note is the SpamBayes plug-in for Outlook which enables any Outlook user to use SpamBayes without even knowing anything about Python. |
multi-platform |
Orange is a component-based data mining software. It includes a range of preprocessing, modelling and data exploration techniques. It is based on C++ components, that are accessed either directly (not very common), through Python scripts (easier and better), or through GUI objects called Orange Widgets. |
|
GNOME |
Accessibility toolkit for applications using GTk+/AT-SPI that provides speech synthesis, braille, and magnification. |
|
Windows |
Photo and graphics editor. PSP scripting resources |
|
multi-platform |
Open Source game and simulation engine. Disney is one of the notable users. Check out the PyCon paper on Panda3d. |
|
ProScena Studio |
|
A high-level content-authoring system and runtime for creating real-time interactive 3D simulations for training, education and gaming applications. press release |
|
A tool from an Electronic Design Automation company |
|
multi-platform |
User friendly open source Geographic Information System (GIS) |
|
.NET/CLR |
Programmable spreadsheet built around IronPython. |
|
Windows |
Machine-vision software for industrial use with Python scripting |
|
|
|
|
Windows/Linux/Solaris |
A relational data modeling tool with Jython scripting. |
|
|
Statistical and data management package for analysts and researchers. |
|
multi-platform |
An automated GUI testing framework for Qt applications that supports Python scripting |
|
multi-platform |
A compelling replacement for CVS. See the Project Links, Bindings or do a Google site search. |
|
Linux, KDE |
SuperKaramba allows you to create cool dekstop widgets with little to no programming experience. It's similar to "Konfabulator" for the Mac. |
|
Windows |
3D modelling/animation package |
|
multi-platform |
Text editor. |
|
