2 Questions to Ask Before Choosing a Python Framework

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • SQLAlchemy

    The Database Toolkit for Python

    The big minus of Django is that we don’t have alternatives for many built-in libraries. The general rule is that Django works fine as long as you do things in the Django way. A good example is ORM. There’s no easy way to change an object-relational mapping library to another one (e.g. SQL Alchemy).

  • Django

    The Web framework for perfectionists with deadlines.

    I am sure that none of us would like to delay delivery time and become unreliable business partners or pay a fine because of contract terms. Having short time to deliver a production-ready app, I would choose Django as a back-end framework. Django is an advanced open source web framework whose main goal is to simplify developers’ work. It uses the DRY philosophy (Don’t Repeat Yourself). Django allows developers to reuse existing code and focus on really unique ones. It is maintained by the Django Software Foundation, an independent American organisation. It was first released in 2005 and has many built-in features like ORM, authentication, and admin panel, which are easy to set up. Django is a secure framework — developers don’t have to worry about most common security issues like SQL injections or cross-site scripting. We have security out-of-the-box. Django also has very good documentation for real-world applications. Because of the big community we can find many production-ready solutions and save development time.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • pydantic

    Data parsing and validation using Python type hints

    Another big Fast API feature is schema validation. It uses pydantic — a fast and intuitive package which relies on Python typing. It makes our code easy to understand.

  • fastapi

    FastAPI framework, high performance, easy to learn, fast to code, ready for production

    To help with the above two cases I would consider using a microframework, and the Python community provides many solutions. In my professional career I’ve had the opportunity to work with three very good alternatives to Django: Flask, Falcon, and Fast API. Flask is designed to be easy to use and extend. It follows the principles of minimalism and gives more control over the app. Choosing it, developers can use multiple types of databases, which is not easy to do in Django. We can also plug in our favorite ORM and use it without any risk of unpredictable app behavior. In contrast to Django, it’s easy to integrate NoSQL databases with Flask.

  • falcon

    The no-magic web data plane API and microservices framework for Python developers, with a focus on reliability, correctness, and performance at scale.

    To help with the above two cases I would consider using a microframework, and the Python community provides many solutions. In my professional career I’ve had the opportunity to work with three very good alternatives to Django: Flask, Falcon, and Fast API. Flask is designed to be easy to use and extend. It follows the principles of minimalism and gives more control over the app. Choosing it, developers can use multiple types of databases, which is not easy to do in Django. We can also plug in our favorite ORM and use it without any risk of unpredictable app behavior. In contrast to Django, it’s easy to integrate NoSQL databases with Flask.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts