Skip to content

About

Acceptance fixture for Ato Dynamic Compute: an ordinary FastAPI + SQLite Python project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fixture-fastapi-sqlite-process

An acceptance fixture for Ato's Dynamic Compute Process lane.

A small expense API: FastAPI, uvicorn, and the standard library's sqlite3.

GET  /health     → 200, and touches the database
GET  /expenses   → the list
POST /expenses   → {"label": "Coffee", "amount": 1280}

Why it is this plain

It exists to demonstrate that an ordinary GitHub Python project can be formed into a Compute and run — not that a repository prepared for Ato can. So it deliberately contains no capsule.toml, no Dockerfile, and no Ato-specific setup script. If it needed any of those, the thing being tested would not have been demonstrated.

A Docker variant for the OCI lane belongs in a separate repository: adding a Dockerfile here would let a detector route this fixture down the OCI lane instead of the Process lane, and the same acceptance would quietly stop testing what it was written for.

Running it

pip install -r requirements.txt
APP_DB_PATH=/data/app.sqlite uvicorn main:app --host 0.0.0.0 --port 8000

APP_DB_PATH is read at import time and its parent directory is created if missing, so the database can live on an attached volume that starts empty. That separation is the point: the workspace is rebuilt from the schema on every run and would take the data with it, while the state volume is what survives sleep and wake.

About

Acceptance fixture for Ato Dynamic Compute: an ordinary FastAPI + SQLite Python project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages