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

[project]
name = "thriftlm"
version = "0.1.5"
description = "Semantic caching layer for LLM applications — stop paying for the same call twice."
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.10"
authors = [
  { name = "Srivamsi Amujure" },
]
keywords = ["llm", "cache", "semantic", "embeddings", "rag", "langchain", "langgraph"]
classifiers = [
  "Development Status :: 3 - Alpha",
  "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",
  "Topic :: Software Development :: Libraries",
]
dependencies = [
  "sentence-transformers>=2.7.0",
  "httpx>=0.27.0",
  "click>=8.0.0",
]

[project.optional-dependencies]
api = [
  "fastapi>=0.111.0",
  "uvicorn[standard]>=0.30.0",
  "supabase>=2.4.0",
  "redis>=5.0.0",
  "pydantic[email]>=2.7.0",
]
dev = [
  "pytest>=8.0.0",
  "pytest-asyncio>=0.23.0",
  "httpx>=0.27.0",
]

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

[project.urls]
Homepage = "https://thriftlm.dev"
Repository = "https://github.com/samujure/ThriftLM"
Issues = "https://github.com/samujure/ThriftLM/issues"

[tool.hatch.build.targets.wheel]
packages = ["thriftlm"]
include = ["thriftlm/static/*.html"]

[tool.pytest.ini_options]
asyncio_mode = "auto"
