Skip to main content

jotabase

Python client for jotaBase: sync, query and update your jotaBase databases from servers, scripts, notebooks and desktop apps.

  • Read and write a database with a secret key (servers and scripts) or a publishable key and a signed-in user (apps, where access rules apply).
  • Keep a copy on disk that later syncs bring up to date, downloading only what changed.
  • Query it with SQL through DuckDB, one table per collection, with results as pandas or Polars tables.
  • React to changes as they happen.
pip install jotabase                      # read, write, local copy, live changes
pip install "jotabase[sql,pandas]"        # plus SQL with DuckDB, and pandas

Python 3.10 or newer.

Quick start

import jotabase

db = jotabase.connect("my-app", key="sk_live_...")   # your database's secret key

# Write
db.put("tasks", {"title": "Write the report", "points": 3}, id="t1")
results = db.put_many("measurements", batch)        # split under the 1 MB request limit
for r in results.failed:                            # refused by an access rule
    print(r.id, r.error)
db.delete("tasks", "t1")

# Read everything, or only what changed since last time
changes = db.fetch_changes()
docs = changes.latest()                             # newest version of each, no deleted ones
later = db.fetch_changes(since=changes.checkpoint)

# Keep a copy in ./.jotabase/my-app/ and read it with no server
db.pull()
tasks = db.local().documents("tasks")

# SQL over the copy (pip install "jotabase[sql]")
df = db.sql("SELECT status, count(*) AS n FROM tasks GROUP BY status").df()   # pandas
pl = db.sql("SELECT * FROM tasks WHERE points > ?", [3]).pl()                 # Polars

# React to changes as they happen (a background thread)
@db.on_change
def changed(change):
    for doc in change.docs:
        print(doc["id"], doc["data"])

Keys and users

You connect with Who it is for Access rules
key="sk_..." (secret) servers, scripts, scheduled jobs bypassed
key="pk_..." (publishable), then db.sign_in(email, password) apps and desktop apps applied to the user's roles
no key, jotabase.connect("@handle/name") someone's public database read-only, no live changes

Never ship a secret key inside an app that runs on someone else's machine. Keys are created in the dashboard at app.jotabase.com.

Errors

A refused request raises jotabase.JotabaseError with .status (401/403 means the key or the login, anything else is worth a retry) and .code. A document an access rule refuses does not raise: it comes back in results.failed with the reason, while the rest of the batch is written.

Metadata

Release files for jotabase 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jotabase 0.7.0
File Size Uploaded Provenance Actions
jotabase-0.7.0.tar.gz 39.6 kB With provenance Details for jotabase-0.7.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for jotabase 0.7.0
File Interpreter ABI Platform Actions
jotabase-0.7.0-py3-none-any.whl Python 3 none any Details for jotabase-0.7.0-py3-none-any.whl

Total release size: 69.1 kB

Release files / jotabase-0.7.0.tar.gz

Download URL jotabase-0.7.0.tar.gz
Size 39.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c151ed7b5c91acd6b19f401e5750bd5cc0bb03ab55be85f200181e94dc6bca3e
BLAKE2b-256 checksum
How to use checksums
19aea011dc5abf92b7fc0eb61842a22cc1e8d8fdcf9166c8eaaed683a928e1e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

Release files / jotabase-0.7.0-py3-none-any.whl

Download URL jotabase-0.7.0-py3-none-any.whl
Size 29.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
edcc8144286c413d295a6e650c546f12e21721852de563797ad52ed54baecbe9
BLAKE2b-256 checksum
How to use checksums
59b3f82c85b7a0e62f337c204d48dad9a27bc2e48a057ef7d46d9f1d04649239
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

Security for jotabase 0.7.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for jotabase-0.7.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 8, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page