The official Python SDK for jsondb.cloud — a hosted JSON document database.
Project description
jsondb-cloud
The official Python SDK for jsondb.cloud — a hosted JSON document database.
Install
pip install jsondb-cloud
Quick Start
from jsondb_cloud import JsonDB
db = JsonDB(api_key="jdb_sk_live_xxxx")
users = db.collection("users")
# Create
user = users.create({"name": "Alice", "email": "alice@example.com"})
# Read
user = users.get(user["_id"])
# List with filtering
admins = users.list(filter={"role": "admin", "age": {"$gte": 21}}, sort="-createdAt", limit=10)
# Update
users.update(user["_id"], {"name": "Alice Updated", "email": "alice@example.com"})
# Patch (partial update)
users.patch(user["_id"], {"age": 31})
# Delete
users.delete(user["_id"])
Configuration
db = JsonDB(
api_key="jdb_sk_live_xxxx", # required
project="v1", # project namespace (default: "v1")
base_url="https://api.jsondb.cloud", # API endpoint
timeout=30.0, # request timeout in seconds
max_retries=3, # retries on 429/5xx errors
headers={"X-Custom": "val"}, # extra headers for every request
)
AsyncJsonDB accepts the same options and supports async with for automatic cleanup.
API
All methods are available on both Collection (sync) and AsyncCollection (async).
| Category | Methods |
|---|---|
| CRUD | create, get, list, update, patch, json_patch, delete |
| Bulk | bulk_create, bulk |
| Count | count |
| Schema | get_schema, set_schema, remove_schema, validate |
| Versioning | list_versions, get_version, restore_version, diff_versions |
| Webhooks | create_webhook, list_webhooks, get_webhook, update_webhook, delete_webhook, test_webhook |
| Import/Export | import_documents, export_documents |
See the full API reference for details.
Async Usage
from jsondb_cloud import AsyncJsonDB
async with AsyncJsonDB(api_key="jdb_sk_live_xxxx") as db:
users = db.collection("users")
user = await users.create({"name": "Alice"})
page = await users.list(filter={"role": "admin"})
Error Handling
from jsondb_cloud import JsonDB, NotFoundError, QuotaExceededError, JsonDBError
try:
user = users.get("nonexistent")
except NotFoundError as e:
print(f"Not found: {e.document_id}")
except QuotaExceededError as e:
print(f"Limit: {e.limit}, Current: {e.current}")
except JsonDBError as e:
print(f"Error: {e.code} - {e.message} (HTTP {e.status})")
Documentation
Full documentation at jsondb.cloud/docs/sdks/python.
Related Packages
| Package | Description |
|---|---|
| @jsondb-cloud/client | JavaScript/TypeScript SDK |
| @jsondb-cloud/mcp | MCP server for AI agents |
| @jsondb-cloud/cli | CLI tool |
| jsondb-cloud (PyPI) | Python SDK |
License
MIT
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 jsondb_cloud-1.0.6.tar.gz.
File metadata
- Download URL: jsondb_cloud-1.0.6.tar.gz
- Upload date:
- Size: 48.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
558c18dd2fb3e1a83cf2ab4fd731d7cc9e42b37febe30f3c698efca367a3afd9
|
|
| MD5 |
d4e009eb19f7c5eb2276c6acfdb97788
|
|
| BLAKE2b-256 |
a40b67bf2187ea1edddf981899b2a135f3ef0ab37cf06c8df798c13e2f466de2
|
Provenance
The following attestation bundles were made for jsondb_cloud-1.0.6.tar.gz:
Publisher:
ci.yml on JsonDBCloud/python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jsondb_cloud-1.0.6.tar.gz -
Subject digest:
558c18dd2fb3e1a83cf2ab4fd731d7cc9e42b37febe30f3c698efca367a3afd9 - Sigstore transparency entry: 1057849091
- Sigstore integration time:
-
Permalink:
JsonDBCloud/python@6d9961b9f7464e1a70a8d3aeeaaec9024b714d7c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/JsonDBCloud
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@6d9961b9f7464e1a70a8d3aeeaaec9024b714d7c -
Trigger Event:
push
-
Statement type:
File details
Details for the file jsondb_cloud-1.0.6-py3-none-any.whl.
File metadata
- Download URL: jsondb_cloud-1.0.6-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d16259bda4ef599eea03086c3308ac08a1eacb4d0563ebe54e1d0e40a01b4b9
|
|
| MD5 |
4fc625f41e5f3cec4238d6a135cdf33d
|
|
| BLAKE2b-256 |
69a9b45636379391f5bd0007c364474519ceba0e23062978584e6ecbdb5649cc
|
Provenance
The following attestation bundles were made for jsondb_cloud-1.0.6-py3-none-any.whl:
Publisher:
ci.yml on JsonDBCloud/python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jsondb_cloud-1.0.6-py3-none-any.whl -
Subject digest:
5d16259bda4ef599eea03086c3308ac08a1eacb4d0563ebe54e1d0e40a01b4b9 - Sigstore transparency entry: 1057849092
- Sigstore integration time:
-
Permalink:
JsonDBCloud/python@6d9961b9f7464e1a70a8d3aeeaaec9024b714d7c -
Branch / Tag:
refs/heads/main - Owner: https://github.com/JsonDBCloud
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@6d9961b9f7464e1a70a8d3aeeaaec9024b714d7c -
Trigger Event:
push
-
Statement type: