[build-system]
requires = ["setuptools>=69", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "{{ repo_name }}"
version = "0.1.0"
description = "Generated by Sherpa-ML (preset={{ preset }}, framework={{ framework }})"
readme = "README.md"
requires-python = ">=3.10"
authors = [{ name = "Your Name" }]
license = { text = "{{ license }}" }
dependencies = [
{% if framework == "pytorch" -%}
  "torch>=2.2.0",
{% elif framework == "sklearn" -%}
  "scikit-learn>=1.4.0",
{% elif framework == "transformers" -%}
  "transformers>=4.42.0",
  "datasets>=2.20.0",
{%- endif %}
{% if config_system == "hydra" -%}
  "hydra-core>=1.3.2",
{%- endif %}
{% if tracking_mlflow -%}
  "mlflow>=2.14.0",
{%- endif %}
  "rich>=13.7.1",
]

[project.optional-dependencies]
dev = [
  "pytest>=8.2.0",
  "mypy>=1.11.0",
  "ruff>=0.6.5",
  "black>=24.8.0",
  "types-setuptools",
{% if framework == "transformers" -%}
  "accelerate>=0.33.0",
{%- endif %}
]

[tool.setuptools]
package-dir = {"" = "src"}

[tool.setuptools.packages.find]
where = ["src"]

[tool.setuptools.package-data]
{{ pkg }} = ["py.typed"]

[tool.mypy]
python_version = "3.11"
strict = true
exclude = ["tests/.*"]

[tool.ruff]
line-length = 100
target-version = "py311"
select = ["E","F","I","N","UP","B","A","C4","DTZ","PIE","Q","RUF"]
ignore = ["E501"]
exclude = ["conf/**"]

[tool.black]
line-length = 100
target-version = ["py311"]
