content: [package]
  name = "rossby-vis"
  version = "0.1.0"
  edition = "2021"
  description = "Interactive visualization frontend for the rossby data server"
  authors = ["Rossby Vis Team"]
  license = "MIT"
  
  [[bin]]
  name = "rossby-vis"
  path = "src/main.rs"
  
  [lib]
  name = "rossby_vis"
  path = "src/lib.rs"
  
  [dependencies]
  # Web framework
  axum = "0.6.18"
  tower-http = { version = "0.4.0", features = ["fs", "trace"] }
  tower = "0.4.13"
  
  # Async runtime
  tokio = { version = "1.28.1", features = ["full"] }
  
  # Asset embedding
  rust-embed = "6.6.1"
  mime_guess = "2.0.4"
  
  # CLI argument parsing
  clap = { version = "4.3.0", features = ["derive"] }
  
  # Logging and observability
  tracing = "0.1.37"
  tracing-subscriber = { version = "0.3.20", features = ["env-filter", "json", "time", "fmt", "chrono"] }
  tracing-opentelemetry = { version = "0.19.0", optional = true }
  opentelemetry = { version = "0.19.0", features = ["rt-tokio"], optional = true }
  opentelemetry-jaeger = { version = "0.18.0", optional = true }
  uuid = { version = "1.3.3", features = ["v4"] }
  sysinfo = "0.29.2"
  
  # Error handling
  thiserror = "1.0.40"
  anyhow = "1.0.71"
  
  # HTTP client for data proxy
  reqwest = { version = "0.11.18", features = ["json", "stream"] }
  
  # JSON handling
  serde = { version = "1.0.164", features = ["derive"] }
  serde_json = "1.0.96"
  
  # Date/time handling
  chrono = { version = "0.4", features = ["serde"] }
  
  # Async utilities
  futures = "0.3.28"
  
  [dev-dependencies]
  reqwest = { version = "0.11.18", features = ["blocking"] }
  
  [features]
  default = []
  distributed-tracing = ["tracing-opentelemetry", "opentelemetry", "opentelemetry-jaeger"]
  