[build-system]
requires = ["setuptools>=68.0", "setuptools-scm>=8.0"]
build-backend = "setuptools.build_meta"

[project]
name = "index1"
version = "2.0.1"
description = "AI-native project knowledge base"
readme = "README.md"
license = "Apache-2.0"
requires-python = ">=3.10"
keywords = ["ai", "knowledge-base", "mcp", "semantic-search", "bm25", "rag"]
authors = [{name = "gladego"}]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "Topic :: Software Development :: Documentation",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
]
dependencies = [
    "httpx[socks]>=0.27",
    "sqlite-vec==0.1.6",
    "mcp>=1.0",
    "watchdog>=4.0",
    "click>=8.0",
    "pyyaml>=6.0",
    "flask>=3.0",
    "fastembed>=0.4",
]

[project.optional-dependencies]
chinese = ["jieba>=0.42"]
codegraph = [
    "tree-sitter-language-pack>=0.13",
    "grep-ast>=0.9",
]
dev = [
    "pytest>=8.0",
    "pytest-asyncio>=0.23",
    "ruff>=0.4",
    "jieba>=0.42",
    "tree-sitter-language-pack>=0.13",
    "grep-ast>=0.9",
]

[project.scripts]
index1 = "index1.cli:main"

[project.urls]
Homepage = "https://github.com/gladego/index1"
Repository = "https://github.com/gladego/index1"

[tool.setuptools.package-data]
index1 = ["templates/*.html", "static/**/*"]

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

[tool.ruff]
target-version = "py310"
line-length = 100

[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
markers = [
    "eval: 搜索质量评测（需要真实数据库，pytest -m eval 运行）",
]
