content: # Copyright (c) Microsoft Corporation.
  # Licensed under the MIT license.
  
  [build-system]
  requires = ["pdm-backend"]
  build-backend = "pdm.backend"
  
  [project]
  name = "kblam"
  version = "0.0.1"
  description= "Knowledge Base augmented Language Model"
  
  readme = "README.md"
  requires-python = ">=3.10"
  license = {text = "MIT"}
  dependencies = [
      "accelerate",
      "datasets==3.2.0",
      "transformers==4.46.0",
      "torch",
      "sentence_transformers",
      "azure-ai-ml",
      "azure-core",
      "azure-identity",
      "azure-mgmt-authorization",
      "openai",
      "pytest",
      "rich",
      "evaluate",
      "nltk",
      "rouge-score",
      "bert_score"
  ]
  
  [dependency-groups]
  dev = [
      "mypy>=1.5.1",
      "pre-commit",
      "pylint>=3.0.0",
      "pytest>=7.4.2",
      "codespell",
      "coverage",
      "ipykernel",
      "jinja2",
      "ruff",
      "pyright",
  ]
  
  experiment = [
      "lm-eval==0.4.5",
      "wandb",
  ]
  
  all = ["kblam[dev,experiment]"]
  
  [tool.setuptools.packages.find]
  where = ["src"]
  exclude = ["*_test.py", "tests/*"]
  
  [tool.setuptools.package-data]
  "*" = ["py.typed"]
  
  [tool.black]
  line-length = 120
  skip-string-normalization = true
  
  [tool.isort]
  py_version = 310
  profile = "black"
  line_length = 120
  
  [tool.mypy]
  python_version = "3.10"
  disallow_untyped_defs = true
  
  ignore_missing_imports = true
  
  [tool.pylint.main]
  max-line-length = 120
  suggestion-mode = true
  py-version = "3.10"
  
  [tool.pylint.messages_control]
  # Disable the message, report, category or checker with the given id(s).
  disable = [
      "logging-fstring-interpolation"
  ]
  
  [tool.pylint.basic]
  docstring-min-length = 10
  
  [tool.pdm.build]
  includes = ["src"]
  