🪝 QAIL

The Universal Query Transpiler

Any Language. Any Database. One Syntax.

SQL (Assembly) SELECT id, email FROM users WHERE active = true LIMIT 10;
QAIL get::users:'id'email [ 'active == true, 0..10 ]
cargo install qail
npm i qail-wasm
🦀 Rust 🐍 Python 🐹 Go 🐘 PHP ☕ Java 🟢 Node ⚡ C/C++ 🦀 Rust 🐍 Python 🐹 Go 🐘 PHP ☕ Java 🟢 Node ⚡ C/C++

Native Rust • Universal C-API • WASM

Why QAIL?

Write once. Run everywhere. No database dependencies.

🌐

Universal

Native Rust, C-API for Polyglots, and WASM for the Web. Write once, run everywhere.

Compile-Time Safe

Catch errors before you deploy. Validates syntax instantly. No live DB connection required.

🔗

Rust-Native Syntax

Uses 'labels and ::paths. Designed to feel like native Rust code.

🦀

Zero Dependencies

Pure Logic. We generate the string; you choose the driver. Works with sqlx, diesel, or raw drivers.

🎯

End-to-End Type Safety

Shared Brain. Validate queries in your React frontend with the exact same logic as your Rust backend.

🧬

AST-First

Programmable Queries. Manipulate the AST for detailed permission checks, auditing, and dynamic policies.

One Language. Everywhere.

🦀

Rust

qail-core + qail! macro

🌐

Browser

qail-wasm (~50KB)

📦

Node.js

npm install qail-wasm

Stop writing Assembly.

Write Qail. Compile to Safety.