[package]
name = "datapress-core"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
description = "Backend-agnostic core types, config, routing, and HTTP handlers for the datapress dataset server."
documentation = "https://docs.datap-rs.org"
readme = "README.md"
[features]
duckdb = ["dep:duckdb"]
datafusion = ["dep:arrow", "dep:parquet", "dep:datafusion"]
docs = ["dep:include_dir", "dep:mime_guess"]
swagger = ["dep:utoipa", "dep:utoipa-swagger-ui", "dep:reqwest"]
metrics = ["dep:actix-web-prom"]
auth = ["dep:jsonwebtoken", "jsonwebtoken/aws_lc_rs", "dep:reqwest", "dep:arc-swap"]
explorer = ["dep:askama", "dep:include_dir", "dep:mime_guess"]
[dependencies]
actix-web.workspace = true
async-trait.workspace = true
bytes.workspace = true
futures-util.workspace = true
serde.workspace = true
serde_json.workspace = true
log.workspace = true
toml.workspace = true
glob.workspace = true
tokio.workspace = true
sqlparser.workspace = true
duckdb = { workspace = true, optional = true }
arrow = { workspace = true, optional = true }
parquet = { workspace = true, optional = true }
datafusion = { workspace = true, optional = true }
include_dir = { version = "0.7", optional = true }
mime_guess = { version = "2", optional = true }
utoipa = { workspace = true, optional = true }
utoipa-swagger-ui = { workspace = true, optional = true }
actix-web-prom = { workspace = true, optional = true }
jsonwebtoken = { workspace = true, optional = true }
reqwest = { workspace = true, optional = true }
arc-swap = { workspace = true, optional = true }
askama = { workspace = true, optional = true }
[build-dependencies]
flate2 = "1"
[dev-dependencies]
arrow = { workspace = true }
actix-rt = "2"