[package]
edition = "2024"
name = "uxar"
version = "0.1.5"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Opinionated Rust web framework built on Axum for Postgres-backed JSON APIs"
documentation = "https://docs.rs/uxar"
readme = "README.md"
license = "MIT"
repository = "https://github.com/vivsh/uxar"
[features]
argon2 = ["dep:argon2"]
cors = ["tower-http/cors"]
default = ["postgres"]
mysql = ["sqlx/mysql"]
postgres = ["sqlx/postgres"]
sqlite = ["sqlx/sqlite"]
[lib]
name = "uxar"
path = "src/lib.rs"
[[example]]
name = "notes"
path = "examples/notes.rs"
[[test]]
name = "emitters"
path = "tests/emitters.rs"
[[test]]
name = "passwords"
path = "tests/passwords.rs"
[[test]]
name = "validatable"
path = "tests/validatable.rs"
[[test]]
name = "validators"
path = "tests/validators.rs"
[dependencies.argh]
version = "0.1.13"
features = ["serde"]
[dependencies.argon2]
version = "0.5"
optional = true
[dependencies.axum]
version = "0.8.4"
features = [
"macros",
"ws",
"multipart",
"http2",
]
[dependencies.axum-extra]
version = "0.10.1"
features = [
"typed-header",
"query",
"multipart",
"form",
"cookie",
"cookie-private",
"cookie-signed",
]
[dependencies.axum-test]
version = "17.3.0"
[dependencies.base64]
version = "0.21"
[dependencies.blake3]
version = "1.8.2"
[dependencies.bytes]
version = "1.8"
[dependencies.chrono]
version = "0.4.41"
features = ["serde"]
[dependencies.chrono-tz]
version = "0.10"
[dependencies.cron]
version = "0.12"
[dependencies.dotenvy]
version = "0.15.7"
[dependencies.either]
version = "1.15.0"
[dependencies.futures]
version = "0.3.31"
[dependencies.garde]
version = "0.22.1"
[dependencies.http-serde]
version = "2.1.1"
[dependencies.indexmap]
version = "2.10.0"
features = ["serde"]
[dependencies.jsonwebtoken]
version = "9.3.1"
[dependencies.mime_guess]
version = "2.0.5"
[dependencies.minijinja]
version = "2.11.0"
features = ["loader"]
[dependencies.notify]
version = "^8.1"
[dependencies.once_cell]
version = "1.21.3"
features = ["parking_lot"]
[dependencies.openapiv3]
version = "2.2.0"
[dependencies.openapiv3_1]
version = "0.1.3"
[dependencies.parking_lot]
version = "0.12.5"
[dependencies.percent-encoding]
version = "2.3.2"
[dependencies.rand]
version = "0.9.1"
features = ["serde"]
[dependencies.regex]
version = "1.12.2"
[dependencies.ring]
version = "0.16"
[dependencies.rust-silos]
version = "^0.3"
[dependencies.schemars]
version = "1.0.4"
[dependencies.serde]
version = "1.0.219"
features = [
"derive",
"rc",
"serde_derive",
]
[dependencies.serde_json]
version = "1.0.140"
features = [
"indexmap",
"raw_value",
"preserve_order",
]
[dependencies.serde_urlencoded]
version = "0.7"
[dependencies.smallvec]
version = "1.13"
[dependencies.sqlx]
version = "^0.8.6"
features = [
"chrono",
"postgres",
"runtime-tokio",
"uuid",
"json",
]
[dependencies.strum]
version = "0.27.1"
features = [
"derive",
"strum_macros",
]
[dependencies.sysinfo]
version = "0.33"
[dependencies.thiserror]
version = "2.0.12"
[dependencies.time]
version = "0.3.41"
[dependencies.tokio]
version = "1.46.1"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
features = ["sync"]
[dependencies.tokio-util]
version = "0.7.18"
[dependencies.tower]
version = "0.5.2"
[dependencies.tower-http]
version = "0.6.2"
features = [
"catch-panic",
"normalize-path",
"fs",
]
[dependencies.tracing]
version = "0.1.41"
[dependencies.tracing-appender]
version = "0.2"
[dependencies.tracing-log]
version = "0.2"
[dependencies.tracing-subscriber]
version = "0.3.19"
features = [
"env-filter",
"json",
"time",
"ansi",
]
[dependencies.twox-hash]
version = "1.6"
[dependencies.url]
version = "2.5.4"
[dependencies.uuid]
version = "1.17.0"
features = [
"v4",
"v7",
"serde",
]
[dependencies.uxar-macros]
version = "0.1.5"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1.46.1"
features = [
"full",
"test-util",
]