Skip to main content

A parameterized SQL web server for DuckDB routes compiled from Markdown

Project description

webbed_duck

webbed_duck turns Markdown + SQL route files into HTTP endpoints powered by DuckDB.

This MVP (v0.2) extends the core compiler and server with production-friendly viewers:

  • A Markdown compiler that translates *.sql.md files into Python route manifests and preserves per-route metadata for cards, feeds, charts, and asset hints.
  • A FastAPI-based server that executes DuckDB queries per-request and returns JSON payloads derived from Arrow tables, HTML tables (html_t), card grids (html_c), feed views, and Arrow stream slices for virtualized viewers.
  • Popularity analytics and folder indexes surfaced at /routes to power simple navigation and release readiness checks.
  • A command-line interface for compiling routes and running the development server.

See routes_src/hello.sql.md for an example route.

Usage

Compile routes:

python -m webbed_duck.cli compile --source routes_src --build routes_build

Run the development server (requires the compiled routes):

python -m webbed_duck.cli serve --build routes_build --config config.toml

Visit http://127.0.0.1:8000/hello?name=DuckDB to exercise the sample route. Append &format=html_c or &format=feed to see the new Beta viewers, or &format=arrow&limit=25 for Arrow RPC slices.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

webbed_duck-0.2.0.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

webbed_duck-0.2.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file webbed_duck-0.2.0.tar.gz.

File metadata

  • Download URL: webbed_duck-0.2.0.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for webbed_duck-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f38a0c230fdb0fa1d73b5d94ddcde4a04b84b0488dd97047b8fbfa33072b23ae
MD5 6029ed2d78f2e307141ab64e9ae81f0c
BLAKE2b-256 5a0f8b807cc491b39ebf49165260d637a59c4a23b5ccbb7517c5127645bb744b

See more details on using hashes here.

Provenance

The following attestation bundles were made for webbed_duck-0.2.0.tar.gz:

Publisher: python-publish.yml on isaacnfairplay/webbed_duck

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file webbed_duck-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: webbed_duck-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for webbed_duck-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f1632f913f14138c37242067e63e8b380c1642658bafc7c219dfdc627267662d
MD5 a8ce9f736d0d2b1a0002e1fa32eb3b20
BLAKE2b-256 d7fc8f62914eaea13cf473827edc8d5e4b1c3434d92fdf38b95fb0e35cec37db

See more details on using hashes here.

Provenance

The following attestation bundles were made for webbed_duck-0.2.0-py3-none-any.whl:

Publisher: python-publish.yml on isaacnfairplay/webbed_duck

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page