Skip to main content

BONDI — A Python toolkit for document database research

bondi provides A Python toolkit for document database research.

Use native MongoDB and Couchbase queries, execute and profile workloads, inspect schemas, estimate MongoDB selectivity, and generate pattern-based workloads. Synchronous APIs work in scripts and notebooks; async APIs remain available. Research algorithms and experiment tracking stay in separate projects.

Start with installation and the quickstart, or browse the documentation overview.

Start developing

Requires uv and Python 3.11 or newer. From this directory:

uv sync --locked
uv run python -c "import bondi; print(bondi.__file__)"
uv run pytest
uv run ruff check .
uv run ruff format --check .

uv sync installs the package in editable mode and includes the development group. PyMongo is a required dependency for BSON support; no database service is needed. The committed uv.lock records the development dependency resolution.

Documentation · Issues · MIT license

Read the documentation

Start with the documentation overview, architecture decisions, and the implementation roadmap.

To preview or validate the documentation site:

uv sync --locked --group docs
uv run --group docs mkdocs serve
# Or build without starting a server:
uv run --group docs mkdocs build --strict

API reference pages are generated from Python docstrings using mkdocstrings. Tutorials are available in notebooks/workload_demo.ipynb (MongoDB) and notebooks/couchbase_demo.ipynb (Couchbase). For database-independent inference and inspection, see the schema guide and notebooks/schema_demo.ipynb.

Repository layout

src/bondi/     Installable library
tests/            Offline tests
docs/             Getting started, guides, tutorials, API reference and development

See the contributor guide for the development workflow. A distribution can be built with uv build.

Publication

BONDI is MIT licensed, copyright Relaxed Constraints. Version 0.1.0 is being prepared for PyPI; use the source installation instructions until it is published. See release preparation for the publishing process.

Optional local databases

See the local database guide for MongoDB and Couchbase Docker Compose profiles, sample data, startup and cleanup. No database or Docker installation is required for the offline test suite.

Metadata

Release files for bondi 0.1.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 bondi 0.1.0
File Size Uploaded Provenance
bondi-0.1.0.tar.gz 139.4 kB With provenance Details

Built distribution (wheel)

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

Total release size: 198.7 kB

Release files / bondi-0.1.0.tar.gz

Download URL bondi-0.1.0.tar.gz
Size 139.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8f159731c25e8132c73992fbb30076acf46a9c6b9d5bf90bddaff6cea0440579
BLAKE2b-256 checksum
How to use checksums
21b2a37ce98bc95f8127ae6e0a82f5247ca0c0f7216ff5f38d9a4a6aa95fc842
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 Oct 27, 2026.

Transparency log

Release files / bondi-0.1.0-py3-none-any.whl

Download URL bondi-0.1.0-py3-none-any.whl
Size 59.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6f07dac11c92fc7f3a36c2413a9c4deb840dd43f25b7c2e029ed77c00dadbcc6
BLAKE2b-256 checksum
How to use checksums
8a4d7cf8e097ed28e40a3625610c77763dcba87c7c3249dd7e391732f160748e
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 Oct 27, 2026.

Transparency log

Security for bondi 0.1.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

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for bondi-0.1.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 Oct 27, 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.1.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