
[project]
name = "summary"
version = "0.1.33"
dependencies = [
    "fastapi[standard]>=0.105.0",
    "uvicorn>=0.24.0",
    "pydantic>=2.5.0",
    "pydantic-settings>=2.1.0",
    "celery==5.5.3",
    "redis==5.2.1",
    "minio==7.2.15",
    "mutagen==1.47.0",
    "openai==1.91.0",
    "posthog==6.0.3",
    "requests==2.32.4",
    "sentry-sdk[fastapi, celery]==2.30.0",
]

[project.optional-dependencies]
dev = [
    "ruff==0.12.0",
]

[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"


[tool.ruff]
target-version = "py310"

[tool.ruff.lint]
select = [
    "B",  # flake8-bugbear
    "C4",  # flake8-comprehensions
    "D",  # pydocstyle
    "E",  # pycodestyle error
    "F",  # Pyflakes
    "I",  # Isort
    "ISC",  # flake8-implicit-str-concat
    "PLC",  # Pylint Convention
    "PLE",  # Pylint Error
    "PLR",  # Pylint Refactor
    "PLW",  # Pylint Warning
    "RUF100",  # Ruff unused-noqa
    "S",  # flake8-bandit
    "T20", # flake8-print
    "W",  # pycodestyle warning
]

[tool.ruff.lint.per-file-ignores]
"tests/*" = [
    "S101", # use of assert
]

[tool.ruff.lint.pydocstyle]
# Use Google-style docstrings.
convention = "google"

[tool.ruff.lint.flake8-bugbear]
extend-immutable-calls = [
  "fastapi.Depends",
  "fastapi.params.Depends",
  "fastapi.params.Query",
  "fastapi.Query",
]
