fastapi-core 0.4.1

Core types and traits for the FastAPI Rust framework
Documentation
[package]
name = "fastapi-core"
description = "Core types and traits for the FastAPI Rust framework"
version.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true

[dependencies]
asupersync = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
parking_lot = "0.12"
fastapi-types = { workspace = true }
fastapi-router = { workspace = true }
fastapi-openapi = { workspace = true }

# Testing utilities (used by TestClient for sync execution)
futures-executor = "0.3"

# Cross-platform OS CSPRNG (used for password salts and CSRF tokens; replaces
# the previous /dev/urandom-only implementation that panicked on Windows).
getrandom = "0.4"

# Optional regex support for testing assertions
regex = { version = "1.13", optional = true }

# Optional gzip backend for the compression middleware (gated on the `compression` feature).
flate2 = { version = "1", optional = true }

[features]
default = ["testing"]
# TestClient and assertion helpers require asupersync's test-only Cx constructors.
testing = ["asupersync/test-internals"]
# Enable regex support in testing assertions
regex = ["dep:regex"]
# Enable the gzip-based compression middleware (pulls in flate2).
compression = ["dep:flate2"]

[dev-dependencies]
serial_test = "4.0.1"
fastapi-macros = { workspace = true }

[lints]
workspace = true