Google Sheets,
as your backend.
GSAB gives you a database-like interface over Google Sheets — schemas, validation, encryption and async CRUD. Sign in once; no Google Cloud setup required.
A spreadsheet that behaves like a database.
Everything you'd reach for in an ORM, mapped onto a surface you already know how to read, share and audit.
Sign in once
Browser sign-in with the minimal drive.file scope — no Cloud project, no JSON keys to wrangle.
gsab auth login--fullservice accountTyped schemas
Fields, types, validation rules and uniqueness — enforced on every write.
SchemaFieldFieldTypeAsync CRUD
The four verbs you expect, with filter queries.
insert()read()update()delete()Field encryption
Flag a field as encrypted and GSAB seals it with Fernet before it ever reaches the sheet.
Field(encrypted=True)Terminal-native CLI
Manage auth and data straight from your shell — scriptable by design.
gsab auth logingsab auth statusgsab versionBuilt to grow
An MCP server, a terminal UI and a real-time mode are on the roadmap.
MCPTUIreal-timeFrom install to first row.
Install it, sign in, define a schema. That's the whole ceremony.
- 01
Install
pip install gsab— one dependency-light package. - 02
Sign in
gsab auth loginopens your browser. GSAB only touches the sheets it creates. - 03
Define & write
Declare a typed schema and start inserting — validation included.
# pip install gsab · gsab auth login
import asyncio
from gsab import SheetConnection, Schema, Field, FieldType, SheetManager
schema = Schema("users", [
Field("id", FieldType.INTEGER, required=True, unique=True),
Field("email", FieldType.STRING, required=True),
Field("secret", FieldType.STRING, encrypted=True),
])
async def main():
db = SheetManager(SheetConnection(), schema, encryption_key=KEY)
await db.create_sheet("My App DB")
await db.insert({"id": 101, "email": "ada@calc.org", "secret": "hunter2"})
print(await db.read({"id": 101}))
asyncio.run(main())Two ways in.
Pick the path that fits. The easy one needs nothing from Google Cloud; the DIY one hands you the keys.
Just sign in
One browser sign-in with the minimal drive.file scope — no Cloud project, no consent-screen wall. GSAB manages the sheets it creates for you.
Bring your own
Reach your existing sheets or wire up your own credentials.
--fullfor access to all your sheets--client-secretsfor your own OAuth app- gcloud ADC & service accounts, auto-detected
Built in the open.
What ships in 0.5.0 today, and what's coming next.
Available now
- Friction-free auth (drive.file) + CLI
- Schemas, validation & field encryption
- Async CRUD with rich filters
- Type-correct server-side query() — Google Visualization
- pandas to_dataframe / from_dataframe + bulk_insert
- Native in-sheet charts via chart()
- LLM-friendly errors + retry/backoff
- OS-keychain token storage
Coming next
- MCP server — use your sheets from Claude
- Terminal UI (TUI)
- Real-time / reactive mode
- Server-side date filters
- One-click hosted sign-in
Your next backend is one sheet away.
Prototype, ship a side project, or back a small app — without standing up a database.