[tool.poetry]
name = "mlops_and_production_in_ds_research"
version = "0.1.4"
description = "MLOps and Production in DS Research 3.0 training course repository"
repository = "https://gitlab.com/codeyield/mlops-and-prod-in-ds-research"
authors = ["Dmitry P."]
readme = "README.md"
packages = [
    { include = "src" }
]

[tool.poetry.dependencies]
python = "^3.10"
fastapi = "^0.110.1"
uvicorn = "^0.29.0"

[tool.poetry.group.dev.dependencies]
pre-commit = "^3.7.0"
ruff = "^0.3.5"
mypy = "^1.9.0"
pytest = "^8.1.1"
httpx = "^0.27.0"
ipykernel = "^6.29.4"

[tool.poetry.group.ds.dependencies]
numpy = "^1.26.4"
pandas = "^2.2.2"
matplotlib = "^3.8.4"
seaborn = "^0.13.2"
geopandas = "^0.14.3"

[tool.poetry.group.dvc.dependencies]
urllib3 = "1.26.16"
requests = "2.29.0"
dvc = "^3.50.1"
dvc-gdrive = "^3.0.1"
click = "^8.1.7"
nltk = "^3.8.1"
pandas = "^2.2.2"
polars = "^0.20.23"
scikit-learn = "^1.4.2"
scipy = "^1.13.0"
matplotlib = "^3.8.4"

[tool.poetry.group.doc.dependencies]


[tool.poetry.group.lakefs.dependencies]
lakefs = "^0.6.0"
lakefs-spec = "^0.9.0"
lakefs-client = "^1.22.0"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.ruff.lint.per-file-ignores]
"drafts/*" = ["F"]
"_site/*" = ["F"]
"src/snakemake/*" = ["F"]

[tool.mypy]
disallow_untyped_defs = true
exclude = "_site/|src/(drafts|snakemake)/|notebooks/drafts/"
