Adios
Apps and APIs · plans from $10/month

Deploy Python.Use a production process.

Run a Python web app or worker with the dependency file, process command, health route, and secret-backed configuration kept beside the source.

Keep the repositoryInspect build and logsCustom domains and TLS
Adios deploy

Candidate release

Python

Healthy

SOURCE

Git

REGION

de

ROUTE

HTTPS

01Source received

02Build completed

03Runtime started

04Health check passed

Promoted route

production.adios.run

A production path for

FastAPIDjangoFlaskWorkerspipPipenv

The production path

A working Python project still needs a safe release.

The application or service is only one part of production. Build evidence, runtime state, health, secrets, logs, routes, and the promoted version should remain inspectable together.

Keep the Python build you already use

Install from requirements.txt, Pipenv, or the dependency workflow already committed to the project. Keep framework settings and migrations reviewable with the release.

Promote the version that reports healthy

Use Gunicorn, Uvicorn, or another production process that binds to the declared port. A candidate becomes current only after the configured health route responds.

Trace production back to source

Build output, runtime logs, health state, secrets, domains, and the promoted release stay attached to the project instead of being split across unrelated tools.

From source to release

Three steps keep the deployment path reviewable.

Use the source and production behavior the project already has. The manifest records what the platform should build or provision and how the result becomes ready.

  1. 01

    Start with source or a template

    Bring the existing repository, or inspect and deploy one of the exact starter variants linked below.

    $adios login
  2. 02

    Review the deployment contract

    Keep commands, runtime or service version, health behavior, and secret references in adios.yaml.

    $git diff -- adios.yaml
  3. 03

    Deploy and inspect the result

    Follow build and runtime evidence, verify the candidate, and open the promoted route or service connection.

    $adios up
adios.yaml
Your project
name: python-api
build_cmd: pip install -r requirements.txt
start_cmd: gunicorn app:app --bind 0.0.0.0:8000

runtime:
  name: python@3.13
  port: 8000
  health_path: /healthz
Replace the module target and process command with the one required by your Python framework.

Deployable starting points

Start Python from a template when the repository is not ready.

Compare FastAPI, Django, and Flask starters before choosing the framework and package workflow for the first release.

API starters

Python FastAPI

FastAPI, Django, Flask, Litestar, and Sanic starters with production start commands.

Pythonpip
Template key
python-fastapi
Runtime
python
Repository
template-python-fastapi
Source path
.
git clone https://github.com/adiosdotdev/template-python-fastapi.git
cd template-python-fastapi
adios up

API starters

Python FastAPI with Pipenv

FastAPI, Django, Flask, Litestar, and Sanic starters with production start commands.

Pythonpipenv
Template key
python-fastapi-pipenv
Runtime
python
Repository
template-python-fastapi-pipenv
Source path
.
git clone https://github.com/adiosdotdev/template-python-fastapi-pipenv.git
cd template-python-fastapi-pipenv
adios up

API starters

Python Django

FastAPI, Django, Flask, Litestar, and Sanic starters with production start commands.

Pythonpip
Template key
python-django
Runtime
python
Repository
template-python-django
Source path
.
git clone https://github.com/adiosdotdev/template-python-django.git
cd template-python-django
adios up

API starters

Python Django with Pipenv

FastAPI, Django, Flask, Litestar, and Sanic starters with production start commands.

Pythonpipenv
Template key
python-django-pipenv
Runtime
python
Repository
template-python-django-pipenv
Source path
.
git clone https://github.com/adiosdotdev/template-python-django-pipenv.git
cd template-python-django-pipenv
adios up

API starters

Python Flask

FastAPI, Django, Flask, Litestar, and Sanic starters with production start commands.

Pythonpip
Template key
python-flask
Runtime
python
Repository
template-python-flask
Source path
.
git clone https://github.com/adiosdotdev/template-python-flask.git
cd template-python-flask
adios up

API starters

Python Flask with Pipenv

FastAPI, Django, Flask, Litestar, and Sanic starters with production start commands.

Pythonpipenv
Template key
python-flask-pipenv
Runtime
python
Repository
template-python-flask-pipenv
Source path
.
git clone https://github.com/adiosdotdev/template-python-flask-pipenv.git
cd template-python-flask-pipenv
adios up

API starters

Python Litestar

FastAPI, Django, Flask, Litestar, and Sanic starters with production start commands.

Pythonpip
Template key
python-litestar
Runtime
python
Repository
templates
Source path
python/litestar
git clone https://github.com/adiosdotdev/templates.git
cd templates/python/litestar
adios up

API starters

Python Sanic

FastAPI, Django, Flask, Litestar, and Sanic starters with production start commands.

Pythonpip
Template key
python-sanic
Runtime
python
Repository
templates
Source path
python/sanic
git clone https://github.com/adiosdotdev/templates.git
cd templates/python/sanic
adios up

Before production

Verify the workload.Then promote it.

The safest first release starts with a reproducible build or service configuration and a preview that exercises the dependencies production will actually use.

Ready when…

  • Dependencies install from a clean environment.
  • The app uses a production server rather than a debug server.
  • The process binds to 0.0.0.0 on the declared port.
  • Settings and credentials are injected at runtime.

Preview when…

  • A dependency compiles native extensions.
  • Startup runs migrations or other one-time work.
  • Background jobs depend on a broker or database.

Questions, answered

What to know before deploying Python.

Review the runtime or service boundary, template path, failure behavior, and production checks before creating the first release.

Can Adios deploy an existing Python project?

Yes. Run the Adios CLI from the project root, keep the repository and dependency files you already use, and add an adios.yaml file that describes the production build, start command, port, and health path.

Do I need Docker to deploy Python?

Not for a standard supported runtime. Use the project's normal production commands in adios.yaml. If the build needs unusual operating-system packages or native libraries, verify those dependencies in a preview before promotion.

Which Python versions and package managers can I use?

The example runtime uses Python 3.13, and the template catalog includes pip and Pipenv variants. Match the runtime and install command to the versions supported by your application.

Can I deploy a Python background worker?

Yes. Provide a persistent worker start command, inject broker or database credentials as secrets, and verify retry, shutdown, and dependency-failure behavior before promotion.

What happens when the build or health check fails?

The candidate release keeps its build and runtime output for inspection. It must report healthy before it becomes the promoted version serving the application route.

Can I start from a template instead of an existing repo?

Yes. This page links to the closest official Adios Python starters. Inspect the exact source variant, deploy it in the console, or clone it locally and run adios up.

The first release

Deploy Python with the source and evidence attached.

Start from the repository or a template, review the deployment contract, and inspect what becomes the promoted production version.