What is web2py?

web2py is a free, open-source web framework for agile development of secure database-driven
web applications;it is written in Python and programmable in Python. web2py is a full-stack framework,
meaning that it contains all the components you need to build fully functional web applications.



Model View Controller(MVC)

web2py is designed to guide a web developer to follow good software engineering practices, such as using
the Model View Controller (MVC) pattern. web2py separates the data representation (the model) from the
data presentation (the view) and also from the application logic and workflow (the controller).web2py provides
libraries to help the developer design, implement, and test each of these three parts separately, and makes
them work together.



Security

web2py is built for security. This means that it automatically addresses many of the issues that can lead to security vulnerabilities, by following well established practices. For example, it validates all input (to prevent injections), escapes all output (to prevent cross-site scripting), renames uploaded files (to prevent directory traversal attacks). web2py takes care of main security issues, so developers have less chances of introducing vulnerabilities.



Database Abstraction Layer

web2py includes a Database Abstraction Layer (DAL) that writes SQL dynamically so that you, the developer, don't have to. The DAL knows how to generate SQL transparently for SQLite, MySQL, PostgreSQL, MSSQL, FireBird, Oracle, IBM DB2, Informix and Ingres.The DAL can also generate function calls for the Google Datastore when running on the Google App Engine (GAE). Once one or more database tables are defined, web2py automatically generates a fully functional web-based database administration interface to access the database and the tables.



Architecturally Independent

web2py differs from other web frameworks in that it is the only framework to fully embrace the Web 2.0 paradigm, where the web is the computer. In fact, web2py does not require installation or configuration;
it runs on any architecture that can run Python (Windows, Windows CE, Mac OS X, iOS, and Unix/Linux), and the development, deployment, and maintenance phases for the applications can be done via a local or remote web interface. web2py runs with CPython (the C implementation) and PyPy (Python written in Python), on Python versions 2.5, 2.6, and 2.7.