content: [build-system]
  requires = ["setuptools>=40.8.0", "wheel"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "lm_eval"
  version = "0.4.0"
  authors = [
      {name="EleutherAI", email="contact@eleuther.ai"}
  ]
  description = "A framework for evaluating language models"
  readme = "README.md"
  classifiers = [
      "Development Status :: 3 - Alpha",
      "Programming Language :: Python :: 3",
      "License :: OSI Approved :: MIT License",
      "Operating System :: OS Independent",
  ]
  requires-python = ">=3.8"
  license = { "text" = "MIT" }
  dependencies = [
      "accelerate>=0.21.0",
      "evaluate",
      "datasets>=2.0.0",
      "evaluate>=0.4.0",
      "jsonlines",
      "numexpr",
      "peft>=0.2.0",
      "pybind11>=2.6.2",
      "pytablewriter",
      "rouge-score>=0.0.4",
      "sacrebleu>=1.5.0",
      "scikit-learn>=0.24.1",
      "sqlitedict",
      "torch>=1.8",
      "tqdm-multiprocess",
      "transformers>=4.1",
      "zstandard",
  ]
  
  [tool.setuptools.packages.find]
  include = ["lm_eval*"]
  
  # required to include yaml files in pip installation
  [tool.setuptools.package-data]
  lm_eval = ["**/*.yaml", "tasks/**/*"]
  
  [project.scripts]
  lm-eval = "lm_eval.__main__:cli_evaluate"
  lm_eval = "lm_eval.__main__:cli_evaluate"
  
  [project.urls]
  Homepage = "https://github.com/EleutherAI/lm-evaluation-harness"
  Repository = "https://github.com/EleutherAI/lm-evaluation-harness"
  
  [project.optional-dependencies]
  anthropic = ["anthropic"]
  dev = ["pytest", "pytest-cov", "pytest-xdist", "pre-commit", "mypy"]
  gptq = ["auto-gptq[triton] @ git+https://github.com/PanQiWei/AutoGPTQ"]
  ifeval = ["langdetect", "immutabledict"]
  mamba = ["mamba_ssm", "causal-conv1d==1.0.2"]
  math = ["sympy>=1.12", "antlr4-python3-runtime==4.11"]
  multilingual = ["nagisa>=0.2.7", "jieba>=0.42.1", "pycountry"]
  openai = ["openai==1.3.9", "tiktoken"]
  promptsource = [
      "promptsource @ git+https://github.com/bigscience-workshop/promptsource.git#egg=promptsource"
  ]
  sentencepiece = ["sentencepiece>=0.1.98", "protobuf>=4.22.1"]
  testing = ["pytest", "pytest-cov", "pytest-xdist"]
  vllm = ["vllm<=0.2.5"]
  zeno = ["pandas", "zeno-client"]
  all = [
      "lm_eval[anthropic]",
      "lm_eval[dev]",
      "lm_eval[gptq]",
      "lm_eval[ifeval]",
      "lm_eval[linting]",
      "lm_eval[mamba]",
      "lm_eval[math]",
      "lm_eval[multilingual]",
      "lm_eval[openai]",
      "lm_eval[promptsource]",
      "lm_eval[sentencepiece]",
      "lm_eval[testing]",
      "lm_eval[vllm]",
      "lm_eval[zeno]",
  ]
  
  [tool.ruff]
  extend-exclude = ["lm_eval/evaluator.py", "lm_eval/tasks/*.py"]
  
  [tool.ruff.lint]
  extend-select = ["I"]
  
  [tool.ruff.isort]
  lines-after-imports = 2
  known-first-party = ["lm_eval"]
  
  [tool.ruff.extend-per-file-ignores]
  "__init__.py" = ["F401","F402","F403","I"]
  "lm_eval/tasks/*"= ["E721"]
  