DuckDB-UI / README.md
amaye15's picture
deploy
5dc86cf
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