[package]
edition = "2024"
rust-version = "1.91"
name = "capsula-server"
version = "0.11.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Web server for managing and viewing Capsula runs"
readme = "README.md"
keywords = [
"capsula",
"server",
"web",
]
categories = ["web-programming::http-server"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/shunichironomura/capsula"
[lib]
name = "capsula_server"
path = "src/lib.rs"
[[bin]]
name = "capsula-server"
path = "src/main.rs"
[[test]]
name = "api_tests"
path = "tests/api_tests.rs"
[dependencies.askama]
version = "0.15"
[dependencies.askama_web]
version = "0.15"
features = ["axum-0.8"]
[dependencies.axum]
version = "0.8"
features = ["multipart"]
[dependencies.capsula-api-types]
version = "0.11.1"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
[dependencies.mime_guess]
version = "2"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.shlex]
version = "1"
[dependencies.sql-json-path]
version = "0.1"
[dependencies.sqlx]
version = "0.8"
features = [
"chrono",
"postgres",
"runtime-tokio-rustls",
"migrate",
]
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tokio-util]
version = "0.7"
features = ["io"]
[dependencies.tower-http]
version = "0.6"
features = [
"fs",
"trace",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dev-dependencies.reqwest]
version = "0.13"
features = [
"blocking",
"json",
"multipart",
]
[dev-dependencies.testcontainers-modules]
version = "0.15"
features = ["postgres"]
[lints.clippy]
all = "warn"
[lints.clippy.allow_attributes]
level = "warn"
priority = 1
[lints.clippy.allow_attributes_without_reason]
level = "warn"
priority = 1
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.complexity]
level = "warn"
priority = -1
[lints.clippy.correctness]
level = "deny"
priority = -1
[lints.clippy.dbg_macro]
level = "warn"
priority = 1
[lints.clippy.decimal_literal_representation]
level = "warn"
priority = 1
[lints.clippy.derive_partial_eq_without_eq]
level = "allow"
priority = 1
[lints.clippy.else_if_without_else]
level = "warn"
priority = 1
[lints.clippy.expect_used]
level = "allow"
priority = 1
[lints.clippy.indexing_slicing]
level = "allow"
priority = 1
[lints.clippy.missing_errors_doc]
level = "allow"
priority = 1
[lints.clippy.missing_panics_doc]
level = "allow"
priority = 1
[lints.clippy.multiple_crate_versions]
level = "allow"
priority = 1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.panic]
level = "allow"
priority = 1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.clippy.perf]
level = "warn"
priority = -1
[lints.clippy.print_stderr]
level = "warn"
priority = 1
[lints.clippy.print_stdout]
level = "warn"
priority = 1
[lints.clippy.style]
level = "warn"
priority = -1
[lints.clippy.suspicious]
level = "warn"
priority = -1
[lints.clippy.todo]
level = "warn"
priority = 1
[lints.clippy.undocumented_unsafe_blocks]
level = "warn"
priority = 1
[lints.clippy.unimplemented]
level = "warn"
priority = 1
[lints.clippy.unwrap_used]
level = "warn"
priority = 1
[lints.rust]
unsafe-code = "warn"