Skip to main content

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.

PyPI version Downloads CI Python GitHub stars Last commit License: MIT PyPI - Python Version

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jsondb_cloud-1.0.6.tar.gz (48.1 kB view details)

Uploaded Source

Built Distribution

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

jsondb_cloud-1.0.6-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

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

Hashes for jsondb_cloud-1.0.6.tar.gz
Algorithm Hash digest
SHA256 558c18dd2fb3e1a83cf2ab4fd731d7cc9e42b37febe30f3c698efca367a3afd9
MD5 d4e009eb19f7c5eb2276c6acfdb97788
BLAKE2b-256 a40b67bf2187ea1edddf981899b2a135f3ef0ab37cf06c8df798c13e2f466de2

See more details on using hashes here.

Provenance

The following attestation bundles were made for jsondb_cloud-1.0.6.tar.gz:

Publisher: ci.yml on JsonDBCloud/python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for jsondb_cloud-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5d16259bda4ef599eea03086c3308ac08a1eacb4d0563ebe54e1d0e40a01b4b9
MD5 4fc625f41e5f3cec4238d6a135cdf33d
BLAKE2b-256 69a9b45636379391f5bd0007c364474519ceba0e23062978584e6ecbdb5649cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for jsondb_cloud-1.0.6-py3-none-any.whl:

Publisher: ci.yml on JsonDBCloud/python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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