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

[project]
name = "smrti"
dynamic = ["version"]
description = "AtomSpace-inspired memory + personality engine for AI agents"
readme = "README.md"
license = "MIT"
requires-python = ">=3.10"
authors = [{ name = "Cyqle Labs", email = "nico@cyqle.com" }]
keywords = ["memory", "ai", "agents", "atomspace", "bayesian", "knowledge-graph"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT 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",
    "Topic :: Database",
]
dependencies = [
    "sqlite-vec>=0.1.0",
    "fastembed>=0.4.0",
    "rapidfuzz>=3.0",
    "pydantic>=2.0",
    "aiosqlite>=0.20.0",
    "typer>=0.12.0",
    "mcp>=1.0.0",
    "fastapi>=0.115.0",
    "uvicorn>=0.30.0",
    "httpx>=0.27.0",
]

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

[project.scripts]
smrti = "smrti.cli:app"

[project.optional-dependencies]
openai = ["openai>=1.0"]
gliner = ["gliner>=0.2.0"]
ollama = ["ollama>=0.3.0"]

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

[tool.hatch.version.raw-options]
version_scheme = "guess-next-dev"
local_scheme = "no-local-version"

[tool.hatch.build.hooks.vcs]
version-file = "src/smrti/_version.py"

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

[tool.hatch.build.targets.sdist]
include = ["src/smrti", "LICENSE", "README.md", "pyproject.toml"]
