[project]
name = "streamlit-fansifter-backoffice-app"
version = "0.1.0"
requires-python = ">=3.11,<3.12"
dependencies = [
    "snowflake>=1.11.0",
    "cryptography>=48.0.1",
    "streamlit>=1.53.1",
    "snowflake-snowpark-python==1.45.0",
    "email-validator>=2.0.0",
    "openpyxl>=3.1.0",
    "msoffcrypto-tool>=6.0.0",
    "python-dotenv>=1.0.0",
    "tornado==6.5.7",
    "idna==3.15",
    "pytest==9.0.3",
    "gitpython==3.1.50",
    "urllib3==2.7.0",
    "pyjwt==2.13.0",
    "pillow==12.2.0",
    "phonenumbers>=9.0.34",
]

[tool.setuptools]
py-modules = []

[tool.poetry]
name = "streamlit-fansifter-backoffice-app"
version = "0.1.0"
description = "Add your description here"
authors = ["Your Name <you@example.com>"]
readme = "README.md"

[tool.poetry.dependencies]
python = ">=3.11,<3.12"
snowflake = ">=1.11.0"
cryptography = ">=46.0.4"
streamlit = ">=1.53.1"
snowflake-snowpark-python = "1.45.0"
email-validator = ">=2.0.0"
openpyxl = ">=3.1.0"

[dependency-groups]
dev = [
    "mypy[faster-cache]>=1.19.1",
    "pandas-stubs>=2.0.0",
    "pytest>=9.0.2",
    "ruff>=0.15.0",
    "types-openpyxl>=3.1.0",
]

[tool.uv]
default-groups = [
    "dev",
]

[tool.mypy]
python_version = "3.11"
strict = true
pretty = true
color_output = true
show_error_codes = true
plugins = ["pydantic.mypy"]
mypy_path = "app"
explicit_package_bases = true
exclude = ["app/vendor/", "app/output/"]
[[tool.mypy.overrides]]
module = [
    "snowflake.cortex",
    "snowflake.snowpark.*",
]
ignore_missing_imports = true


[tool.ruff]
exclude = ["app/vendor", "app/output"]

[tool.pytest.ini_options]
pythonpath = ["app"]
testpaths = ["tests"]
