80 lines
2.1 KiB
TOML
80 lines
2.1 KiB
TOML
[package]
|
|
name = "sevensense-api"
|
|
description = "REST, GraphQL, and WebSocket API server for 7sense bioacoustics platform"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
authors.workspace = true
|
|
readme = "README.md"
|
|
|
|
[dependencies]
|
|
# Internal crates
|
|
sevensense-core = { workspace = true, version = "0.1.0" }
|
|
sevensense-audio = { workspace = true, version = "0.1.0" }
|
|
sevensense-embedding = { workspace = true, version = "0.1.0" }
|
|
sevensense-vector = { workspace = true, version = "0.1.0" }
|
|
sevensense-learning = { workspace = true, version = "0.1.0" }
|
|
sevensense-analysis = { workspace = true, version = "0.1.0" }
|
|
sevensense-interpretation = { workspace = true, version = "0.1.0" }
|
|
|
|
# Async runtime
|
|
tokio = { workspace = true }
|
|
tokio-stream = "0.1"
|
|
async-trait = { workspace = true }
|
|
futures = { workspace = true }
|
|
|
|
# Observability
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true }
|
|
|
|
# Error handling
|
|
thiserror = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
|
|
# Serialization
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
|
|
# API framework
|
|
axum = { workspace = true, features = ["multipart", "ws", "macros"] }
|
|
axum-extra = { version = "0.10", features = ["typed-header"] }
|
|
tower = { workspace = true }
|
|
tower-http = { workspace = true, features = ["cors", "trace", "compression-gzip", "limit", "request-id"] }
|
|
|
|
# GraphQL
|
|
async-graphql = { version = "7.0", features = ["uuid", "chrono", "tracing"] }
|
|
async-graphql-axum = "7.0"
|
|
|
|
# OpenAPI
|
|
utoipa = { version = "5.3", features = ["axum_extras", "uuid", "chrono"] }
|
|
utoipa-swagger-ui = { version = "9.0", features = ["axum"] }
|
|
|
|
# Async streaming
|
|
async-stream = "0.3"
|
|
|
|
# Rate limiting
|
|
governor = "0.6"
|
|
|
|
# Types
|
|
uuid = { workspace = true }
|
|
chrono = { workspace = true }
|
|
bytes = "1.5"
|
|
mime = "0.3"
|
|
base64 = "0.22"
|
|
|
|
# Configuration
|
|
dotenvy = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true, features = ["test-util", "macros"] }
|
|
tower = { workspace = true, features = ["util"] }
|
|
|
|
[[bin]]
|
|
name = "sevensense-api"
|
|
path = "src/main.rs"
|
|
|
|
[features]
|
|
default = []
|