P14: Notebook DX — connections, snippets, template, S3 #79

Merged
kert merged 1 commits from feature/notebook-dx into main 2026-03-22 00:26:10 +00:00
Owner

Summary

Connection factories (src/conf/connect.py) — #72

from conf import connect
con = connect.duckdb()       # DuckDB from config
store = connect.bib()        # bib.Store
con = connect.trino()        # Trino with auto-catalog
client = connect.nessie()    # Nessie REST (auto-URL)
client = connect.polaris()   # Polaris (auto-OAuth2)
client = connect.s3()        # S3/RustFS (auto-creds)
con = connect.zotero()       # Zotero SQLite
connect.theme()              # Activate Nature Altair theme

Client wrappers — #73

  • NessieClient — branches, contents, config
  • PolarisClient — OAuth2 auto-auth, catalogs, namespaces
  • S3Client — list buckets/objects

Infrastructure — #74, #77

  • Notebooks on data + storage Docker networks
  • S3/Nessie/Polaris env vars passed to container
  • [s3] section in stack.toml

Snippets — #75

19 custom marimo snippets in notebooks/snippets/:

  • 8 connection snippets
  • 6 chart templates (Nature theme)
  • 5 healthcare SQL queries

Template — #76

notebooks/_template.py — every new notebook starts with connections, theme, and schema explorer

Tests

33 new tests, 100% line coverage on all new code

Closes #72, #73, #74, #75, #76, #77

Remaining

  • #78 (retrofit existing notebooks) — separate PR after merge
## Summary ### Connection factories (`src/conf/connect.py`) — #72 ```python from conf import connect con = connect.duckdb() # DuckDB from config store = connect.bib() # bib.Store con = connect.trino() # Trino with auto-catalog client = connect.nessie() # Nessie REST (auto-URL) client = connect.polaris() # Polaris (auto-OAuth2) client = connect.s3() # S3/RustFS (auto-creds) con = connect.zotero() # Zotero SQLite connect.theme() # Activate Nature Altair theme ``` ### Client wrappers — #73 - `NessieClient` — branches, contents, config - `PolarisClient` — OAuth2 auto-auth, catalogs, namespaces - `S3Client` — list buckets/objects ### Infrastructure — #74, #77 - Notebooks on `data` + `storage` Docker networks - S3/Nessie/Polaris env vars passed to container - `[s3]` section in stack.toml ### Snippets — #75 19 custom marimo snippets in `notebooks/snippets/`: - 8 connection snippets - 6 chart templates (Nature theme) - 5 healthcare SQL queries ### Template — #76 `notebooks/_template.py` — every new notebook starts with connections, theme, and schema explorer ### Tests 33 new tests, 100% line coverage on all new code Closes #72, #73, #74, #75, #76, #77 ## Remaining - #78 (retrofit existing notebooks) — separate PR after merge
kert added this to the P14: Notebook DX — connections, snippets, templates, S3 buckets milestone 2026-03-22 00:25:42 +00:00
kert added 1 commit 2026-03-22 00:25:43 +00:00
P14: connection factories, client wrappers, snippets, template
All checks were successful
ci/woodpecker/push/infra-ci Pipeline was successful
ci/woodpecker/pr/infra-ci Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
coverage 99% coverage
ci/woodpecker/pr/ci Pipeline was successful
9dd9028d91
Connection factories in src/conf/connect.py, client wrappers with
auto-auth (_nessie, _polaris, _s3), S3/network config for notebooks,
custom marimo snippets (connections, charts, queries), and _template.py.

33 new tests, 100% coverage on all new code.

fix #72, fix #73, fix #74, fix #75, fix #76, fix #77
kert merged commit 4a41ec70b6 into main 2026-03-22 00:26:10 +00:00
Sign in to join this conversation.