acton-htmx 1.0.0-beta.7

Opinionated Rust web framework for HTMX applications
Documentation
[dependencies.acton-reactive]
version = "5"

[dependencies.anyhow]
version = "1"

[dependencies.argon2]
version = "0.5"

[dependencies.askama]
version = "0.14"

[dependencies.async-trait]
version = "0.1"

[dependencies.aws-config]
optional = true
version = "1.8.11"

[dependencies.aws-sdk-sesv2]
optional = true
version = "1.82.0"

[dependencies.axum]
features = ["multipart"]
version = "0.8"

[dependencies.axum-htmx]
features = ["auto-vary", "guards", "serde"]
version = "0.8"

[dependencies.base64]
version = "0.22.1"

[dependencies.bytes]
version = "1.11.0"

[dependencies.cedar-policy]
optional = true
version = "4.3"

[dependencies.chrono]
features = ["serde"]
version = "0.4"

[dependencies.clamav-client]
features = ["tokio"]
optional = true
version = "2.2.0"

[dependencies.cron]
version = "0.15.0"

[dependencies.deadpool-redis]
optional = true
version = "0.22"

[dependencies.dirs]
version = "6.0.0"

[dependencies.figment]
features = ["toml", "env", "json"]
version = "0.10"

[dependencies.futures-util]
version = "0.3.31"

[dependencies.governor]
version = "0.10.2"

[dependencies.hex]
version = "0.4.3"

[dependencies.http]
version = "1"

[dependencies.httpdate]
version = "1.0.3"

[dependencies.hyper]
version = "1"

[dependencies.image]
features = ["jpeg", "png", "gif", "webp"]
version = "0.25.6"

[dependencies.infer]
features = ["alloc"]
version = "0.19.0"

[dependencies.kamadak-exif]
version = "0.6.1"

[dependencies.lettre]
features = ["smtp-transport", "builder", "tokio1-native-tls"]
version = "0.11.19"

[dependencies.mime]
version = "0.3.17"

[dependencies.mime_guess]
version = "2.0.5"

[dependencies.minijinja]
features = ["loader"]
version = "2"

[dependencies.multer]
features = ["tokio-io"]
version = "3.1.0"

[dependencies.notify]
version = "7"

[dependencies.oauth2]
version = "5.0.0"

[dependencies.once_cell]
version = "1"

[dependencies.openidconnect]
version = "4.0.1"

[dependencies.opentelemetry]
optional = true
version = "0.31"

[dependencies.opentelemetry-otlp]
features = ["grpc-tonic"]
optional = true
version = "0.31"

[dependencies.parking_lot]
version = "0.12"

[dependencies.phf]
features = ["macros"]
version = "0.11"

[dependencies.rand]
version = "0.9"

[dependencies.redis]
optional = true
version = "0.32"

[dependencies.regex]
version = "1.12.2"

[dependencies.reqwest]
features = ["json"]
version = "0.12.24"

[dependencies.serde]
features = ["derive"]
version = "1"

[dependencies.serde_json]
version = "1"

[dependencies.sha2]
version = "0.10"

[dependencies.sqlx]
features = ["runtime-tokio", "postgres", "sqlite", "chrono", "uuid", "json"]
version = "0.8"

[dependencies.thiserror]
version = "2"

[dependencies.time]
features = ["macros"]
version = "0.3"

[dependencies.tokio]
features = ["full"]
version = "1"

[dependencies.toml]
version = "0.9"

[dependencies.tower]
version = "0.5"

[dependencies.tower-http]
features = ["compression-full", "cors", "trace", "timeout", "limit"]
version = "0.6"

[dependencies.tower-resilience]
version = "0.3"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
features = ["json", "env-filter"]
version = "0.3"

[dependencies.uuid]
features = ["v4", "serde"]
version = "1"

[dependencies.validator]
features = ["derive", "derive"]
version = "0.20"

[dev-dependencies.anyhow]
version = "1"

[dev-dependencies.axum-test]
version = "18.3"

[dev-dependencies.mockall]
version = "0.13"

[dev-dependencies.proptest]
version = "1"

[dev-dependencies.tempfile]
version = "3.23.0"

[dev-dependencies.tokio]
features = ["full", "test-util"]
version = "1"

[[example]]
name = "basic_server"
path = "examples/basic_server.rs"

[[example]]
name = "email_demo"
path = "examples/email_demo.rs"

[[example]]
name = "forms_demo"
path = "examples/forms_demo.rs"

[[example]]
name = "htmx_templates"
path = "examples/htmx_templates.rs"

[[example]]
name = "simple_htmx"
path = "examples/simple_htmx.rs"

[features]
aws-config = ["dep:aws-config"]
aws-sdk-sesv2 = ["dep:aws-sdk-sesv2"]
cedar = ["dep:cedar-policy"]
clamav = ["dep:clamav-client"]
default = ["postgres", "redis", "cedar"]
mysql = ["sqlx/mysql"]
otel-metrics = ["dep:opentelemetry", "dep:opentelemetry-otlp"]
postgres = ["sqlx/postgres"]
redis = ["dep:redis", "dep:deadpool-redis"]
sqlite = ["sqlx/sqlite"]

[lib]
name = "acton_htmx"
path = "src/lib.rs"

[lints.clippy]
cargo_common_metadata = "allow"
doc_markdown = "allow"
module_name_repetitions = "allow"

[lints.clippy.all]
level = "deny"
priority = -1

[lints.clippy.cargo]
level = "warn"
priority = -1

[lints.clippy.multiple_crate_versions]
level = "allow"
priority = 1

[lints.clippy.nursery]
level = "deny"
priority = -1

[lints.clippy.pedantic]
level = "deny"
priority = -1

[lints.rust]
missing_docs = "warn"
unsafe_code = "forbid"
warnings = "deny"

[package]
authors = ["Acton Contributors"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["web-programming::http-server"]
description = "Opinionated Rust web framework for HTMX applications"
edition = "2021"
homepage = "https://acton-htmx.dev"
keywords = ["web", "framework", "htmx", "axum", "hypermedia"]
license = "MIT"
name = "acton-htmx"
readme = "README.md"
repository = "https://github.com/GovCraft/acton-htmx"
rust-version = "1.83.0"
version = "1.0.0-beta.7"

[[test]]
name = "htmx_extractors"
path = "tests/htmx_extractors.rs"

[[test]]
name = "htmx_responders"
path = "tests/htmx_responders.rs"

[[test]]
name = "oauth2_integration"
path = "tests/oauth2_integration.rs"