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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aafcabc7ad6dea61fdf420c91d5c3e749c99b49def20f1eccde4cba25f18ce12
|
|
| MD5 |
2061b15e30f7d6f10f0625b7efc97826
|
|
| BLAKE2b-256 |
439d4251b5637df780770a20001e3a1077870a1e1927030266e35df7e98b6a30
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b67dcf27ee86e990b0d8135eaa73a814447b8b00359c2c01a88ecb2cb4129c70
|
|
| MD5 |
0996ce5cc6e299bc1e96acc9e8d3f06d
|
|
| BLAKE2b-256 |
74ead47b1d3b355813923fd6e74ef0e5e56fafa46909b9699f03d24c437e0d1b
|