🪝 QAIL v0.8.1

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.

🛡️

Unbreakable Security

Structurally impossible SQL injection. Code and data are separated at the AST level.

Instant Adoption

qail pull introspects your DB and connects your project in < 30 seconds.

🌐

Universal

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

🔗

15+ Targets

Supports PostgreSQL, MySQL, SQLite, Oracle, Snowflake, Mongo, Redis, and more.

🎯

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.

Supported Databases

One syntax. 19 targets. SQL and NoSQL.

SQL Dialects

PostgreSQLPostgreSQL
MySQLMySQL
SQLiteSQLite
🗄️ SQL Server
🔶 Oracle
BigQueryBigQuery
SnowflakeSnowflake
🟠 Redshift
DuckDBDuckDB
MariaDBMariaDB
InfluxDBInfluxDB

NoSQL

MongoDBMongoDB
🟡 DynamoDB
RedisRedis
CassandraCassandra
ElasticsearchElasticsearch
Neo4jNeo4j
🔮 Qdrant

Language Bindings

Native packages for your language. All powered by one Rust core.

🦀

Rust

cargo add qail-core ✓ Stable
🌐

WASM / Node

npm i qail-wasm ✓ Stable
🐍

Python

pip install qail ✓ Ready
🐹

Go

go get qail-lang/qail-go ✓ Ready
🐘

PHP

composer require qail/qail ✓ Ready

Java

com.qail:qail ✓ Ready

C / C++

libqail_ffi.a via FFI

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.