Skip to main content

Official Python SDK for interacting with the BosBase API.

Project description

BosBase Python SDK

BosBase provides a batteries-included backend with collections, authentication, files, vector search, LangChaingo flows, realtime subscriptions, and more.
This package is the official Python SDK that mirrors the JavaScript and Dart SDKs in this repository so Python developers can talk to the BosBase API with a familiar API surface.

Installation

pip install bosbase

Quick start

from bosbase import BosBase

pb = BosBase("http://127.0.0.1:8090")

# Authenticate as auth collection record
auth = pb.collection("users").auth_with_password("test@example.com", "123456")
print(auth.token)

# List records
posts = pb.collection("posts").get_list(page=1, per_page=10, query={"expand": "author"})
for post in posts["items"]:
    print(post["title"])

# Create a record with a file
with open("cover.png", "rb") as handle:
    pb.collection("posts").create(
        body={"title": "Hello", "status": "published"},
        files={"cover": ("cover.png", handle, "image/png")},
    )

# Realtime subscription
unsubscribe = pb.collection("posts").subscribe("*", lambda event: print(event["action"]))
# ...
unsubscribe()

High-level features

  • pb.collection("...") – CRUD helpers, auth flows, OTP/MFA helpers, impersonation.
  • pb.collections – Manage collections, scaffolds, schema queries.
  • pb.files – Token generation and URL building for protected files.
  • pb.logs, pb.crons, pb.backups, pb.vectors, pb.llm_documents, pb.langchaingo, pb.caches – Service wrappers that mirror the JavaScript SDK.
  • pb.sql – Superuser SQL execution with column/row responses; pb.collections.register_sql_tables() and pb.collections.import_sql_tables() expose existing SQL tables as BosBase collections.
  • pb.realtime – SSE based realtime subscriptions with automatic reconnection.
  • pb.create_batch() – Transactional batch writes across collections.

The SDK exposes the same filter builder (pb.filter()), before_send / after_send hooks, and auth store semantics as the other SDKs, so existing examples port to Python with minimal changes.

Documentation

The docs/ directory mirrors the JavaScript SDK guides, adapted for Python. Highlights:

  • COLLECTIONS.md: collection types, scaffolds, schema queries.
  • API_RECORDS.md: CRUD, batch operations, auth helpers.
  • REALTIME.md: realtime subscriptions, connection lifecycle.
  • FILES.md, FILE_API.md: uploads, tokens, download URLs.
  • LANGCHAINGO_API.md, LLM_DOCUMENTS.md, VECTOR_API.md: AI and RAG workflows.
  • SQL_EXECUTION_API.md, SQL_TABLE_REGISTRATION.md: superuser SQL workflows and mapping existing tables to collections.

Every topic from the JS SDK now has a Python-specific counterpart with code samples.

See SDK_DOCUMENTATION.md in the repo for feature-specific guides.

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

bosbase-0.1.5.tar.gz (97.7 kB view details)

Uploaded Source

Built Distribution

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

bosbase-0.1.5-py3-none-any.whl (48.8 kB view details)

Uploaded Python 3

File details

Details for the file bosbase-0.1.5.tar.gz.

File metadata

  • Download URL: bosbase-0.1.5.tar.gz
  • Upload date:
  • Size: 97.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for bosbase-0.1.5.tar.gz
Algorithm Hash digest
SHA256 6213fb23f50c1e3b5f31c2d12ba1393c24b18c015fa4620660a0c2c6ce57c745
MD5 4205e9136f6e2f844ad0ee2226d27d5c
BLAKE2b-256 56652fd421aa5bc67a2e7beb63c6b2c6ea40869e810786593cf329061c8d71bd

See more details on using hashes here.

File details

Details for the file bosbase-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: bosbase-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 48.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for bosbase-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 35b16eee00e0287f825f34b04392dcbadfc0adc676f8620a3544d2607ee48c72
MD5 b084318059963c49c0f8ad680573881f
BLAKE2b-256 cd610d8cce67da947757ef63f1ad4ff11c34a54c5b5a5e26e18f19b393184400

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