[project]
name = "ows-payee"
version = "1.0.0"
readme = "README.md"
requires-python = "==3.13.*"

dependencies = [
    "abacus-common-data~=0.8.2",
    "abacus-common-logic~=5.16.0",
    "python-common-apispec~=0.3.0",
    "boto3~=1.42",
    "dynamodb-encryption-sdk~=3.1",
    "cachelib~=0.13.0",
    "Flask~=3.1.3",
    "flask-marshmallow~=1.4.0",
    "Flask-SQLAlchemy~=3.0.5",
    "marshmallow-sqlalchemy~=1.5.0",
    "owsclient~=0.13.1",
    "owslogger~=4.3.1",
    "owsrequest~=2.10",
    "owsresponse~=3.0.4",
    "python-dotenv~=1.2.2",
    "python-pdp-sdk~=5.1.0",
    "PyMySQL~=1.1.2",
    "sentry-sdk[flask]~=2.58.0",
    "SQLAlchemy~=1.4.0",
    "zeep~=4.3.3",
    "xmltodict==0.13.0",
    "pyjwt~=2.13.0",
    "sgqlc==16.0",
    "pdfkit==1.0.0",
    "marshmallow-oneofschema==3.1.1",
    "jwtauth==0.2.0",
    "regex~=2024.11.6",
    "marshmallow~=3.26.1",
    "confluent-kafka==2.6.1",
    "fastavro ==1.12.0",
    "analytics-python==1.2.9",
    "cryptography~=49.0",
    "setuptools~=80.9.0",  # pin <81: abacus-common-data 0.8.2 imports removed pkg_resources
    "uwsgi~=2.0.31",
    "python-sentry-scrubber~=1.1.0",
    "wheel>=0.46.3",
    "pyopenssl~=26.3",
    "urllib3>=2.7.0",
]

[dependency-groups]
dev = [
    "pytest-cov~=7.1.0",
    "pytest-mock~=3.15.1",
    "pytest~=9.0.3",
    "factory-boy~=3.3.3",
    "Faker~=30.8.0",
    "ruff~=0.8.6",
    "pytest-html~=4.2.0",
    "pytest-jira~=0.3"
]
integration = [
    "qa-utils-grass==0.6.1",
    "pytest~=9.0.3",
    "requests~=2.33.1",
    "pytest-html~=4.2.0",
    "pytest-jira~=0.3"
]

[tool.uv]

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

[tool.ruff]
line-length = 88

[tool.ruff.format]
quote-style = "single"

[tool.ruff.lint]
select = ["A", "I", "Q"]
ignore = ["D413"]

[tool.ruff.lint.flake8-quotes]
inline-quotes = "single"

[tool.ruff.lint.isort]
combine-as-imports = true
force-sort-within-sections = true
order-by-type = false
