[project]
name = "llama-cpp-scripts"
description = "Scripts that ship with llama.cpp"
keywords = ["ggml", "gguf", "llama.cpp"]
version = "0.0.0"
dynamic = ["classifiers"]
readme = "README.md"
authors = [{name = "GGML", email = "ggml@ggml.ai"}]
requires-python = '>=3.10,<3.15'
dependencies = [
    'numpy (>=1.26.4,<3.0.0)',
    'sentencepiece (>=0.1.98,<0.3.0)',
    'transformers (==4.57.6)',
    'protobuf (>=4.21.0,<5.0.0)',
    'torch (>=2.6.0,<3.0.0)',
    'gguf @ ./gguf-py',
]
classifiers = [
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
]

[project.urls]
homepage = "https://ggml.ai"
repository = "https://github.com/ggml-org/llama.cpp"

[project.scripts]
llama-convert-hf-to-gguf = "convert_hf_to_gguf:main"
llama-convert-lora-to-gguf = "convert_lora_to_gguf:main"
llama-convert-llama-ggml-to-gguf = "convert_llama_ggml_to_gguf:main"
llama-ggml-vk-generate-shaders = "ggml_vk_generate_shaders:main"

[tool.poetry]
packages = [
    { include = "*.py", from = "." },
    { include = "conversion", from = "." },
]

[tool.poetry.dependencies]
torch = [
    { version = "==2.11.0", source = "pypi", markers = "sys_platform == 'darwin'" },
    { version = "==2.11.0+cpu", source = "pytorch", markers = "sys_platform == 'linux'" },
    { version = "==2.11.0", source = "pypi", markers = "sys_platform == 'win32'" },
]

[tool.poetry.group.dev.dependencies]
pytest = "~=8.3.3"

# Force wheel + cpu
# For discussion and context see https://github.com/python-poetry/poetry#6409
[[tool.poetry.source]]
name = "pytorch"
url = "https://download.pytorch.org/whl/cpu"
priority = "explicit"

[tool.uv.sources]
torch = { index = "pytorch" }

[[tool.uv.index]]
name = "pytorch"
url = "https://download.pytorch.org/whl/cpu"
explicit = true

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
