content: [project]
  name = "app"
  version = "0.1.0"
  description = "Add your description here"
  readme = "README.md"
  requires-python = ">=3.11"
  dependencies = [
      "aiosqlite>=0.21.0",
      "fastapi[standard]>=0.115.10",
      "google-genai>=1.3.0",
      "greenlet>=3.1.1",
      "load-dotenv>=0.1.0",
      "loguru>=0.7.3",
      "nanoid>=2.0.0",
      "sqlalchemy>=2.0.38",
      "opentelemetry-instrumentation-sqlalchemy>=0.52b0",
      "opentelemetry-api>=1.31.0",
      "opentelemetry-sdk>=1.31.0",
      "opentelemetry-instrumentation-fastapi>=0.52b0",
      "pytest>=8.3.4",
      "pytest-asyncio>=0.25.3",
      "pytest-dotenv",
      "junjo",
      "pillow>=11.3.0",
      "openinference-instrumentation-google-genai>=0.1.1",
  ]
  
  [tool.ruff]
  # https://docs.astral.sh/ruff/settings/
  line-length = 120        # Default, compatible with Black
  target-version = "py311" # Or your project's Python version
  indent-width = 4         # Default, compatible with Black
  
  # Formatting options (optional - Ruff's formatter is Black-compatible by default)
  [tool.ruff.format]
  quote-style = "double" # Or "single"
  indent-style = "space"
  line-ending = "lf"
  
  [tool.ruff.lint]
  select = ["E", "F", "W", "I", "UP", "C", "B"]
  ignore = ["B006"]
  
  [tool.ruff.lint.per-file-ignores]
  "tests/junjo/test_*.py" = ["D", "F401"] # ignore docstring rules in tests
  
  [tool.uv.sources]
  junjo = { workspace = true }
  
  [dependency-groups]
  dev = ["ruff>=0.9.5"]
  