[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"

[project]
name = "openkb"
dynamic = ["version"]
description = "OpenKB: Open LLM Knowledge Base, powered by PageIndex"
readme = "README.md"
requires-python = ">=3.10"
license = {text = "Apache-2.0"}
authors = [
    {name = "Kylin", email = "quanqi@pageindex.ai"},
    {name = "Ray", email = "ray@vectify.ai"},
]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: Apache Software License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
]
keywords = ["ai", "rag", "retrieval", "knowledge-base", "llm", "pageindex", "agents", "document"]
dependencies = [
    "pageindex==0.3.0.dev1",
    "markitdown[docx,pptx,xlsx,xls]>=0.1.5",
    "trafilatura>=2.0",
    "click>=8.0",
    "watchdog>=3.0",
    "litellm",
    "openai-agents",
    "pyyaml",
    "python-dotenv",
    "json-repair",
    "prompt_toolkit>=3.0",
    "rich>=13.0",
]

[project.urls]
Repository = "https://github.com/VectifyAI/OpenKB"
Homepage = "https://github.com/VectifyAI/OpenKB"
Issues = "https://github.com/VectifyAI/OpenKB/issues"

[project.scripts]
openkb = "openkb.cli:cli"

[tool.pytest.ini_options]
testpaths = ["tests"]

[project.optional-dependencies]
dev = ["pytest", "pytest-asyncio"]

[tool.hatch.version]
source = "vcs"

[tool.hatch.build.targets.wheel]
packages = ["openkb"]
