What is Python?
Python is a programming language that lets you work more quickly and integrate your systems more effectively. You can learn to use Python and see almost immediate gains in productivity and lower maintenance costs. Python runs on Windows, Linux/Unix, Mac OS X, and has been ported to the Java and .NET virtual machines.
- Powerful and fast. Python lets you write the code you need, quickly. And, thanks to a highly optimized byte compiler and support libraries, Python code runs more than fast enough for most applications.
- Runs everywhere. Python is available for all major operating systems: Windows, Linux/Unix, OS/2, Mac, Amiga, among others.
- Easily integrated. Python can integrate with .COM, .NET, and .CORBA objects. There are implementation of Python for Java libraries and for .NET objects. Python is also supported for the Internet Communications Engine (ICE) and for many other integration technologies.
- Clear & readable syntax. That is why Python is friendly and easy to learn. Python developer and user community maintains a wiki, hosts international and local conferences, runs development sprints, and contributes to online code repositories.
- Freely usable and distributable. The Python implementation is under an open source license that makes it freely usable. Python is free to use, even for commercial products, because of its OSI-approved open source license.
Python was created in the early 1990s by Guido van Rossum at Stichting Mathematisch Centrum in the Netherlands as a successor of a language called ABC. Guido remains Python’s principal author, although it includes many contributions from others. In 1995, Guido continued his work on Python at the Corporation for National Research Initiatives in Reston, Virginia where he released several versions of the software.
In May 2000, Guido and the Python core development team moved to BeOpen.com to form the BeOpen PythonLabs team. In October of the same year, the PythonLabs team moved to Digital Creations. In 2001, the Python Software Foundation was formed, a non-profit organization created specifically to own Python-related Intellectual Property. Zope Corporation is a sponsoring member of the PSF.
Python is one of the powerful dynamic programming languages, which is widely used for developing various web systems, including:
MediaDrop (previously MediaCore CE) is an open source online video platform that provides delivery and management of video, audio and podcasts. It features impressive accessibility and scalability, a high degree of control over the resources presentation and administration, statistics and commenting. MediaDrop is a Python application built atop the Django framework, integrates with MySQL and PostgreSQL, works with both HTML5 and Flash video players.
Locust.io is an open source Python-based user load testing tool. This lightweight, distributed and scalable framework helps to figure out how many concurrent users a system can handle by writing test scenarios in Python code.
Taiga is a free and open source project management platform aimed at agile developers and designers. It is written in Python and built on top of Django and AngularJS. Taigo.io features Kanban and Scrum template, backlog, sprints, custom reports and virtual project video conferencing room.
There are situations when you do not want to install Python on your computer and need tools that will enable you to run Python scripts online. This is a list of online Python tools that can be useful for you.
Here we examine several open source web servers written in Python. They are: Gunicorn, Twisted Web, Chaussette, as well as WSGI servers from Tornado, CherryPy, and Waitress.
Fabric is a Python library and command-line tool. It provides a basic suite of operations for interacting with SSH and computer systems in order to automate a wide range of tasks from application deployment to general system (and server) administration tasks.
AskBot is a free and open source Question & Answer forum web application written in Python and Django. It offers functionality similar to StackOverflow: Q&A workflow, voting, karma, content moderation, email alert system, and many more.
virtualenv is a tool used to create isolated environments for Python.
Zato is an open source Python-based middleware platform and backend application server. It was designed as an agile ESB (Enterprise Service Bus) aimed at building systems of systems either on-premise or in the cloud. Zato provides SOA (Service Oriented Architecture), REST (Representational State Transfer), APIs and cloud integration, as well as back-end services exposure to front-end clients.
nose makes testing for Python easier. It is a fairly well known Python discovery-based unittest extension that can run doctests, unittests, “no boilerplate” tests and provides xUnits, generators and fixtures.
Alerta is an open source scalable monitoring tool that is written in Python, easily configured, accepts alerts from any source, correlates and de-duplicates them, and then presents alerts via an API.
Neurokernel is an open software platform written in Python and CUDA for developing models of the brain of the fruit fly (Drosophila melanogaster) and executing them on multiple NVIDIA GPUs.
gevent is a coroutine-based high performance networking library for Python with a high-level synchronous API provided by greenlet and fast event loop based on libev.
Transifex is a web-based localization management platform for collecting, translating and delivering software products and supporting content. It was written using Django and Python, is offered as a software as a service.
Apache Bloodhound is an open source web-based project management and bug tracking system. It was built on top of Trac using Python and Bootstrap. This software development collaboration tool features multiple products hosting, enhanced full-text search, and user-friendly design.
Nimbus is an open-source toolkit focused on providing Infrastructure-as-a-Service (IaaS) capabilities to the scientific community. It is written in Python and Java for rapid development of custom community-specific solutions.
FlaskBB is a lightweight forum software written in Python using the micro framework Flask.
Invenio is a free and open source software suite for management of digital library or document repository on the web. Functionality includes data acquisition, classification, indexing, storage, release, and distribution. It uses Apache/WSGI, Python, and MySQL.
Anaconda is a free enterprise-ready Python distribution with more than 195 Python packages for large-scale data processing, predictive analytics, and scientific computing, including NumPy, SciPy, Netcdf4, Spyder, Matplotlib, Pandas, IPython, Matplotlib, Numba, Blaze, Bokeh and many others.
Viewflow is a reusable workflow library that is Python/Django-friendly, easily customizable and ready to use. It provides explicit, multi-user, static workflow with support for parallel tasks execution and complex split/joins.
ERPNext is an open source web-based system aimed at small and medium sized businesses. It assists companies with accounting, human resource management, sales, purchase, inventory, CRM, administration, project and task management, manufacturing, and even website. ERPNext is built using Python, Frappe, and MySQL.
Cocos2d is an open source software framework that is used to build games, apps and other cross-platform GUI-based interactive programs. It is written in Python using pyglet library and features flow control, fast and easy sprites, big number of transitions, actions that allow you to animate quicker, and access to OpenGL functionality.
GeoDjango is a set of extensions to Django that provides geographic models, database APIs, functions, and utilities to easily incorporate geospatial data inside your web portal or create rich geographic web apps.
Weblate is a free feature rich web-based translation tool written in Python on the basis of Django web framework. Weblate’s main features are: Git integration, effective user interface, automatic linking to source files, propagation of translations across subprojects, and quality checks.
Celery is an asynchronous task queue/job queue based on distributed message passing.
Knowledge Management Key (KMKey) is a web based open source knowledge management software written mostly in Python that allows users to plan and manage projects, follow any Quality Management System, maintain department and manage tickets.
Pootle is an online translation and localization tool that features terminology extraction, glossary, goals, statistics, user management, and error checks. It focuses on quality and enables both on-line and offline translation. Pootle was written in Python programming language using the Django framework.
SQLAlchemy high performing and accurate Python SQL toolkit and Object Relational Mapper (ORM) for working with relational databases, using the Python DBAPI for database interactivity.
Circus is a robust process and socket manager developed using Python and ZeroMQ to run, control and monitor processes and sockets.
SCons is an open source computer software construction tool implemented in Python with automatic detection of source code file dependencies, MD5 signatures, and built-in support for C, C++, Objective-C, D, Yacc, Java, Qt, Fortran, Lex, and SWIG, as well as TeX and LaTeX documents.
OpenStack is a free and open-source cloud operating system that provides tools to build and manage cloud computing platforms for public and private clouds.
Buildbot is a software development Python system that provides the structure and components to automate your build, test, and release processes.
IPython is an interactive shell for Python that provides enhanced introspection, additional shell syntax, flexible debugging, case-sensitive tab completion, parallel computing, etc.
Ansible is a simple open-source software automation platform in Python that takes care of application deployment, configuration management, task execution, and multi-node orchestration. Ansible Playbook for automated deployment of Plone servers was introduced recently.
Salt is fast and flexible systems management software written in Python for data center automation, cloud orchestration, configuration management, etc.
Merengue is a full-featured and pluggable CMS based on Python and Django.
Bootcamp is an open source enterprise social network in Python that includes basic features: Feed, Articles, Q&A app.
MyHDL is a Python-Based Hardware Description Language
RatticDB is an open source Python/Django based password management database developed to simplify the password management for human teams.
SecureDrop is an open source whistleblower platform developed mainly in Python and designed to securely accept documents from and communicate with anonymous sources.
CubicWeb is well-defined Python semantic web application framework that focuses on quality, reusability and efficiency of the development solution.
Cactus is easy-to use powerful static website generator that basis on Python and the Django templates
Odoo (formerly OpenERP) is a suite of open source business Python apps that help in managing businesses and organizations using CMS, a fully-functional eCommerce, a Business Intelligence engine, etc.
Pecan is a lightweight and lean WSGI object-dispatching Python web framework focused on building HTTP-based applications.
Kotti is a web application framework that includes full-featured CMS that uses a set of reliable tools like Python, Pyramid, SQLAlchemy, Colander, and Deform.
OpenEMM is a web-based enterprise application for email marketing, newsletters and service mails that uses Python for backend.
FreeNAS - a free and open-source Python/Django software based on FreeBSD and the ZFS file system that enables users to build network-attached-storage (NAS) on nearly any hardware platform.
Falcon is a high-performance Python framework for building cloud APIs.
Tendenci is open source CMS written in Python on a Django web framework and developed specifically for Non Profit Organizations (NPOs).
Tryton is a three-tier high-level general purpose application platform written in Python, usually used as a core base for an Enterprise resource planning (ERP) business solutions.
Ninja-IDE is an open source cross-platform integrated development environment that focuses on Python at first but has support for code highlighting for various languages.
PyDev is a third-party plug-in for Eclipse that supports programming in Python, Cpython, Jython, and IronPython.
Django REST framework is an open source, flexible and fully-featured library with modular and customizable architecture that aims at building sophisticated web APIs and uses Python and Django.
Tree.io open source and powerful business management solution with a big amount of useful features, written in Python, also using Django Web Framework
Small, cheap but powerful single-board computer for electronic projects and learning purposes. Study Python and build your own projects with the Raspberry Pi.
PyBuilder is a reliable and stable multi-purpose software build tool written in Python.
Quokka is a flexible and modular CMS powered by Python, Flask, and MongoDB.
FeinCMS is one of the most flexible, customisable, and feature rich Content Management Systems built on Django and Python.
Pygal is a dynamic SVG charting creator
WeasyPrint is visual rendering engine written in Python that converts HTML/CSS documents to PDF.
Radicale is a simple CalDAV (calendar) and CardDAV (contact) server solution written in Python for clients like Mozilla Thunderbird with Lightning extension, Evolution, KDE KOrganizer, iPhone, etc.
Nikola is a static site and blog generator based on Python.
Mercurial is free version control tool based on the distributed model written in Python. It is quite simple in usage, but its features include high performance and scalability, decentralized and collaborative development, and advanced branching and merging capabilities.
Cartridge is a Python based shopping cart system used as neat, smart and easy in use e-commerce developing base.
Tangelo is a robust web server framework that develops rich and interactive web applications with Python
Wagtail is a Django-based content management system developed to improve flexibility and user experience.
pandas is an open source package that provides flexible and high-performance data structure manipulation and analysis tools for Python.
Web.py is a lightweight and simple framework that assists in the development of simple Python web applications.
Django SHOP is lightweight and fast pythonic/djangonic solution for e-commerce.
OpenCV (Open Source Computer Vision) is a library that provides real-time computer vision and real-time image processing.
Bokeh is a Python interactive visualization library for large datasets.
Spyder is a powerful IDE for scientific programming in Python. It is efficient and free alternative to MatLab.
Shinken is free and open source computer system and network monitoring software, written in Python and compatible with Nagios.
Booktype is an open source software built on top of the Django web framework for authoring, editing, and publishing books to PDF, ePub, .mobi,ODT, and HTML, or export to Amazon, iBooks, Lulu.com, and other print-on-demand or ebook stores.
Graphite is a highly scalable graphing system written entirely in Python that features scalability and real-time access.
Ferris is flexible and mature open source MVC framework that simplifies the process of App Engine application development in Python.
Substance D is a web application server written in Python with stable and refined management interface (SDI) that can be quickly built for custom user experience.
Pylint is a Python code analyzer that looks for the source code bug and programming errors, enforces coding standard and aims at improving code quality.
Haystack is a Python solution for search engines that allows to switch between different backends without having to modify the initial code.
Satchmo is rich and functional shopping cart framework for Django and Python
Oscar is Django framework written in Python and designed to build domain-driven websites with non-trivial business logic
Boto is a Python package that provides easy interaction, interface and automate usage of different Amazon Web Services.
Scrapy is a fast and efficient web scraping and crawling framework used for extracting structured data from web pages for a wide range of purposes.
Jinja2 is fast, secure and designer friendly templating language for Python and Django.
Cheetah is an open-source Python-powered template engine and code generation tool
PyCharm is an intelligent Python IDE that was built by programmers for programmers to ensure comfortable and enjoyable Python and Web development.
Python is easy and powerful programming language with elegant syntax and object-oriented approach to technology. It is cross-platform, as it runs on Windows, Linux/Unix, and Mac OS X. There is a need for comprehensive introduction to the Python programming language, starting from beginners with no previous programming experience.
Bottle.py is fast and lightweight micro web-framework for Python. It was designed to create small-scaled web applications and services.
Kivy is an open source library, written in Python that becomes widely used for rapid development of cross-platform mobile applications and GUI.
Python application for creating documentation
A micro framework, written in Python, easy to extend with comprehensive documentation
Speedy and flexible,PyPy implementation provides you with a wide range of productive innovative ideas designed to meet your requirements
Twisted is an event-driven engine, written in Python, ideal for network application development. It ensures high reliability and performance speed of the developed solutions.
web2py is a scalable open source Python-based web application framework launched in 2007 as a teaching tool which then expanded into the full-fledged database-driven framework. Quintagroup provides its clients with the most highly effective solutions based on this framework
Pyramid Web Framework is an open source Python-based web application framework which appears as one of the web solutions suggested by Quintagroup
Turbogears is an open source data-driven dynamic web application framework written in Python. TurboGears is ideal for creating extensible and flexible web applications.
There is no single best Python IDE. In this article, we examine eight Python integrated development environments, many open source, but some commercial. They are Eric, Komodo, Pydev, PyScripter, SPE, Spyder, Wing IDE and PyCharm.
KARL is the web-based open source system for collaboration, intranets organization and knowledge management.
This article proposes a list of simple programs, written in Python. You can use them as samples, while learning to program with Python.
Tornado is an open source web server built on top of web.py, a powerful Python web framework.
Mayan EDMS is an open-source, Django-based system for managing electronic documents, written in Python.
Armstrong , an open-source platform, is based on the Django Web Framework and written in Python.
Pinax , an open-source platform, based on the Django Web Framework and written in Python.
Mezzanine is an open source content management system built on top of Django, a high-level Python Web framework for rapid development and clean, pragmatic design. Now it is available under the BSD license.
Python as an official language at Google. Python usage on Google various applications.
learn more about Python unit testing, unit testing frameworks PyUnit, Nose and doctest modules and the best techniques stubs, mocks