Applications for Python
Python is used in many application domains. Here'sa sampling.
- ThePython Package Index liststhousands of third party modules for Python.
Web and Internet Development
Python offers many choices forweb development:
- Frameworks such asDjango andPyramid.
- Micro-frameworks such asFlask andBottle.
- Advanced content management systems such asPlone anddjango CMS.
Python's standard library supports many Internet protocols:
- HTML and XML
- JSON
- E-mail processing.
- Support forFTP,IMAP, andotherInternet protocols.
- Easy-to-usesocket interface.
And the Package Index has yet more libraries:
- Requests, a powerfulHTTP client library.
- Beautiful Soup,an HTML parser that can handle all sorts of oddball HTML.
- Feedparser for parsingRSS/Atom feeds.
- Paramiko, implementingthe SSH2 protocol.
- Twisted Python, a framework forasynchronous network programming.
Scientific and Numeric
Python is widely used inscientific and numeric computing:
- SciPy is a collection of packages for mathematics,science, and engineering.
- Pandas is a data analysis andmodeling library.
- IPython is a powerful interactive shell thatfeatures easy editing and recording of a work session, andsupports visualizations and parallel computing.
- TheSoftware Carpentry Course teachesbasic skills for scientific computing, running bootcamps and providingopen-access teaching materials.
Education
Python is a superb language for teaching programming, both at the introductorylevel and in more advanced courses.
- Books such asHow to Think Like a Computer Scientist,Python Programming: An Introduction to Computer Science, andPractical Programming.
- TheEducation Special Interest Groupis a good place to discuss teaching issues.
Desktop GUIs
TheTk GUI libraryis included with most binary distributions of Python.
Some toolkits that are usable on several platforms are availableseparately:
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.
- SCons for build control.
- Buildbot andApache Gump for automated continuous compilation and testing.
- Roundup orTrac for bug tracking and project management.
