ormer 0.2.9

A minimalist ORM framework that supports SQLite, PostgreSQL, MySQL, and SqlServer
[package]

name = "ormer"

version = "0.2.9"

edition = "2024"

rust-version = "1.85"

license = "MIT"

repository = "https://github.com/fawdlstty/ormer"

homepage = "https://github.com/fawdlstty/ormer"

description = "A minimalist ORM framework that supports SQLite, PostgreSQL, MySQL, and SqlServer"

authors = ["fawdlstty<f@fawdlstty.com>"]

keywords = ["orm", "database"]

categories = []

readme = "../README.md"

exclude = ["src/main.rs"]



[lib]

name = "ormer"

path = "src/lib.rs"

doctest = false



[dependencies]

async-trait = "0.1.92"

byteorder = "1.5"

bytes = "1.12.1"

futures = "0.3.34"

ormer-derive = { version = "0.2.9", path = "../ormer-derive" }

paste = "1.0"

tokio = { version = "1.53.1", features = ["full"] }

chrono = { version = "0.4.45", features = ["serde"] }

uuid = { version = "1.26.0", features = ["serde"] }

serde_json = "1.0.151"

serde = { version = "1.0.229", features = ["derive"], optional = true }

rust_decimal = "1.42.1"

bigdecimal = "0.4"

# clickhouse HTTP client (optional; execution remains explicitly gated)

clickhouse = { version = "~0.15.2", default-features = false, features = ["lz4", "chrono", "uuid"], optional = true }

# sqlite

turso = { version = "0.7.2", optional = true }

# duckdb

duckdb = { version = "~1.10505.0", default-features = false, features = [

    "bundled",

    "chrono",

    "serde_json",

    "uuid",

    "rust_decimal",

], optional = true }

# postgres

bb8 = { version = "0.9.1", optional = true }

bb8-postgres = { version = "0.9.0", optional = true }

postgres-types = { version = "0.2", features = ["with-uuid-1"], optional = true }

tokio-postgres = { version = "0.7", features = ["array-impls", "with-chrono-0_4", "with-uuid-1"], optional = true }

# mysql

mysql_async = { version = "0.37.0", features = ["rust_decimal", "bigdecimal"], optional = true }

# mssql

tiberius = { version = "0.12.3", optional = true, features = ["tds73", "chrono", "rust_decimal", "bigdecimal"] }

tokio-util = { version = "0.7.19", features = ["compat"], optional = true }



[dev-dependencies]

paste = "1.0"



[[test]]

name = "aggregate_test"

harness = true



[package.metadata.docs.rs]

all-features = true



[features]

default = ["sqlite"]

full = ["sqlite", "postgresql", "mysql", "mssql", "duckdb", "clickhouse"]

sqlite = ["dep:turso"]

postgresql = ["dep:tokio-postgres", "dep:postgres-types", "dep:bb8", "dep:bb8-postgres"]

mysql = ["dep:mysql_async"]

mssql = ["dep:tiberius", "dep:tokio-util"]

duckdb = ["sqlite", "dep:duckdb"]

clickhouse = ["sqlite", "dep:clickhouse", "dep:serde"]



# cargo publish -p ormer-derive --allow-dirty --registry crates-io

# cargo publish -p ormer --allow-dirty --registry crates-io

# cd docs && npm run docs:build && cd ..