content: [project]
  name = "processing"
  version = "0.1.0"
  description = "Add your description here"
  readme = "README.md"
  requires-python = ">=3.13"
  dependencies = [
      "asyncpg>=0.30.0",
      "fastapi>=0.115.12",
      "httpx>=0.28.1",
      "ollama>=0.4.8",
      "psycopg[binary]>=3.2.7",
      "pydantic>=2.11.4",
      "pydantic-settings>=2.9.1",
      "sqlmodel>=0.0.24",
      "uvicorn[standard]>=0.34.2",
  ]
  
  [tool.pytest.ini_options]
  pythonpath = ["."]
  asyncio_default_fixture_loop_scope = "function"
  
  
  [dependency-groups]
  dev = [
      "pytest>=8.3.5",
      "pytest-cov>=5.0.0",
      "pre-commit>=4.2.0",
      "pytest-asyncio>=0.26.0",
      "riff>=0.0.287.0",
      "psycopg2-binary==2.9.10",
      "alembic>=1.15.2",
      "pytest-mock>=3.14.0",
  ]
  
  [tool.riff]
  checkers = [
      "black --check processing",
      "ruff check processing",
      "mypy processing"
  ]
  
  [tool.ruff.isort]
  force-single-line = true
  
  [tool.ruff]
  target-version = "py312"
  select = ["E", "F", "W", "C", "N", "I"]
  ignore = ["E501", "E711"]  # Example: Ignore line length errors
  exclude = ["alembic", "tests"]
  
  line-length = 120
  
  [tool.coverage.run]
  omit = [
      "app/fixtures.py",
  ]
  
  [tool.coverage.report]
  exclude_lines = [
      "pragma: no cover",
      "if __name__ == .__main__.:",
      "if TYPE_CHECKING:"
  ]
  
  [tool.black]
  line-length = 120
  
  [[tool.uv.index]]
  name = "pypi"
  url = "https://pypi.org/simple"
  