Applications for Python
Python is used in many application domains. Here's a sampling.
- ThePython Package Indexlists thousands of third party modules for Python.
Web and Internet Development
Python offers many choices forweb development:
- Frameworks such asDjangoandPyramid.
- Micro-frameworks such asFlaskandBottle.
- Advanced content management systems such asPloneanddjango CMS.
Python's standard library supports many Internet protocols:
- HTML and XML
- JSON
- E-mail processing.
- Support forFTP, IMAP,and otherInternet protocols.
- Easy-to-usesocket interface.
And the Package Index has yet more libraries:
- Requests,a powerful HTTP client library.
- Beautiful Soup, an HTML parser that can handle all sorts of oddball HTML.
- Feedparserfor parsing RSS/Atom feeds.
- Paramiko,implementing the SSH2 protocol.
- Twisted Python,a framework for asynchronous network programming.
Scientific and Numeric
Python is widely used inscientific and numericcomputing:
- SciPyis a collection of packages for mathematics, science, and engineering.
- Pandasis a data analysis and modeling library.
- IPythonis a powerful interactive shell that features easy editing and recording of a work session, and supports visualizations and parallel computing.
- TheSoftware Carpentry Courseteaches basic skills for scientific computing, running bootcamps and providing open-access teaching materials.
Education
Python is a superb language for teaching programming, both at the introductory level and in more advanced courses.
- Books such asHow to Think Like a Computer Scientist, Python Programming: An Introduction to Computer Science,and Practical Programming.
- TheEducation Special Interest Group is a good place to discuss teaching issues.
Desktop GUIs
TheTkGUI 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:
- GTK+
- Microsoft Foundation Classes through thewin32 extensions
Software Development
Python is often used as a support language for software developers, for build control and management, testing, and in many other ways.
- SConsfor build control.
- BuildbotandApache Gumpfor automated continuous compilation and testing.
- RounduporTracfor bug tracking and project management.
Business Applications
Python is also used to build ERP and e-commerce systems: