metadata
title: DuckDB FastAPI API
emoji: 🦆
colorFrom: blue
colorTo: green
sdk: docker
app_port: 7860
DuckDB FastAPI API
This Space provides a simple API built with FastAPI to interact with a DuckDB database.
Features:
- Create tables
- Read table data (with limit/offset)
- Insert rows into tables
- Update rows based on a condition
- Delete rows based on a condition
- Download a table as CSV
- Download the entire database file
- Health check endpoint
API Documentation:
The API documentation (powered by Swagger UI) is available at the /docs
endpoint of your Space URL.
Example Usage (using curl):
# Health Check
curl https://[your-space-subdomain].hf.space/health
# Create a table
curl -X POST "https://[your-space-subdomain].hf.space/tables/my_data" \
-H "Content-Type: application/json" \
-d '{"columns": [{"name": "id", "type": "INTEGER"}, {"name": "value", "type": "VARCHAR"}]}'
# Insert rows
curl -X POST "https://[your-space-subdomain].hf.space/tables/my_data/rows" \
-H "Content-Type: application/json" \
-d '{"rows": [{"id": 1, "value": "apple"}, {"id": 2, "value": "banana"}]}'
# Read table data
curl https://[your-space-subdomain].hf.space/tables/my_data
# Download table as CSV
curl -o my_data.csv https://[your-space-subdomain].hf.space/download/table/my_data
# Download database file
curl -o downloaded_db.db https://[your-space-subdomain].hf.space/download/database