Skip to main content

Disposable SQLite for LLM agents. A single HTTP call provisions a private database with a 10-minute TTL. No signup, no API key, no credit card.

Project description

walkindb

Python client for walkindb — disposable SQLite for LLM agents.

A single HTTP call provisions a private SQLite database with a 10-minute TTL. No signup, no API key, no credit card.

Install

pip install walkindb

Zero runtime dependencies — the client uses only the Python standard library, so it installs cleanly inside any agent sandbox.

Use

from walkindb import Client

db = Client()
db.execute("CREATE TABLE notes(id INTEGER PRIMARY KEY, body TEXT)")
db.execute("INSERT INTO notes(body) VALUES('hello')")
result = db.execute("SELECT * FROM notes")
print(result.columns)       # ['id', 'body']
print(result.rows)          # [[1, 'hello']]
print(result.rows_affected) # 0 for SELECT, N for INSERT/UPDATE/DELETE

# The session token lives on the Client instance and is reused on subsequent
# calls, so you keep reaching the same walk-in database until its 10-minute
# TTL expires. `db.session` holds the token; `db.expires_at` is the unix
# timestamp at which the instance will be deleted.
print(db.session, db.expires_at)

If you want a fresh walk-in:

db.reset_session()
db.execute("SELECT 1")  # provisions a new instance

Errors

Non-2xx responses raise WalkinDBError with status and error attributes. Notable codes:

  • 400 — invalid JSON, missing sql, forbidden keyword, or SQL syntax error
  • 404 — session token unknown, tampered, or expired (walkindb returns 404, not 401, on all session failures to prevent enumeration)
  • 408 — query exceeded the 2-second wall-clock timeout
  • 413 — request body exceeded the 8 KB cap
  • 429 — rate limit exceeded (60 req/min, 10 new instance creations/min per IP)
  • 507 — instance storage quota exceeded (10 MB per walk-in)
from walkindb import Client, WalkinDBError

db = Client()
try:
    db.execute("SELECT * FROM does_not_exist")
except WalkinDBError as e:
    print(f"error {e.status}: {e.error}")

Smoke test

python -m walkindb

Provisions a fresh walk-in, runs SELECT 1, and prints the session token.

What walkindb is not

  • Not a durable database. Data is deleted after ~10 minutes.
  • Not for PII or regulated data. See the AUP.
  • Not a Postgres or MySQL replacement.

Apache 2.0. Server source at github.com/walkindb/walkindb. Landing page and full docs at walkindb.com.

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

walkindb-0.1.0.tar.gz (2.3 kB view details)

Uploaded Source

Built Distribution

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

walkindb-0.1.0-py3-none-any.whl (2.3 kB view details)

Uploaded Python 3

File details

Details for the file walkindb-0.1.0.tar.gz.

File metadata

  • Download URL: walkindb-0.1.0.tar.gz
  • Upload date:
  • Size: 2.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.2

File hashes

Hashes for walkindb-0.1.0.tar.gz
Algorithm Hash digest
SHA256 aafcabc7ad6dea61fdf420c91d5c3e749c99b49def20f1eccde4cba25f18ce12
MD5 2061b15e30f7d6f10f0625b7efc97826
BLAKE2b-256 439d4251b5637df780770a20001e3a1077870a1e1927030266e35df7e98b6a30

See more details on using hashes here.

File details

Details for the file walkindb-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: walkindb-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 2.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.2

File hashes

Hashes for walkindb-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b67dcf27ee86e990b0d8135eaa73a814447b8b00359c2c01a88ecb2cb4129c70
MD5 0996ce5cc6e299bc1e96acc9e8d3f06d
BLAKE2b-256 74ead47b1d3b355813923fd6e74ef0e5e56fafa46909b9699f03d24c437e0d1b

See more details on using hashes here.

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