GeekORM
GeekORM is a simple, lightweight Object Relational Mapper (ORM) for Rust that makes working with databases straightforward and type-safe.
Features
- Type-Safe: Leverage Rust’s type system for compile-time query validation
- Simple API: Easy-to-use interface for common database operations
- Multiple Databases: Support for SQLite, PostgreSQL, and more
- Lightweight: Minimal dependencies and overhead
- Developer-Friendly: Great error messages and documentation
Getting Started
Add GeekORM to your Cargo.toml:
[dependencies]
geekorm = "0.1"Example Usage
use geekorm::{prelude::*, GeekConnection};
#[derive(Table, Debug, Clone)]
struct User {
#[geekorm(primary_key, auto_increment)]
id: PrimaryKey<i32>,
username: String,
email: String,
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
let conn = GeekConnection::new("sqlite::memory:")?;
// Create table
User::create_table(&conn)?;
// Insert user
let user = User::new("geekmasher", "hello@geekmasher.dev")
.save(&conn)?;
// Query users
let users = User::query().fetch_all(&conn)?;
Ok(())
}Why GeekORM?
Built by developers who were frustrated with complex ORMs, GeekORM focuses on:
- Simplicity over features: Do the basics really well
- Type safety: Catch errors at compile time
- Performance: Minimal overhead
- Great DX: Excellent error messages and documentation

