Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries. It has no database abstraction layer, form validation, or any other components where pre-existing third-party libraries provide common functions.
It can be used for creating complete web application or for developing REST API(s), with flask other packages, tools, libraries can be used for other layers for eg: database, validation, testing etc. Below are the most common used tools with flask for developing a web application or a REST API.
Flask: For Flask python should be installed and then using pip package installer, flask can be installed.
Database: SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. SQLite is built into all mobile phones and most computers and comes bundled inside countless other applications that people use every day, with flask it’s easily integrated. For database browsing sqlite-browser can be used.
For writing database queries with ease there is a ORM available SQLAlchemy using this developer can easily write database model and schema.
Testing: For testing the web application controllers, models and unit test the logic, there is an excellent testing library available, which is PyTest, along with this other packages like Pytest-cov can be used for generating the test coverage reports.
For installing the flask or any other python/flask packages, pip is used, it’s package installer for python. Additinaly for python projects venv can be used for creating virtual environemtns that can specific packages and modules.
I hope this gives an overview about tools required for development, You can find an example of REST API developed in flask along with JWT security and beautiful swagger-ui for API documentation.
Github Repo: https://github.com/lpkapil/python-flask-rest-api-mvc