content: [project]
  name = "ml3-drift"
  description = "Easy-to-embed drift detectors"
  authors = [{ name = "ML cube", email = "giovanni.giacometti@mlcube.com" }]
  requires-python = ">=3.10, <3.14"
  dynamic = ["version"]
  license = { text = "Apache-2.0" }
  readme = "README.md"
  
  dependencies = [
      "scipy>=1.15.3",
  ]
  
  # -------------------------------------------------
  # Extra dependencies. This package is designed to be
  # used with different libraries, which means that our code
  # should work only when not all extras are installed.
  # Remember to update the list of extras
  # in the validation CICD to ensure tests are run
  # for your new extra
  [project.optional-dependencies]
  
  sklearn = ["scikit-learn>=1.6.1"]
  
  huggingface = ["transformers[torch]>=4.52.3"]
  
  polars = ["polars>=1.31.0"]
  
  pandas = ["pandas>=2.2.3"]
  
  river = ["river>=0.22.0"]
  
  
  # -------------------------------------------------
  
  [dependency-groups]
  dev = [
      "ipykernel>=6.29.5",
      "mypy>=1.15.0",
      "pre-commit>=4.1.0",
      "pytest>=8.3.4",
      "pytest-xdist>=3.6.1",
      "ruff>=0.9.5",
      # for image support in tests
      "pillow>=11.2.1",
  ]
  
  docs = [
      "mkdocs-minify-plugin>=0.7.1",
      "mkdocs-glightbox>=0.3.4",
      "mkdocs-table-reader-plugin>=2.0.1",
      "mkdocs-macros-plugin",
      "mkdocs>=1.5.0",
      "mkdocs-material>=9.5.0",
      "mkdocs-material-extensions>=1.1",
      "pygments>=2.14",
      "pymdown-extensions>=9.9.1",
      "jinja2>=3.0",
      "markdown>=3.2",
      "openpyxl",
  ]
  
  # -------------------------------------------------
  
  # Default groups for uv
  [tool.uv]
  default-groups = ["dev"]
  
  # -------------------------------------------------
  
  [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [tool.hatch.version]
  path = "src/ml3_drift/__init__.py"
  
  
  # Set pytest folder
  [tool.pytest.ini_options]
  testpaths = ["tests"]
  