DebutDeploy / platform
Deploy an app
Home Pricing Compare providers Platform pages Migrate FAQ Status Compare my bill Deploy an app
Managed Postgres Node.js hosting Python hosting Docker hosting European PaaS

/python-hosting.html

Python hosting

Django, FastAPI and Flask, without the ops rota.

Deploy Python web services and Celery workers from Git, with managed Postgres alongside them and memory that stays allocated — useful when your application loads models or holds long-running work.

Python 3.10–3.13 · pip, Poetry and uv · Gunicorn and Uvicorn · Celery workers · no cold starts

A typical Python build
==> Detected Python 3.12 · requirements.txt
==> pip install -r requirements.txt
==> python manage.py collectstatic --noinput
==> python manage.py migrate
==> Starting: gunicorn app.wsgi -w 3 -b :8080
==> Worker: celery -A app worker -l info
==> Health check /healthz → 200 OK
==> Live · TLS issued · rollback retained
VersionsPython 3.10 – 3.13
Dependency toolspip · Poetry · uv · pipenv
ServersGunicorn · Uvicorn · Hypercorn
WorkersCelery, RQ, APScheduler

What Python services get

frameworkdjango · fastapi

Detected or declared

Django, FastAPI and Flask are recognised from the repository; anything else runs from a start command or a Dockerfile.

workercelery resident

Celery that stays up

Background workers are separate always-on services with their own CPU and memory, not opportunistic processes.

memoryup to 8 GB

Room for models

Applications that load an embedding model or hold caches in memory keep that allocation for the whole month at a fixed price.

migrateon release

Migrations in the build

Run collectstatic and migrate as part of the release step so a deploy either completes fully or rolls back.

cronscheduled jobs

Scheduled tasks

Cron-style jobs run in the same environment as your app, with logs in the same place as your deploys.

dbpostgres 16

Postgres next door

Managed Postgres in the same region with the connection string injected — the usual Django or SQLAlchemy setup, minus the admin.

What a Python service costs

Django applications with a worker typically run one Pro or Pro Plus box for the web service and a smaller box for the worker. AI or data workloads that hold models in memory usually want Pro Plus or Scale.

See all plans and what is included →
Starter1 GB RAM · 0.5 vCPU · shared $9 /mo
Pro2 GB RAM · 1 vCPU · shared $15 /mo
Pro Plus4 GB RAM · 2 vCPU · dedicated $45 /mo
Scale8 GB RAM · 4 vCPU · dedicated $85 /mo

USD per month, ex-VAT. Each service is billed separately — a web service plus a worker is two plans. 20 TB transfer included.

Deploying a Python app

01

Connect and detect

Point at the repository; requirements.txt, pyproject.toml or a Dockerfile is picked up.

connect github → your-org/api

02

Set the start command

Gunicorn for WSGI, Uvicorn for ASGI — edited in the panel, not in a config file.

gunicorn app.wsgi -w 3 -b :8080

03

Add the worker

Deploy the Celery worker as a second service from the same repository.

celery -A app worker -l info

Python questions

Python 3.10 through 3.13. Declare it in pyproject.toml, a runtime.txt or your Dockerfile and the build follows it.

Yes — pip, Poetry, uv and pipenv lockfiles are all handled. If your setup is unusual, a Dockerfile always works.

As part of the release step, so a failed migration fails the deploy and the previous release stays live.

Yes. Run beat as its own small service, or use scheduled jobs if you prefer the platform to own the timing.

Not currently. CPU inference and API-based model calls are well supported; GPU hosting is not something we offer today.

More operational detail is on the full FAQ page.

Put one Python service on it.

Deploy a web service and a worker from the same repository, and see how the fixed monthly price compares.

Deploy a test application Speak to a migration engineer

Keep your existing service online while you evaluate DebutDeploy.