[project]
name = "ows-payment"
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",
    "Flask~=3.1.3",
    "flask-marshmallow~=1.4.0",
    "marshmallow~=3.26.1",
    "Flask-SQLAlchemy~=3.1.1",
    "marshmallow-sqlalchemy~=1.5.0",
    "SQLAlchemy~=2.0.50",
    "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",
    "requests~=2.33.1",
    "secrets_manager~=1.4",
    "sentry-sdk[flask]~=2.58.0",
    "setuptools~=80.9.0",  # pin <81: abacus-common-data 0.8.2 imports removed pkg_resources
    "webargs~=8.7.1",
    "cryptography~=49.0.0",
    "uwsgi~=2.0.31",
    "urllib3>=2.7",
    "pyOpenSSL~=26.3.0",
    "PyJWT~=2.13.0",
    "idna~=3.15",
    "snowflake~=1.12.0",
    "tenacity~=9.1.4"
]

[dependency-groups]
dev = [
    "ipdb~=0.13.13",
    "ipython~=9.12.0",
    "pytest~=9.0.3",
    "pytest-cov~=7.1.0",
    "pytest-mock~=3.15.1",
    "moto~=5.1.22",
    "pytest-html~=4.2.0",
    "pytest-jira~=0.3",
    "factory-boy~=3.3.3",
    "py~=1.11.0",
    "ruff~=0.8.6"
]
integration = []

[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
