content: [build-system]
  requires = ["pdm-backend"]
  build-backend = "pdm.backend"
  
  [project]
  name = "stimulus-py"
  description = "A package for testing deep learning models"
  authors = [
    { name="Mathys Grapotte", email="mathysgrapotte@gmail.com" },
    { name="Alessio Vignoli"},
    { name="Suzanne Jin"},
    { name="Luisa Santus"}
  ]
  license = {text = "MIT"}
  readme = "README.md"
  requires-python = ">=3.10,<3.13"
  keywords = []
  dynamic = ["version"]
  classifiers = [
      "Development Status :: 4 - Beta",
      "Intended Audience :: Developers",
      "Programming Language :: Python",
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3 :: Only",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
      "Topic :: Documentation",
      "Topic :: Software Development",
      "Topic :: Utilities",
      "Typing :: Typed",
  ]
  dependencies = [
      "matplotlib>=3.9.0",
      "multiprocess==0.70.16",
      "numpy>=2.0.0",
      "pandas>=2.2.0",
      "polars>=1.26.0",
      "pydantic>=2.7.0",
      "safetensors>=0.4.5",
      "scikit-learn>=1.5.0",
      "scipy>=1.15.1",
      "syrupy>=4.8.0",
      "torch>=2.3.1",
      "optuna>=4.0.0",
      "click>=8.1.0",
      "importlib_metadata",
      "datasets>=3.6.0",
      "transformers>=4.52.4",
      "peft>=0.15.2",
      # "esm>=3.1.0",
      "huggingface-hub>=0.32.0",
      "evaluate>=0.4.3",
      "hatchling>=1.27.0",
  ]
  
  [project.scripts]
  stimulus = "stimulus.cli.main:cli"
  
  [project.urls]
  Homepage = "https://mathysgrapotte.github.io/stimulus-py"
  Documentation = "https://mathysgrapotte.github.io/stimulus-py"
  Changelog = "https://mathysgrapotte.github.io/stimulus-py/changelog"
  Repository = "https://github.com/mathysgrapotte/stimulus-py"
  Issues = "https://github.com/mathysgrapotte/stimulus-py/issues"
  Discussions = "https://github.com/mathysgrapotte/stimulus-py/discussions"
  Gitter = "https://gitter.im/stimulus-py/community"
  Funding = "https://github.com/sponsors/mathysgrapotte"
  
  [tool.pdm]
  version = {source = "scm"}
  
  [tool.pdm.build]
  package-dir = "src"
  editable-backend = "editables"
  excludes = ["**/.pytest_cache"]
  source-includes = [
      "config",
      "docs",
      "scripts",
      "share",
      "tests",
      "duties.py",
      "mkdocs.yml",
      "*.md",
      "LICENSE",
  ]
  
  [tool.pdm.build.wheel-data]
  data = [
      {path = "share/**/*", relative-to = "."},
  ]
  
  [tool.uv]
  dev-dependencies = [
      # dev
      "editables>=0.5",
  
      # maintenance
      "build>=1.2",
      "git-changelog>=2.5",
      "twine>=5.1",
  
      # ci
      "duty>=1.4",
      "ruff==0.11.11",
      "pytest>=8.2",
      "pytest-cov>=5.0",
      "pytest-randomly>=3.15",
      "pytest-xdist>=3.6",
      "pytest-dependency>=0.6.0",
      "mypy>=1.10",
      "types-markdown>=3.6",
      "types-pyyaml>=6.0",
  
      # docs
      "black>=24.4",
      "markdown-callouts>=0.4",
      "markdown-exec>=1.8",
      "mkdocs>=1.6",
      "mkdocs-coverage>=1.0",
      "mkdocs-gen-files>=0.5",
      "mkdocs-git-revision-date-localized-plugin>=1.2",
      "mkdocs-literate-nav>=0.6",
      "mkdocs-material>=9.5",
      "mkdocs-minify-plugin>=0.8",
      "mkdocstrings[python]>=0.25",
      "tomli>=2.0; python_version < '3.11'",
  ]
  
  [tool.pytest.ini_options]
  filterwarnings = [
      # Ignore deprecation warning from datasets library using dill
      "ignore:co_lnotab is deprecated, use co_lines instead:DeprecationWarning:.*_dill.*",
  ]
  