rust_sqlite  by joaoh82

Embedded SQL database engine with AI and vector capabilities

Created 5 years ago
1,088 stars

Top 34.2% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

Summary

SQLRite (Rust-SQLite) is an embedded database engine built in Rust, modeled after SQLite. It aims to foster deep understanding of database internals through practical implementation. This project targets developers seeking a Rust-native, performant embedded database or those exploring database design principles, offering a growing feature set and multi-language SDKs for broader integration.

How It Works

The project employs a phased development methodology, systematically constructing core components: SQL parser, B-tree storage, a pager for disk I/O, and an execution engine. Built with Rust for safety and performance, its modular design allows the engine to function as a library. Notable advancements include comprehensive transaction support via Write-Ahead Logging (WAL), extensive multi-language SDKs (C, Python, Node.js, Go, WASM), and recent AI extensions for natural language querying.

Quick Start & Requirements

  • REPL: Execute cargo run (requires Rust stable toolchain).
  • Desktop App: Prebuilt installers available for Linux, macOS (Apple Silicon), and Windows. For development, navigate to desktop/ and run npm install && npm run tauri dev.
  • Documentation: API documentation is available on docs.rs. In-depth technical details are located within the docs/ directory.

Highlighted Details

  • A detailed, phased roadmap (Phases 0-7) outlines systematic progression from core features to advanced capabilities like concurrency, multi-language SDKs, and AI integrations.
  • Broad language interoperability via C FFI, Python (DB-API 2.0), Node.js (N-API), Go (database/sql driver), and WebAssembly (WASM).
  • AI-powered natural language-to-SQL translation (sqlrite-ask) using the Anthropic API with prompt caching.
  • Phase 7 introduces VECTOR types, distance functions, and HNSW ANN indexing for similarity search.
  • Cross-platform desktop GUI built with Tauri 2.0 and Svelte 5.

Maintenance & Community

  • Actively maintained by @joaoh82, with a clear, phased roadmap guiding development.
  • Community chat channel implied.
  • Contact: joaoh82@gmail.com.

Licensing & Compatibility

  • License: The specific open-source license for this project is not explicitly stated in the provided README. This omission requires clarification before adoption.
  • Compatibility: Multi-language SDKs ensure broad integration. macOS desktop app currently lacks support for Intel Macs.

Limitations & Caveats

  • The project remains under active development; many common SQL features such as joins, aggregates, subqueries, and complex predicates are not yet implemented.
  • Desktop application installers are unsigned, necessitating user intervention to bypass security warnings during initial launch on macOS, Windows, and Linux.
  • The sqlrite-ask natural language query feature requires users to supply their own API key for the Anthropic LLM.
Health Check
Last Commit

2 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.