Flask

Flask is one of the most popular web frameworks for building web applications with Python.

The microframework

Based on Werkzeug utility library and Jinja2 templating, the Python web framework Flask is also known as a microframework as it does not need any special libraries or tools to work with. It also doesn’t have a database abstraction level, form validation or other components with libraries providing some common functions. Despite this, it supports a number of generic extensions for adding application features like data mapping, admin, security and so forth.

Feature list

The Flask web framework can be described by the following features:

  • Jinja2-based templating;
  • URL routing;
  • Error handling and debugger;
  • Integrated support for unit testing;
  • REST-ful request dispatcher;
  • Support for secure cookies;
  • WSGI compliant;
  • UNICODE supporting;
  • Extensive documentation;
  • Google App Engine compatible
  • A great number of supported extensions.

Being the most featured Python web development framework, with 46.2k rates on GitHub, as compared to not less popular Django with only 43.8k rates, Flask definitely possesses a great set of characteristics which make it stand out among other Python software frameworks. Let’s take a look at what software developers like in Flask the most.

Simplicity

Flask is lightweight and easy to work with, therefore allowing Python beginners or people with little web experience learn gradually. It is also perfect for quick building of simple static websites, developing single-file projects or apps with very few moving elements as well as prototyping a new idea, for example.

Extensibility

Its modular perspective lets Flask establish connections to other numerous Python frameworks and models. For software developers, this means tiny amounts of code needed to add new features to a project. What is more, with Flask, they are free to choose from the available extensions or even code themselves, depending on the project requirements and peculiarities, without being limited by particular tools and libraries to be used, unlike some more elaborate frameworks.

Flexibility

Again, using preferred extensions and dependencies instead of being restricted by built-in libraries, software engineers can plug and play, build apps gradually piece by piece in Flask framework by opting for any convenient data modeling tool, admin, user handling, security and many other extensions. This versatility of combinations helps make your product works exactly the way you need it. This quality also makes Flask a great instrument for implementing projects with unusual requirements and including extensive customization.

What is Flask good for?

Flask is a small yet powerful tool to build web apps in a short amount of time. It has all what is needed to create simple static pages: templating, URL routing, error handling and debugger. Connecting the extensions one may easily deliver medium-sized projects. Lately, Flask has been gaining more and more popularity due to increased interest in microservices.

Here is the list of possible implementations with Flask framework:

  • Online social networks (LinkedIn and Pinterest are written with Flask);
  • Blogging platforms, wiki websites;
  • E-commerce systems;
  • Content sites, CMS;
  • REST-ful APIs;
  • IoT apps.

Our projects

The OpenProcurement toolkit is developed by Quintagroup employing Flask web framework.

Click one of the links below to get more information about our projects based on OpenProcurement:

Connect with our experts Let's talk