Skip to content

[P2] Language bindings: Python, Go, Node.js #171

Description

@varun29ankuS

Context

RocksDB's adoption is partly driven by bindings in every major language. shodh-redb has a Python crate (shodh-redb-python) but Go and Node.js bindings are missing. For the multi-modal vision (vectors + KV + blobs) to reach ML/AI practitioners, Python bindings must be first-class.

Scope

  • Python (existing shodh-redb-python):
    • Audit current coverage — which APIs are exposed?
    • Add missing: vector operations, blob store, CDC, TTL tables
    • Publish to PyPI
    • Add type stubs for IDE support
  • Node.js (new):
    • Use napi-rs for native bindings
    • Core API: Database, ReadTransaction, WriteTransaction, Table operations
    • Vector search API
    • Publish to npm
  • Go (new):
    • Use CGo with C API layer (or consider shared C header)
    • Core API coverage
    • Publish module

Acceptance Criteria

  • Python bindings cover all major APIs with type stubs
  • Python package published to PyPI
  • Node.js bindings for core + vector APIs
  • Node.js package published to npm
  • Go bindings for core APIs
  • Each binding has integration tests and README with examples

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions