[project]
name = "ows-contributor"
version = "0.1.0"
description = "Contributor and artist metadata service"
authors = [{name = "Sony Music PDE"}]
readme = "README.md"
requires-python = "==3.14.*"
dependencies = [
    "audience-common~=3.5.0",
    "backoff>=2.2.1",
    "ddtrace~=4.5.3",
    "environs>=15.0.1",
    "fakeredis>=2.35.1",
    "fastapi~=0.135.1",
    "jwtauth[testing]~=0.6.1",
    "neo4j==5.25.0",
    "owsclient==0.13.1",
    "owscontext>=0.4.1",
    "PyMySQL==1.1.1",
    "python-pdp-sdk>=6.0.0,<7.0.0",
    "secrets-manager>=1.4.4,<2.0.0",
    "sentry-sdk[fastapi]~=2.54.0",
    "splitio-client>=10.2.0",
    "spotipy>=2.26.0",
    "sqlalchemy>=2.0,<3.0.0",
    "uvicorn~=0.41.0",
]

[dependency-groups]
dev = [
    "ruff~=0.15.5",
    "ty~=0.0.29",
    "pytest~=9.0.3",
    "pytest-cov~=7.0.0",
    "pytest-mock~=3.15.1",
    "python-dotenv>=1.1.0,<2.0.0",
    "requests~=2.33.0",
    "types-requests~=2.32.4.20260107",
]

[tool.uv]
constraint-dependencies = [
    "urllib3==2.7.0",
    "idna>=3.15",
    "cryptography>=48.0.1",
    "pyjwt>=2.13.0",
    "starlette>=1.3.1",
]

[tool.uv.sources]
audience-common = { index = "pde" }
jwtauth = { index = "pde" }
owsclient = { index = "pde" }
owscontext = { index = "pde" }
python-pdp-sdk = { index = "pde" }
secrets-manager = { index = "pde" }

[[tool.uv.index]]
name = "pde"
url = "https://pypi.theorchard.io/pypi/"

[build-system]
requires = ["uv_build>=0.8.3,<0.9.0"]
build-backend = "uv_build"

[tool.uv.build-backend]
module-root = ""
module-name = "contributor"
