Application Domains
Python is used across many application domains. Here's a sampling.
- The Python Package Index hosts thousands of third party modules for Python.
Web and Internet Development
Python offers a wide range of choices for web development:
- Writing basic CGI scripts.
- Frameworks such as Django and TurboGears.
- High-end solutions such as Zope.
- Advanced content management systems such as Plone.
For custom web solutions and other internet-based applications:
- Extensive support for HTML and XML.
- E-mail processing.
- Processing RSS feeds.
- Support for many other Internet protocols.
Database Access
- Custom and ODBC interfaces to MySQL, Oracle, MS SQL Server, PostgreSQL, SybODBC, and others are available for free download.
- Standard Database API.
- Object databases such as ZODB and Durus.
Desktop GUIs
Scientific and Numeric
Python is widely used in scientific and numeric computing:
Education
Python is a superb language for teaching programming, both at the introductory level and for more advanced courses.
- Education Special Interest Group is a good place to start.
- pyBiblio links to many different resources.
- The Software Carpentry Course.
Network Programming
In addition to the web and internet support described above, Python also provides support for lower level network programming:
- Easy-to-use socket interface.
- Twisted Python, a framework for asynchronous network programming.
Software Development
Python is often used as a support language for software developers, for build control and management, testing, and in many other ways.
- SCons for build control.
- Buildbot and Apache Gump for automated continuous compilation and testing.
- Roundup or Trac for bug tracking and project management.
- Roster of Integrated Development Environments.
Game and 3D Graphics
Python is widely used in commercial and hobby game development:
- A partial list of games is on the Python Games wiki page.
- PyGame and PyKyra are two of the game frameworks available for Python.
- List of 3D rendering libraries available for Python.
- PyWeek is a semi-annual game programming contest.