Shrinking a Python ML Docker Image by 60% with uv and Multi-Stage Builds | Yugal Burde Blog