[project]
name = "llm-exo-graph"
version = "1.1.0"
description = "Advanced Knowledge Graph Engine with semantic search and temporal tracking"
readme = "README.md"
authors = [
    { name = "Maksims Gavrilovs", email = "acidpictures@gmail.com" }
]
requires-python = ">=3.8"
dependencies = [
    "openai>=1.0.0",
    "sentence-transformers>=2.2.0",
    "python-dotenv>=1.0.0",
    "numpy>=1.24.0",
    "dateparser>=1.1.0",
    "neo4j>=5.0.0",
    "llama-index>=0.10.0",
    "llama-index-vector-stores-neo4jvector>=0.3.0",
]

[project.optional-dependencies]
dev = [
    "pytest>=7.0.0",
    "black>=23.0.0",
    "flake8>=6.0.0",
    "mypy>=1.0.0",
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src/exo_graph"]

[project.urls]
Homepage = "https://github.com/dasein108/llm-exo-graph"
Repository = "https://github.com/dasein108/llm-exo-graph.git"
Issues = "https://github.com/dasein108/llm-exo-graph/issues"

[tool.black]
line-length = 100
target-version = ['py38', 'py39', 'py310', 'py311']

[tool.mypy]
python_version = "3.8"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true

[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]