[package]
edition = "2024"
rust-version = "1.99.0"
name = "sift-query"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A parameter-driven, read-only query layer for Rust"
homepage = "https://docs.rs/sift-query"
documentation = "https://docs.rs/sift-query"
readme = "README.md"
keywords = [
"sqlx",
"query",
"postgres",
"filter",
"search",
]
categories = [
"database",
"web-programming",
]
license = "Apache-2.0"
repository = "https://github.com/wsafight/sift-query.git"
[features]
actix-web = [
"postgres",
"sift-query-sqlx/actix-web",
]
axum = [
"postgres",
"sift-query-sqlx/axum",
]
chrono = [
"sift-query-core/chrono",
"sift-query-sqlx?/chrono",
"sift-query-mysql?/chrono",
"sift-query-sqlite?/chrono",
]
decimal = [
"sift-query-core/decimal",
"sift-query-sqlx?/decimal",
"sift-query-mysql?/decimal",
]
default = [
"postgres",
"chrono",
"decimal",
"json",
"serde",
"uuid",
]
json = [
"sift-query-core/json",
"sift-query-sqlx?/json",
"sift-query-mysql?/json",
"sift-query-sqlite?/json",
]
ltree = [
"postgres-search",
"sift-query-sqlx/ltree",
]
metadata = [
"json",
"sift-query-core/metadata",
]
mysql = ["dep:sift-query-mysql"]
mysql-actix-web = [
"mysql",
"sift-query-mysql/actix-web",
]
mysql-axum = [
"mysql",
"sift-query-mysql/axum",
]
mysql-chrono = [
"mysql",
"sift-query-mysql/chrono",
]
mysql-decimal = [
"mysql",
"sift-query-mysql/decimal",
]
mysql-json = [
"mysql",
"sift-query-mysql/json",
]
mysql-poem = [
"mysql",
"sift-query-mysql/poem",
]
mysql-uuid = [
"mysql",
"sift-query-mysql/uuid",
]
pg-trgm = [
"postgres-search",
"sift-query-sqlx/pg-trgm",
]
poem = [
"postgres",
"sift-query-sqlx/poem",
]
postgis = [
"postgres-search",
"sift-query-sqlx/postgis",
]
postgres = ["dep:sift-query-sqlx"]
postgres-search = [
"postgres",
"sift-query-sqlx/postgres-search",
]
postgres-types = [
"postgres",
"sift-query-sqlx/postgres-types",
]
rls = [
"postgres",
"sift-query-sqlx/rls",
]
rsql = ["sift-query-core/rsql"]
serde = [
"sift-query-core/serde",
"sift-query-sqlx?/serde",
"sift-query-mysql?/serde",
"sift-query-sqlite?/serde",
]
sqlite = ["dep:sift-query-sqlite"]
sqlite-actix-web = [
"sqlite",
"sift-query-sqlite/actix-web",
]
sqlite-axum = [
"sqlite",
"sift-query-sqlite/axum",
]
sqlite-chrono = [
"sqlite",
"sift-query-sqlite/chrono",
]
sqlite-json = [
"sqlite",
"sift-query-sqlite/json",
]
sqlite-poem = [
"sqlite",
"sift-query-sqlite/poem",
]
sqlite-uuid = [
"sqlite",
"sift-query-sqlite/uuid",
]
uuid = [
"sift-query-core/uuid",
"sift-query-sqlx?/uuid",
"sift-query-mysql?/uuid",
"sift-query-sqlite?/uuid",
]
[lib]
name = "sift_query"
path = "src/lib.rs"
[[test]]
name = "derive_and_parse"
path = "tests/derive_and_parse.rs"
[[test]]
name = "product_alignment"
path = "tests/product_alignment.rs"
[dependencies.sift-query-core]
version = "0.1.0"
[dependencies.sift-query-derive]
version = "0.1.0"
[dependencies.sift-query-mysql]
version = "0.1.0"
optional = true
[dependencies.sift-query-sqlite]
version = "0.1.0"
optional = true
[dependencies.sift-query-sqlx]
version = "0.1.0"
optional = true
[dev-dependencies.sqlx]
version = "0.9.0"
features = [
"runtime-tokio",
"postgres",
"macros",
]
default-features = false
[lints.clippy]
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
new_ret_no_self = "allow"
too_many_lines = "allow"
type_complexity = "allow"
wildcard_imports = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "forbid"