Applications for Python
Python is used in many application domains. Here's a sampling.
- The Python Package Index lists thousands of third party modules for Python.
Web and Internet Development
Python offers many choices for web development:
- Frameworks such as Django and Pyramid.
- Micro-frameworks such as Flask and Bottle.
- Advanced content management systems such as Plone and django CMS.
Python's standard library supports many Internet protocols:
- HTML and XML
- E-mail processing.
- Support for FTP, IMAP, and other Internet protocols.
- Easy-to-use socket interface.
And the Package Index has yet more libraries:
- Requests, a powerful HTTP client library.
- BeautifulSoup, an HTML parser that can handle all sorts of oddball HTML.
- Feedparser for parsing RSS/Atom feeds.
- Paramiko, implementing the SSH2 protocol.
- Twisted Python, a framework for asynchronous network programming.
Scientific and Numeric
Python is widely used in scientific and numeric computing:
- SciPy is a collection of packages for mathematics, science, and engineering.
- Pandas is a data analysis and modeling library.
- IPython is a powerful interactive shell that features easy editing and recording of a work session, and supports visualizations and parallel computing.
- The Software Carpentry Course teaches basic skills for scientific computing, running bootcamps and providing open-access teaching materials.
Python is a superb language for teaching programming, both at the introductory level and in more advanced courses.
- Books such as How to Think Like a Computer Scientist, Python Programming: An Introduction to Computer Science, and Practical Programming.
- The Education Special Interest Group is a good place to discuss teaching issues.
The Tk GUI library is included with most binary distributions of Python.
Some toolkits that are usable on several platforms are available separately:
Platform-specific toolkits are also available:
- Microsoft Foundation Classes through the win32 extensions
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.