page:recipes:rest api:fastapi:persistent state

Host rest api with FastAPI: Postgres-backed state

Deploy a FastAPI REST API whose durable state lives in a managed PostgreSQL 16 database. With no DATABASE_URL supplied, Ample provisions the database and injects the connection string as an encrypted environment variable; the API stores rows with psycopg and serves them from a public HTTPS URL.

Representative Queries

Resource Requirements

Infrastructure Requirements

Framework

FastAPI

Workload

REST API

Release Status

published

Support Status

verified

Execution Status

ready

Prerequisites

Tested Configuration

Input Schema

Workflow Steps

  1. Read DATABASE_URL at runtime: Open the connection from the environment inside request handlers or a pool; a local .env is replaced by the managed database in production.
  2. Deploy: Run the existing synchronous deploy once from the project directory and read the result. Exit 0 is live, 1 is failed, 2 is blocked on a required preflight action. Re-running with no change is a content-addressed no-op.
    • Command: ample deploy . --name --public --format json --start "python3 run.py"
  3. Verify: Fetch the live URL and run the success checks below. On failure read the build log, then the runtime log, fix the cause and deploy again; do not blind-retry.
    • Command: ample logs --kind build

Examples

Success Checks

Limitations

Cost Estimate

Evidence Summary

Last Verified At

2026-09-20T01:42:25Z