Best docker base image to build your Python application

Introduction
Python is one of the most used programming languages because it's easy to learn and provides an extensive standard library and user contributed libraries.
In order to test, deploy and run their code in a standard way, developers need to bundle their application in a uniform way. That's why Docker can be used to allow your Python application to be packaged and shared easily and expect it to run without divergence between environments.
Here are the Docker base images to use for your Python projects.
Docker Official Image
The official docker image for Python is widely adopted image for building and running Python applications and scripts.
It can be imported in your Dockerfile as follows:
FROM python:3
You can profit from Docker multi-stage builds to create an optimized Docker image for faster startup of your scripts. You can use this Docker image in a multi stage build as follows:
FROM python:3 as builder
We used the defacto image in the 2 code snippets above. This version can be used for most use cases. Other variants are presented in the following sections.
Slim image variant
FROM python:3-slim
This version has a just enough to run your python application (some Debian packages were reduced from this image), making it ideal as a production runtime image.
Alpine image variant
FROM python:3-alpine
This image is based on Alpine Linux, and is similar to the slim version (smaller bundle size), but you may run into issues if you depend on some low level system libraries (such as libc).
Windowsservercore image variant
FROM python:3-windowsservercore
This version is based on Windows Server Core, and not Unix/Linux.