Flask (programming)
Flask is a lightweight web application framework
Web application framework
A web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services. The framework aims to alleviate the overhead associated with common activities performed in Web development...

 written in Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 and based on the Werkzeug WSGI toolkit and Jinja2 template engine. It is BSD licensed.

Flask is called a “microframework” because it keeps the core simple but extensible. There is no database abstraction layer, no form validation or anything else where different libraries already exist that can handle that. However Flask knows the concept of extensions that can add this functionality into your application as if it was implemented in Flask itself. There are currently extensions for object relational mappers, form validation, upload handling, various open authentication technologies and more.


Flask was created by Armin Ronacher. "It came out of an April Fool's joke but proved popular enough to make into a serious application in its own right.".

Flask is inspired by Sinatra
Sinatra (software)
Sinatra is a free and open source web application library and domain-specific language written in Ruby. It is an alternative to other Ruby web application frameworks such as Ruby on Rails, Merb, Nitro, Camping, and Rango. It is dependent on the Rack web server interface.Designed and developed by...



  • Contains development server and debugger
  • Integrated support for unit testing
  • RESTful request dispatching
  • Uses Jinja2
    Jinja (Template engine)
    Jinja is a template engine for the Python programming language. It is similar to the Django template engine but provides Python-like expressions while ensuring that the templates are evaluated in a sandbox. It's a text-based template language and thus can be used to generate any markup as well as...

  • Support for secure cookies (client side sessions)
  • 100% WSGI 1.0 compliant
  • Unicode based
  • Extensively documented
  • Google App Engine
    Google App Engine
    Google App Engine is a platform as a service cloud computing platform for developing and hosting web applications in Google-managed data centers. It virtualizes applications across multiple servers,...

  • Extensions available to enhance features desired.

Web applications built on Flask

  • 960 Layout System - The generator of the 960 Layout System is powered by Flask.
  • Have they emailed me? - A mini-site for checking Google's Gmail feed with Oauth.
  • getpython3.net - A website to for Python programmers to report compatibility of various libraries with Python version 3.

See also

  • Comparison of web application frameworks
    Comparison of web application frameworks
    This is a comparison of notable web application frameworks.-Perl:-PHP:-Java:-Python:-Ruby:-CFML :-ASP.NET:-Other:-ASP.NET:-C++:-CFML:-Python:-Java:-PHP:-Ruby:-Others:...

  • Django
  • Pylons
  • Bottle

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.