Python is a programming language that lets you work more quickly and integrate your systems more effectively. Python is used for web development, AI, machine learning, operating systems, mobile application development, and video games.
Python is used in many application domains. Here's a sampling.
- The Python Package Index lists thousands of third party modules for Python.
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
- JSON
- 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.
- Beautiful Soup, 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.
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:
- wxWidgets
- Kivy, for writing multitouch applications.
- Qt via pyqt or pyside
Platform-specific toolkits are also available:
- GTK+
- 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.
Python is also used to build ERP and e-commerce systems:
- Odoo is an all-in-one management software that offers a range of business applications that form a complete suite of enterprise management applications.
- Tryton is a three-tier high-level general purpose application platform.