List of Python software

This is an old revision of this page, as edited by 84.108.138.44 (talk) at 10:57, 18 April 2006. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The Python programming language is actively used by many people, both in industry and academia for a wide variety of purposes. Pythonology lists numerous Python success stories in many types of application and problem domains.

Major organizations using Python

  • Google uses Python for many tasks including the backends of web apps such as Gmail and Google Maps and for many of its search-engine internals.
  • 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.

Educational uses of Python

As of 2005, Python is getting more popular for teaching computer programming. Its strengths for teaching include its syntactic simplicity, flexible typing, and interactive interpreter.

Python uses far fewer symbols than languages like Java and C. For example blocks inside loops and IF statements are indicated by indentation rather than curly braces ({}), and the end of a line does not have to have a semicolon. Beginning students often have initial trouble with memorizing where curly braces and semi-colons go. With Python students can skip directly to the fun part of writing code that does something. Similarly, with Java, and C++, variables types must be declared before being used. That is not needed in Python which again allows students to quickly get to the interesting part of getting their program to do something.

The interactive interpreter is an extremely valuable aid to learning and experimentation. Learning-by-doing is about trying things out and seeing what happens. The faster you can get results from your experiment, the faster that learning produces results. Experience has shown that the interactive interpreter and lack of a compiler really speeds up the learning process, both for beginners and for pros who are learning a new library and such.

Software written in Python

  • BitTorrent, the original implementation and several derivatives
  • Chandler, a personal information manager including calendar, email, tasks and notes support that is currently under development
  • Civilization IV videogame and the newly released computer game uses boost.python to allow the Python programming language access to many parts of the game (including the style and content of all interface screens)
  • Mailman, one of the more popular packages for running email mailing lists
  • MoinMoin, a popular wiki engine in Python
  • OpenRPG, a virtual table on which to play Role Playing Games over the internet
  • Plone, a user-friendly and powerful open source Content Management System
  • Portage, the heart of Gentoo Linux. An advanced package management system based on the *BSD style ports system
  • Solipsis, a system for massively shared virtual world
  • Trac, bug/issue tracking database, integrated with MoinMoin wiki and Subversion source version control
  • Turbogears, an application framework composed of Cherrypy, SQLObject, MochiKit, and KID templates
  • Vampire: The Masquerade - Bloodlines, a videogame, uses Python for game scripting
  • ViewVC, a web-based interface for browsing CVS and SVN repositories
  • Zope, an object-oriented web-application platform. Zope includes an application server with an integrated object-oriented database and a built-in web-based management interface
  • Battlefield 2, a first person shooter that uses python for its configuration scripts
  • Indian Ocean Tsunami Detector, a free mobile phone software for tsunami prediction.
  • EVE Online, a space Multi Massive Online Role Playing Game, the highest-ranked MMORPG on MMORPG.com
  • SPE - Stani's Python Editor, a free, open-source Python IDE for Windows, Linux & Mac with wxGlade (GUI designer), PyChecker (Code Doctor) and Blender (3D) support.

Packages for Python

The Python Cheese Shop and Vaults of Parnassus are two primary directories of hundreds of Python packages

  • matplotlib, an extension providing matlab-like plotting and mathematical functions
  • Numeric Python, a language extension that adds support for large, multi-dimensional arrays and matrices
  • SciPy, a library of scientific and numerical routines
  • SimPy, a discrete-event simulation package;
  • Biopython, an international association of developers of freely available Python tools for computational molecular biology.
  • Python 3D, a package that allows 3D rendering using Python
  • PyObjC, a Python-Objective C bridge that allows one to write Mac OS X software in Python
  • py2exe, compiler that turns Python scripts into standalone Windows programs
  • CherryPy, a Python-powered web framework
  • Django, another Python-powered web framework
  • Topsite Templating System, another Python-powered web framework
  • TurboGears, a web framework combining CherryPy, SQLObject, and Kid
  • ZODB a Python-specific object-oriented database
  • Cheetah, a Python-powered template engine and code-generation tool
  • mod_python, an Apache module allowing direct integration of Python scripts with the Apache web server
  • Quixote a framework for developing Web applications in Python
  • Twisted, a networking framework for Python

Software directories

Python implementations

  • Python – The reference implementation, also known as CPython
  • Jython – Python coded in Java
  • IronPython – Python for .NET and Mono platforms
  • Boo – Python-based but with static typing, for .NET and Mono
  • Stackless Python - Python with coroutines
  • Psyco - not an implementation, but JIT compiler for CPython
  • PyPy – Python coded in Python
  • Parrot – Virtual machine being developed mainly as the runtime for Perl 6, but with the intent to also support dynamic languages like Python, Ruby, Tcl, etc. Can currently execute a subset of Python
  • Logix – Python alternate front-end with macros
  • Movable Python- An alternative distribution of CPython for Windows. It can run off a USB stick and provides a Portable Programming Environment.