Docs · Frameworks

Deploy Python.

FastAPI, Flask, Django, Streamlit, Gradio — Canner detects the framework from your dependencies, builds a virtualenv, and starts the right server. No Dockerfile, no Procfile.

What detection looks for

A project with requirements.txt, pyproject.toml, or Pipfile (and no package.json) deploys as Python. The framework — and therefore the start command — comes from your dependencies:

DependencyHow it starts
streamlitstreamlit run app.py on the assigned port
gradioyour entry file, with Gradio’s server env preset
fastapi / uvicornuvicorn main:app
flask / gunicorngunicorn against your app object
Django (manage.py)gunicorn against your WSGI module

Entry-file candidates are checked in order: app.py, main.py, server.py, demo.py, and friends. A minimal FastAPI deploy is just two files:

# requirements.txt
fastapi
uvicorn
# main.py
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def root():
    return {"ok": True}

ML apps

Heavy ML dependencies (torch, transformers, and similar) need a paid plan — the installs are multi-gigabyte and the models need the memory headroom Live provides (Plans & limits). Everyday data apps (pandas, numpy, requests) run on the free plan.

Good to know

  • Python 3.11 with pip or uv-installed dependencies inside a project-local virtualenv.
  • Environment variables from the Env Vars tab are in os.environ at build and runtime.
  • Streamlit and Gradio demos deploy great from a drag-and-drop — a folder with app.py + requirements.txt is enough.
  • The health check hits / — Streamlit, Gradio, FastAPI and Flask all answer it by default.