content: [package]
  name = "meteroid"
  version = "0.1.0"
  rust-version.workspace = true
  edition.workspace = true
  license.workspace = true
  
  [dependencies]
  error-stack.workspace = true
  thiserror.workspace = true
  cached = { workspace = true, features = ["async", "tokio"] }
  chrono = { workspace = true, features = ["clock"] }
  common-build-info = { workspace = true }
  common-config = { workspace = true }
  common-logging = { workspace = true }
  common-grpc = { workspace = true, features = ["server"] }
  common-grpc-error-as-tonic-macros = { workspace = true }
  common-grpc-error-as-tonic-macros-impl = { workspace = true }
  meteroid-grpc = { path = "crates/meteroid-grpc", features = ["server"] }
  meteroid-middleware = { path = "crates/meteroid-middleware", features = ["server"] }
  deadpool-postgres.workspace = true
  dotenvy.workspace = true
  diesel = { workspace = true, features = ["postgres"] }
  diesel-async = { workspace = true, features = ["postgres", "async-connection-wrapper"] }
  diesel_migrations = { workspace = true, features = ["postgres"] }
  envconfig.workspace = true
  futures.workspace = true
  log.workspace = true
  nanoid.workspace = true
  prost-types.workspace = true
  prost.workspace = true
  reqwest = { workspace = true, features = ["default", "json"] }
  segment.workspace = true
  serde = { workspace = true, features = ["derive"] }
  serde-enum-str.workspace = true
  serde_json.workspace = true
  serde_with.workspace = true
  tap.workspace = true
  time.workspace = true
  tokio = { workspace = true, features = ["rt-multi-thread"] }
  tonic-health.workspace = true
  tonic-reflection.workspace = true
  tonic.workspace = true
  tonic-web.workspace = true
  tonic-tracing-opentelemetry.workspace = true
  tower.workspace = true
  tower-http.workspace = true
  opentelemetry.workspace = true
  tracing = { workspace = true }
  uuid = { workspace = true, features = ["v7"] }
  base64.workspace = true
  http = { workspace = true }
  hmac-sha256 = { workspace = true }
  parquet = { workspace = true, features = ["snap", "arrow"] }
  
  secrecy.workspace = true
  anyhow.workspace = true
  axum = { workspace = true, features = ["default", "macros", "http2"] }
  hyper = { workspace = true, features = ["http1", "http2", "server"] }
  
  rust_decimal = { workspace = true, features = ["serde_json", "serde-with-float"] }
  rust_decimal_macros = { workspace = true }
  
  metering-grpc = { workspace = true, features = ["client"] }
  meteroid-oauth = { workspace = true }
  meteroid-tax = { workspace = true }
  common-domain = { workspace = true, features = ["utoipa", "tonic"] }
  common-eventbus = { workspace = true }
  common-utils = { workspace = true, features = ["error-stack-conv"] }
  distributed-lock = { workspace = true, features = ["postgres-support"] }
  stripe-client = { path = "crates/stripe-client" }
  object_store = { workspace = true, features = ["aws", "azure", "gcp", "http", "fs"] }
  bytes.workspace = true
  async-trait.workspace = true
  url.workspace = true
  csv = "1.3"
  typetag = { workspace = true }
  jsonwebtoken = { workspace = true, features = ["aws_lc_rs"] }
  once_cell.workspace = true
  tower-layer.workspace = true
  image = { workspace = true }
  meteroid-store.workspace = true
  meteroid-invoicing.workspace = true
  meteroid-mailer.workspace = true
  rand.workspace = true
  rusty-money.workspace = true
  meteroid-seeder = { workspace = true }
  hubspot-client = { workspace = true }
  pennylane-client = { workspace = true }
  moka = { workspace = true, features = ["future"] }
  
  utoipa.workspace = true
  utoipa-swagger-ui.workspace = true
  utoipa-axum.workspace = true
  utoipa-redoc.workspace = true
  utoipa-rapidoc.workspace = true
  utoipa-scalar.workspace = true
  
  svix = { workspace = true, features = ["http2", "rustls-tls"] }
  strum = { workspace = true, features = ["derive"] }
  
  
  env_logger = { workspace = true }
  o2o.workspace = true
  itertools = { workspace = true }
  validator = { workspace = true, features = ["derive"] }
  axum-valid = { workspace = true }
  metering = { workspace = true, features = ["clickhouse", "kafka"], optional = true }
  
  [dev-dependencies]
  rstest = { workspace = true }
  testcontainers = { workspace = true }
  tokio-util = { workspace = true }
  clickhouse = { workspace = true, features = ["chrono"] }
  metering = { workspace = true, features = ["clickhouse", "kafka"] }
  backon = { workspace = true }
  diesel-models.workspace = true
  rdkafka = { workspace = true }
  kafka = { workspace = true }
  mockall = { workspace = true }
  meteroid-mailer = { workspace = true, features = ["test-utils"] }
  insta = { workspace = true, features = ["json"] }
  
  
  [features]
  metering-server = ["metering"]
  
  [[bin]]
  name = "meteroid-api"
  path = "src/bin/server.rs"
  
  [[bin]]
  name = "openapi-generate"
  path = "src/bin/openapi.rs"
  
  [[bin]]
  name = "meteroid-scheduler"
  path = "src/bin/scheduler.rs"
  
  [[bin]]
  name = "standalone"
  path = "src/bin/standalone.rs"
  