Differences between revisions 27 and 98 (spanning 71 versions)
Revision 27 as of 2004-03-19 17:43:58
Size: 6215
Editor: sololess
Comment:
Revision 98 as of 2012-01-23 16:24:23
Size: 17363
Editor: router
Comment: Added BioNumerics
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Applications can and are written in Python, but people are slow to change, so the vast majority are still done using C/C++ on Linux and Windows and a combination of C++ and Objective-C on Mac OS X. I've noticed a growing trend of using Python to provide user automation or scripting, sometimes called macros, for C/C++ applications. This makes a lot of sense: 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:
Line 3: Line 3:
 * developers don't have to waste time and money inventing their own scripting language and users don't have to learn a new automation language for every application they use
 * Python is an OpenSource solution and can be embedded and distributed for free so there are no royalty payments or licensing hassles
 * Developers don't have to waste time and money inventing their own scripting language.
 * U
sers 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 [[FreeSoftware|Free Software]] ([[OpenSource|Open Source]]) solution and can be embedded and distributed without charge, so there are no royalty payments or licensing hassles
Line 7: Line 8:
 * tools like [http://www.swig.org/ SWIG] make it easy to expose part or all of the application programming interface (API)  * [[#head-3|tools]] like [[Pyrex]] and BoostPython make it easy to expose part or all of the application programming interface (API)
Line 9: Line 10:
 * 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.
 * [http://pyobjc.sourceforge.net 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 [http://www.apple.com/applescript/ AppleScript], [http://www.latenightsw.com/freeware/JavaScriptOSA/ JavaScript OSA], Perl (via [http://search.cpan.org/~cnandor/Mac-Glue/ Mac::Glue]), Python (via [http://freespace.virgin.net/hamish.sanderson/appscript.html appscript]), Tcl and UserTalk.
 * 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)
 * [[http://pyobjc.sourceforge.net|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 [[http://www.apple.com/applescript/|AppleScript]], [[http://www.latenightsw.com/freeware/JavaScriptOSA/|JavaScript OSA]], Perl (via [[http://search.cpan.org/~cnandor/Mac-Glue/|Mac::Glue]]), Python (via [[http://freespace.virgin.net/hamish.sanderson/appscript.html|appscript]]), Tcl and !UserTalk. (See MacPython)
Line 13: Line 14:
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. 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.
Line 15: Line 16:
[[TableOfContents]] <<TableOfContents>>
Line 17: Line 18:
(!) '''This page is not for listing those applications primarily built with Python.''' (!) '''This page is not for listing those applications primarily built with Python. Try [[Applications]] for those types of apps, tools, and frameworks.'''
Line 21: Line 22:
=== Applications === === Applications and Toolkits ===
Line 23: Line 24:
|| '''Name''' || '''Platform''' || '''Notes''' ||
|| [http://www.blender.org/ Blender] || multi-platform || OpenSource software for 3D modeling, animation, rendering, post-production, interactive creation and playback. [http://www.blender.org/modules/documentation/228PythonDoc/ Blender Python API reference] ||
||<30%> '''Name''' ||<15%> '''Platform''' ||<55%> '''Notes''' ||
|| [[http://www.abaqus.com/|Abaqus]] || multi-platform || Finite element analysis, modeling, and visualization. Python is embedded for command scripting and GUI extensibility. ||
|| [[http://www.esri.com/software/arcgis/|ArcGis]] || || ||
|| [[http://www.applied-maths.com/bionumerics/bionumerics.htm|BioNumerics]] || Windows || A suite of bioinformatics software applications, [[http://www.applied-maths.com/support/workshop_python.htm|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. ||
Line 26: Line 29:
|| [http://www.gimp.org/ GIMP] || multi-platform, GTK || GNU Image Manipulation Program. [http://www.daa.com.au/~james/software/pygimp/ Gimp-Python] is a package that allows people to write plug-ins for The Gimp in the Python programming language rather than Script-Fu (Scheme), Perl, Tcl or C. ||
|| [http://gxsm.sourceforge.net/ GXSM] || Linux, Mac OS X || Gnome X Scanning Microscopy. multi-channel 2D/3D data acquisition and visualization ||
|| [http://kahakai.sourceforge.net/ Kahakai Window Manager] || POSIX, KDE and GNOME || Python is used for event and key binding configuration. ||
|| [http://www.kaydara.com/products/motionbuilder/ Kaydara Motionbuilder] || Mac OS X, Windows || Helpful for integrating into production pipelines and allows users to automate repetitive processes. ||
|| [http://mahogany.sourceforge.net/ Mahogany] || Linux, Mac OS X, Windows || OpenSource cross-platform mail and news client. ||
|| [http://www.ogre3d.org/ OGRE] || multi-platform || Object-Oriented Rendering Engine ||
|| [http://www.openoffice.org/ OpenOffice] || multi-platform || [http://udk.openoffice.org/python/python-bridge.html 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, [http://starship.python.net/crew/mhammond/win32/Downloads.html pywin32] (formerly win32all) makes it possible to script Microsoft Office apps and build plug-ins. Of special note is the [http://spambayes.sourceforge.net/windows.html SpamBayes] plug-in for Outlook which enables any Outlook user to use [http://spambayes.sourceforge.net/windows.html SpamBayes] without even knowing anything about Python. ||
|| [http://www.jasc.com/products/paintshoppro/ Paint Shop Pro 8] || Windows || Photo and graphics editor. [http://www.jasc.com/support/customercare/articles/psp8components.asp PSP scripting resources] ||
|| [http://subversion.tigris.org/ Subversion] || multi-platform || A compelling replacement for CVS. See the [http://subversion.tigris.org/project_links.html Project Links], [http://subversion.tigris.org/bindings.html Bindings] or do a [http://www.google.com/search?&q=site:subversion%2Etigris%2Eorg+python Google site search]. ||
|| [http://netdragon.sourceforge.net SuperKaramba] || Linux, KDE || SuperKaramba allows you to create cool dekstop widgets with little to no programming experience. It's similar to "Konfabulator" for the Mac. ||
|| [http://www.vim.org/ Vim] || multi-platform || editor ||
|| [http://www.wincvs.org/ WinCvs] || Windows || GUI front-end for CVS ||
|| [http://www.xchat.org/ XChat] || multi-platform || IRC Client ||
|| [[http://www.codesubwars.org/|CodeSubWars]] || Windows || Free programming game. Uses Python as scripting language for submarine robots. ||
|| Emacs, using [[http://pymacs.progiciels-bpi.ca/|Pymacs]] || multi-platform || Text editor. ||
|| [[http://www.fontlab.com/|FontLab]] || Windows, Mac OS || Commercial font editing software, uses Python as a macro language. ||
|| [[http://gxsm.sourceforge.net/|GXSM]] || Linux, Mac OS X || Gnome X Scanning Microscopy - multi-channel 2D/3D data acquisition and visualization ||
|| [[http://golly.sourceforge.net/|Golly]] || || Open source, cross-platform Conway's Game of Life simulator. ||
|| [[https://helixcommunity.org/|Helix DNA]] || 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. ||
|| [[http://kahakai.sourceforge.net/|Kahakai Window Manager]] || POSIX and X11 || Python is used for event and key binding configuration. ||
|| [[http://www.kaydara.com/products/motionbuilder/|Kaydara Motionbuilder]] || Mac OS X, Windows || Helpful for integrating into production pipelines and allows users to automate repetitive processes. ||
|| [[http://mahogany.sourceforge.net/|Mahogany]] || Linux, Mac OS X, Windows || OpenSource cross-platform mail and news client. ||
|| [[http://www.mindlathe.com/|MindLathe]] || ? || AI middleware ||
|| [[http://www.garagecube.com/modul8/|GarageCube Modul8]] || Mac OS X || Video mixing and compositing for VJs and live performers; uses Python for internal scripting. ||
|| [[http://www.mushclient.com/|MUSHclient]] || Windows & WINE || MUD client ||
|| [[http://nsis.sourceforge.net/|NSIS2]] || Windows || There is an [[http://homepage.hispeed.ch/py430/python/|NSIS Python Plugin]] for this OpenSource installer for Windows. -- Note: ''makensis'', the installer compiler, now compiles and runs on POSIX systems too. ||
|| [[http://www.ogre3d.org/|OGRE]] || multi-platform || Object-Oriented Rendering Engine ||
|| [[http://www.openoffice.org/|OpenOffice]] || multi-platform || [[http://udk.openoffice.org/python/python-bridge.html|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, [[http://wiki.python.org/moin/PyWin32|PyWin32]] (formerly Win32All) makes it possible to script Microsoft Office apps and build plug-ins. Of special note is the [[http://spambayes.sourceforge.net/windows.html|SpamBayes]] plug-in for Outlook which enables any Outlook user to use [[http://spambayes.sourceforge.net/windows.html|SpamBayes]] without even knowing anything about Python. ||
|| [[http://magix.fri.uni-lj.si/orange/|Orange]] || 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. ||
|| [[http://www.gnome.org/projects/orca/|Orca]] || GNOME || Accessibility toolkit for applications using GTk+/AT-SPI that provides speech synthesis, braille, and magnification. ||
|| [[http://www.jasc.com/products/paintshoppro/|Paint Shop Pro 8]] || Windows || Photo and graphics editor. [[http://www.jasc.com/support/customercare/articles/psp8components.asp|PSP scripting resources]] ||
|| [[http://www.etc.cmu.edu/panda3d/|Panda3D]] || multi-platform || Open Source game and simulation engine. Disney is one of the notable users. Check out the [[http://www.python.org/pycon/dc2004/papers/29/Panda3D.htm|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. [[http://www.prnewswire.com/cgi-bin/stories.pl?ACCT=SVBIZINK8.story&STORY=/www/story/03-25-2004/0002134657|press release]] ||
|| [[http://www.ciranova.com/products/|Ciranova's PyCell Studio]] || || A tool from an Electronic Design Automation company ||
|| [[http://www.resolversystems.com/products/resolver-one.php|Resolver One]] || .NET/CLR || Programmable spreadsheet built around IronPython. ||
|| [[http://www.scorpionvision.com/|Scorpion Vision Software]] || Windows || Machine-vision software for industrial use with Python scripting ||
|| [[http://www.scribus.net/|Scribus]] || || ||
|| [[http://www.silverrun.com/|SilverRun ModelSphere]] || Windows/Linux/Solaris || A relational data modeling tool with Jython scripting. ||
|| [[http://www.spss.com/devcentral/|SPSS]] || || Statistical and data management package for analysts and researchers. ||
|| [[http://www.froglogic.com/squish|Squish]] || multi-platform || An automated GUI testing framework for Qt applications that supports Python scripting ||
|| [[http://subversion.tigris.org/|Subversion]] || multi-platform || A compelling replacement for CVS. See the [[http://subversion.tigris.org/project_links.html|Project Links]], [[http://subversion.tigris.org/bindings.html|Bindings]] or do a [[http://www.google.com/search?&q=site:subversion%2Etigris%2Eorg+python|Google site search]]. ||
|| [[http://netdragon.sourceforge.net|SuperKaramba]] || Linux, KDE || !SuperKaramba allows you to create cool dekstop widgets with little to no programming experience. It's similar to "Konfabulator" for the Mac. ||
|| [[http://www.caligari.com/|truSpace]] || Windows || 3D modelling/animation package ||
|| [[http://www.vim.org/|Vim]] || multi-platform || Text editor. ||
|| [[http://www.wincvs.org/|WinCvs]] || Windows || GUI front-end for CVS ||
|| [[http://www.xchat.org/|XChat]] , [[http://www.silverex.info/|SilvereX's free Windows version]] || multi-platform || IRC Client ||
Line 44: Line 67:
|| '''Name''' || '''Platform''' || '''Notes''' ||
|| [http://crystal.sourceforge.net/ Crystal Space] || multi-platform || OpenSource 3D SDK ||
|| [http://www.myfreedomforce.com/ Freedom Force] || Windows || [http://www.google.com/search?q=freedom+force+python Google link] ||
|| [http://www.bridgecommander.com/ Star Trek Bridge Commander] || Windows || ||
|| [http://vegastrike.sourceforge.net/ Vega Strike] || Linux, Mac, Windows || 3D OpenGL Action Space Sim ||
||<30%> '''Name''' ||<15%> '''Platform''' ||<55%> '''Notes''' ||
|| [[http://www.funkidsgames.com/games/byhockey_pc/|Backyard Hockey]] || Windows || [[http://onlamp.com/pub/a/python/2002/07/11/pythonnews.html|1]], [[http://www.cygnus-software.com/papers/gamescriptinginpython.html|2]], [[http://mail.python.org/pipermail/tutor/2003-June/023690.html|3]] ||
|| [[http://www.eagames.com/official/battlefield/battlefield2/us/home.jsp|Battlefield 2]] || Windows? || Scriptable in Python ||
|| [[http://www.bigworldtech.com/|BigWorld]] || Windows || Complete MMOG tool set. The [[http://www.bigworldtech.com/faq.php|FAQ]], [[http://www.bigworldtech.com/client/client_object_scripting.htm|Client Engine]] and [[http://www.bigworldtech.com/server/server_custom_worlds.htm|Server Engine]] pages highlight how Python is integrated. ||
|| [[http://www.codemasters.com/blade/|Blade of Darkness]] || Windows || ||
|| [[http://butterfly.net/|Butterfly.net]] || multi-platform || "The scalable, reliable and high performance online game platform." Uses Python for advanced interactions between players and non-player characters ||
|| Cars with Guns || Windows || ||
|| [[http://civilization4.net/files/modding/PythonAPI/|Civilization IV]] || || ||
|| [[http://www.earthandbeyond.ea.com/|Earth & Beyond]] || Windows || ||
|| [[http://www.eve-online.com/|Eve-Online]] || Windows || Uses StacklessPython for client and server. Description from the web site - EVE: The Second Genesis, is a massively multiplayer, online, persistent world game. perhaps even too real to be called a game, but definitely more fun than reality. Played on the Net, it takes place in a world that is alive and kicking every day, every hour. Players are spaceship captains cruising around the universe, trading, fighting and communicating with other players. ||
|| [[http://www.irrationalgames.com/ff/|Freedom Force]] || Windows || http://www.google.com/search?q=Freedom+Force+Python ||
|| [[http://www.gamerankings.com/htmlpages2/516506.asp|Frequency]] || PS2 || ||
|| SpongeBob Squarepants || PS2 and !GameCube || See Jason's [[http://www.asbahr.com/papers.html|paper]] on the Python-based scripting system. ||
|| [[http://www.bridgecommander.com/|Star Trek Bridge Commander]] || Windows || ||
|| [[http://www.atari.com/toee/|Temple of Elemental Evil]] || || ||
|| [[http://play.toontown.com/|Toontown Online]] || Windows || MMORPG. [[http://www.gamasutra.com/features/20040128/goslin_01.shtml|Postmortem: Disney Online's Toontown]] on Gamasutra. Also see info on Panda3D above. ||
|| [[http://uru.ubi.com/us/|Uru: Ages Beyond Myst]] || Windows || ||
|| [[http://vegastrike.sourceforge.net/|Vega Strike]] || Linux, Mac, Windows || 3D OpenGL Action Space Sim ||
|| [[http://www.wesnoth.org|Wesnoth]] || Linux, Mac, Windows || Open-source turn-based-strategy game, uses optional Python AI scripting since version 1.2.0 ||

=== Graphics ===

|| [[http://flyingmeat.com/acorn/|Acorn]] || MacOS X || Image editor. ||
|| [[http://www.blender.org/|Blender]] || multi-platform || OpenSource software for 3D modeling, animation, rendering, post-production, interactive creation and playback. [[http://www.blender.org/documentation/245PythonDoc/API_intro-module.html|Blender Python API reference]] and [[http://www.blender.org/tutorials-help/python/|tutorials]]. ||
|| [[http://crystal.sourceforge.net/|Crystal Space]] || multi-platform || OpenSource 3D SDK ||
|| [[http://www.gimp.org/|GIMP]] || multi-platform, GTK || GNU Image Manipulation Program. [[http://www.daa.com.au/~james/software/pygimp/|PyGimp]] is a package that allows people to write plug-ins for Gimp on Python rather than Script-Fu (Scheme), Perl, Tcl or C. ||
|| [[http://www.sidefx.com|SideFX Houdini]] || || Professional 3D animation and visual effects software ||
|| [[http://wiki.inkscape.org/wiki/index.php/PythonEffectTutorial|Inkscape]] || multi-platform || Scalable Vector Graphics editor ||
|| [[http://irrlicht.sourceforge.net/|irrlicht]] || multi-platform || The Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines. ||
|| [[http://www.autodesk.com/us/maya/docs/Maya85/wwhelp/wwhimpl/common/html/wwhelp.htm?context=DeveloperResources&file=Introduction_to_Maya_Python_API.html|Autodesk Maya]] || || 3D modeling, animation, effects, and rendering program. ||
|| [[http://oss.sgi.com/projects/inventor/|Open Inventor]] || multi-platform || Object-oriented 3D toolkit. [[http://pivy.tammura.at/|Pivy]] is the Python binding for Open Inventor. Check out the [[http://www.python.org/pycon/dc2004/papers/47/pycon-pivy-paper.html|Pycon paper on Pivy]]. ||
|| [[http://www.curiouslabs.com/|Poser]] || Windows and Mac OS X || 3D character animation tool ||
|| [[http://www.e-onsoftware.com/Products/vue5infinite/|Vue Infinite]] || Multi-platform || Vue is e-on software's award-winning, complete 3D studio to create, render and animate ultra-realistic 3D natural environments. ||
|| [[http://www.cgw.com/ME2/dirmod.asp?sid=&nm=&type=Publishing&mod=Publications%3A%3AArticle&mid=8F3A7027421841978F18BE895F87F791&tier=4&id=25375C2E874C44A29BFB7FDF86F4FD75|Zeno]] || || Internal graphics pipeline used by Industrial Light & Magic. ||



<<Anchor(head-3)>>
=== Tools For Integrating Python ===

 * [[Pyrex]]
 * [[http://www.swig.org/|SWIG]] (Wiki:SimplifiedWrapperAndInterfaceGenerator)
 * BoostPython and [[http://www.boost.org/libs/python/doc/index.html|Boost.Python]] (official page)
 * [[http://pyobjc.sourceforge.net|PyObjC]] (Mac OS X)
 * [[http://www.riverbankcomputing.co.uk/sip/index.php|SIP]]

=== Articles ===

 * [[http://www.idevnews.com/TipsTricks.asp?ID=107|Devs Using Python to Boost Integration]] - In this two-part interview, Martelli offers Win32, Java and .NET devs some useful perspectives on Python, and how Python scripting can extend the integration capabilities of their Win32, ASP.Net, Java and C/C++ applications.
 * Embedding Python in Multi-Threaded C/C++ Applications in [[http://www.linuxjournal.com/article.php?sid=3641|LinuxJournal]]
 * Building Hybrid Systems with Boost.Python in [[http://www.cuj.com/documents/s=8188/cuj0307abrahams/|C/C++ User Journal]]
 * [[http://www.suttoncourtenay.org.uk/duncan/accu/integratingpython.html|Integrating Python, C and C++]], presented at the ACCU conference by Duncan Booth, and his [[http://www.suttoncourtenay.org.uk/duncan/accu/accuconf2003.zip|conference slides]]
Line 52: Line 122:
  * PythonEditors
  * [http://www.python.org/community/users.html Organizations and Apps using Python]
  * [http://www.cygnus-software.com/papers/gamescriptinginpython.html Game Scripting in Python]
 * PythonEditors
 * [[http://www.python.org/community/users.html|Organizations and Apps using Python]]
 * http://www.thinkware.se/cgi-bin/thinki.cgi/PythonUsers
 * [[http://www.cygnus-software.com/papers/gamescriptinginpython.html|Game Scripting in Python]]
 * [[http://www.onlamp.com/pub/a/python/2002/07/11/pythonnews.html|Humongous Games]]
 * IntegratingPythonWithOtherLanguages

=== Additional Notes ===

After adding Panda3D and Open Inventor I've started to wonder whether those really qualify as apps the way I originally envisioned this list? Perhaps we should have a separate page for C/C++ libraries, frameworks, etc. that have Python bindings? That would include frameworks like GTK, QT, and WxWidgets which have popular Python bindings. Regardless, all the Python bindings available for popular C/C++ tools and frameworks shows the agility of Python. There are great benefits to adding Python bindings to existing C/C++ (and Java) code bases so that you can leverage the power and flexibility of Python without abandoning an existing code base or giving up the speed of C/C++ code. In these cases, Python is a complement rather than a complete replacement for another programming language. -- KevinAltis

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 Pyrex 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.

(!) 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

Abaqus

multi-platform

Finite element analysis, modeling, and visualization. Python is embedded for command scripting and GUI extensibility.

ArcGis

BioNumerics

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.

ClearSilver

multi-platform

Web application framework

CodeSubWars

Windows

Free programming game. Uses Python as scripting language for submarine robots.

Emacs, using Pymacs

multi-platform

Text editor.

FontLab

Windows, Mac OS

Commercial font editing software, uses Python as a macro language.

GXSM

Linux, Mac OS X

Gnome X Scanning Microscopy - multi-channel 2D/3D data acquisition and visualization

Golly

Open source, cross-platform Conway's Game of Life simulator.

Helix DNA

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.

Kahakai Window Manager

POSIX and X11

Python is used for event and key binding configuration.

Kaydara Motionbuilder

Mac OS X, Windows

Helpful for integrating into production pipelines and allows users to automate repetitive processes.

Mahogany

Linux, Mac OS X, Windows

OpenSource cross-platform mail and news client.

MindLathe

?

AI middleware

GarageCube Modul8

Mac OS X

Video mixing and compositing for VJs and live performers; uses Python for internal scripting.

MUSHclient

Windows & WINE

MUD client

NSIS2

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.

OGRE

multi-platform

Object-Oriented Rendering Engine

OpenOffice

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.

Orange

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.

Orca

GNOME

Accessibility toolkit for applications using GTk+/AT-SPI that provides speech synthesis, braille, and magnification.

Paint Shop Pro 8

Windows

Photo and graphics editor. PSP scripting resources

Panda3D

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

Ciranova's PyCell Studio

A tool from an Electronic Design Automation company

Resolver One

.NET/CLR

Programmable spreadsheet built around IronPython.

Scorpion Vision Software

Windows

Machine-vision software for industrial use with Python scripting

Scribus

SilverRun ModelSphere

Windows/Linux/Solaris

A relational data modeling tool with Jython scripting.

SPSS

Statistical and data management package for analysts and researchers.

Squish

multi-platform

An automated GUI testing framework for Qt applications that supports Python scripting

Subversion

multi-platform

A compelling replacement for CVS. See the Project Links, Bindings or do a Google site search.

SuperKaramba

Linux, KDE

SuperKaramba allows you to create cool dekstop widgets with little to no programming experience. It's similar to "Konfabulator" for the Mac.

truSpace

Windows

3D modelling/animation package

Vim

multi-platform

Text editor.

WinCvs

Windows

GUI front-end for CVS

XChat , SilvereX's free Windows version

multi-platform

IRC Client

Games

Name

Platform

Notes

Backyard Hockey

Windows

1, 2, 3

Battlefield 2

Windows?

Scriptable in Python

BigWorld

Windows

Complete MMOG tool set. The FAQ, Client Engine and Server Engine pages highlight how Python is integrated.

Blade of Darkness

Windows

Butterfly.net

multi-platform

"The scalable, reliable and high performance online game platform." Uses Python for advanced interactions between players and non-player characters

Cars with Guns

Windows

Civilization IV

Earth & Beyond

Windows

Eve-Online

Windows

Uses StacklessPython for client and server. Description from the web site - EVE: The Second Genesis, is a massively multiplayer, online, persistent world game. perhaps even too real to be called a game, but definitely more fun than reality. Played on the Net, it takes place in a world that is alive and kicking every day, every hour. Players are spaceship captains cruising around the universe, trading, fighting and communicating with other players.

Freedom Force

Windows

http://www.google.com/search?q=Freedom+Force+Python

Frequency

PS2

SpongeBob Squarepants

PS2 and GameCube

See Jason's paper on the Python-based scripting system.

Star Trek Bridge Commander

Windows

Temple of Elemental Evil

Toontown Online

Windows

MMORPG. Postmortem: Disney Online's Toontown on Gamasutra. Also see info on Panda3D above.

Uru: Ages Beyond Myst

Windows

Vega Strike

Linux, Mac, Windows

3D OpenGL Action Space Sim

Wesnoth

Linux, Mac, Windows

Open-source turn-based-strategy game, uses optional Python AI scripting since version 1.2.0

Graphics

Acorn

MacOS X

Image editor.

Blender

multi-platform

OpenSource software for 3D modeling, animation, rendering, post-production, interactive creation and playback. Blender Python API reference and tutorials.

Crystal Space

multi-platform

OpenSource 3D SDK

GIMP

multi-platform, GTK

GNU Image Manipulation Program. PyGimp is a package that allows people to write plug-ins for Gimp on Python rather than Script-Fu (Scheme), Perl, Tcl or C.

SideFX Houdini

Professional 3D animation and visual effects software

Inkscape

multi-platform

Scalable Vector Graphics editor

irrlicht

multi-platform

The Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines.

Autodesk Maya

3D modeling, animation, effects, and rendering program.

Open Inventor

multi-platform

Object-oriented 3D toolkit. Pivy is the Python binding for Open Inventor. Check out the Pycon paper on Pivy.

Poser

Windows and Mac OS X

3D character animation tool

Vue Infinite

Multi-platform

Vue is e-on software's award-winning, complete 3D studio to create, render and animate ultra-realistic 3D natural environments.

Zeno

Internal graphics pipeline used by Industrial Light & Magic.

Tools For Integrating Python

Articles

Other Resources (many apps from pages below need to be copied to this page)

Additional Notes

After adding Panda3D and Open Inventor I've started to wonder whether those really qualify as apps the way I originally envisioned this list? Perhaps we should have a separate page for C/C++ libraries, frameworks, etc. that have Python bindings? That would include frameworks like GTK, QT, and WxWidgets which have popular Python bindings. Regardless, all the Python bindings available for popular C/C++ tools and frameworks shows the agility of Python. There are great benefits to adding Python bindings to existing C/C++ (and Java) code bases so that you can leverage the power and flexibility of Python without abandoning an existing code base or giving up the speed of C/C++ code. In these cases, Python is a complement rather than a complete replacement for another programming language. -- KevinAltis

AppsWithPythonScripting (last edited 2019-07-05 23:27:31 by JaraKaca)

Unable to edit the page? See the FrontPage for instructions.