bridgerust
# BridgeRust <div align="center"> [](https://github.com/bridgerust/bridgerust) [](LICENSE) [](https://discord.gg/ZvNAeaWN) [)](https://pypi.org/project/embex) [](https://www.npmjs.com/package/@bridgerust/embex) [)](https://pypi.org/project/bridgetime) [](https://www.npmjs.com/package/@bridgerust/bridgetime) [Embex](#embex--universal-vector-database-client) - [BridgeTime](#bridgetime--datetime-toolkit) - [BridgeRust Framework](#bridgerust-framework) - [Discord](https://discord.gg/ZvNAeaWN) - [Contributing](docs/CONTRIBUTING.md) </div> BridgeRust is a monorepo shipping two AI-infrastructure products — **Embex** and **BridgeTime** — and the **BridgeRust** framework that powers them: a unified system for building cross-language Rust libraries deployable to Python and Node.js. ## What's in this repo? | Package | Ecosystem | Purpose | Install | |:--------|:----------|:--------|:--------| | **embex** | Python | Universal vector DB client | `pip install embex` | | **@bridgerust/embex** | Node.js | Universal vector DB client | `npm install @bridgerust/embex` | | **bridgetime** | Python | Rust-powered datetime toolkit | `pip install bridgetime` | | **@bridgerust/bridgetime** | Node.js | Rust-powered datetime toolkit | `npm install @bridgerust/bridgetime` | | **bridgeq** | Python (preview) | Rust-powered queue toolkit | `pip install bridgeq` | | **@bridgerust/bridgeq** | Node.js (preview) | Rust-powered queue toolkit | `npm install @bridgerust/bridgeq` | | **bridgerust** | Rust crate | Cross-language binding framework | `cargo add bridgerust` | | **bridgerust-macros** | Rust crate | `#[export]` proc-macros | re-exported by `bridgerust` | | **bridge** | CLI | Scaffold new BridgeRust libraries | `cargo install bridge` | | **embex-cli** | CLI | Manage Embex collections from the terminal | `cargo install embex-cli` | | **bridgeq** | Rust crate (experimental) | Queue core for upcoming cross-language task queue | workspace crate | | **bridgeq-redis** | Rust crate (alpha) | Durable Redis adapter for bridgeq | workspace crate | | **bridgeq-postgres** | Rust crate (alpha) | Durable PostgreSQL adapter for bridgeq | workspace crate | --- ## Architecture ``` crates/core (SIMD vector utilities) └── crates/bridgerust-macros (#[export] proc-macros) └── crates/bridgerust (cross-language framework) ├── crates/embex/** (vector DB client — 7 adapters) │ ├── bindings/python/embex → PyPI: embex │ └── bindings/node/@bridgerust/embex → npm: @bridgerust/embex └── crates/bridgetime/bridge (datetime toolkit) ├── bindings/python/bridgetime → PyPI: bridgetime └── bindings/node/@bridgerust/bridgetime → npm: @bridgerust/bridgetime ``` --- ## Products ### Embex — Universal Vector Database Client [](https://pypi.org/project/embex/) [](https://www.npmjs.com/package/@bridgerust/embex) One API. Seven databases. 4× faster than native clients. Embex abstracts vector database fragmentation into a single, production-ready API. Switch from LanceDB to Qdrant to Pinecone by changing one config line — no code rewrites. Built on a Rust core with SIMD acceleration. ```bash pip install embex # Python npm install @bridgerust/embex # Node.js ``` Supported providers: **LanceDB** • **Qdrant** • **Pinecone** • **Chroma** • **PgVector** • **Milvus** • **Weaviate** → [Full documentation](crates/embex/README.md) • [Docs site](https://bridgerust.dev/embex) • [Quick Start](https://bridgerust.dev/embex/quickstart) --- ### BridgeTime — Datetime Toolkit [)](https://pypi.org/project/bridgetime) [](https://www.npmjs.com/package/@bridgerust/bridgetime) A Rust-powered Day.js/Moment-style datetime toolkit for Python and Node.js. Same familiar API, backed by a fast Rust core. ```bash pip install bridgetime # Python npm install @bridgerust/bridgetime # Node.js ``` Sources: [`crates/bridgetime/bridge`](crates/bridgetime/bridge) • [`bindings/python/bridgetime`](bindings/python/bridgetime) • [`bindings/node/@bridgerust/bridgetime`](bindings/node/@bridgerust/bridgetime) → [Full documentation](docs/bridgetime.md) • [Python README](bindings/python/bridgetime/README.md) • [Node README](bindings/node/@bridgerust/bridgetime/README.md) --- ## BridgeRust Framework The **BridgeRust** framework is the foundation both products are built on. It eliminates the complexity of managing separate PyO3 (Python) and napi-rs (Node.js) bindings by providing a single `#[export]` macro. → [Framework README](crates/bridgerust/README.md) • [Getting Started](docs/getting-started-bridgerust.md) ### Packages & Status **Framework** | Crate | Source | Version | Downloads | Docs | |:------|:-------|:--------|:----------|:-----| | **bridgerust** | [crates/bridgerust](crates/bridgerust) | [](https://crates.io/crates/bridgerust) | [](https://crates.io/crates/bridgerust) | [](https://bridgerust.dev/bridgerust/introduction) | | **bridgerust-macros** | [crates/bridgerust-macros](crates/bridgerust-macros) | [](https://crates.io/crates/bridgerust-macros) | [](https://crates.io/crates/bridgerust-macros) | [](https://docs.rs/bridgerust-macros) | | **bridge-core** | [crates/core](crates/core) | [](https://crates.io/crates/bridge-core) | [](https://crates.io/crates/bridge-core) | [](https://docs.rs/bridge-core) | **Language bindings** | Package | Ecosystem | Source | Version | |:--------|:----------|:-------|:--------| | **embex** | Python (PyPI) | [bindings/python/embex](bindings/python/embex) | [](https://pypi.org/project/embex) | | **@bridgerust/embex** | Node.js (npm) | [bindings/node/@bridgerust/embex](bindings/node/@bridgerust/embex) | [](https://www.npmjs.com/package/@bridgerust/embex) | | **bridgetime** | Python (PyPI) | [bindings/python/bridgetime](bindings/python/bridgetime) | [](https://pypi.org/project/bridgetime) | | **@bridgerust/bridgetime** | Node.js (npm) | [bindings/node/@bridgerust/bridgetime](bindings/node/@bridgerust/bridgetime) | [](https://www.npmjs.com/package/@bridgerust/bridgetime) | **CLI tools** | Tool | Source | Version | Description | |:-----|:-------|:--------|:------------| | **bridge** | [cli/bridge](cli/bridge) | [](https://crates.io/crates/bridge) | Scaffold new BridgeRust libraries | | **embex-cli** | [cli/embex-cli](cli/embex-cli) | [](https://crates.io/crates/embex-cli) | Manage Embex collections from the terminal | ### Framework Documentation - [Quick Reference](docs/QUICK_REFERENCE.md) - [Getting Started Guide](docs/getting-started-bridgerust.md) - [Migration Guide](docs/MIGRATION_GUIDE.md) - [Examples](docs/EXAMPLES.md) - [Troubleshooting](docs/TROUBLESHOOTING.md) - [New Libraries Track](docs/new_libraries.md) - [Comprehensive Example](examples/bridgerust-example/) --- ## Contributing See [CONTRIBUTING.md](docs/CONTRIBUTING.md) for development setup and guidelines. ## License MIT OR Apache-2.0 [](LICENSE)