[build-system]
requires = ["setuptools>=67", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "typeagent"
version = "0.1.0"
description = "TypeAgent implements an agentic memory framework."
authors = [
  { name = "Guido van Rossum", email = "gvanrossum@gmail.com" },
  { name = "Steven Lucco" },
  { name = "Umesh Madan" },
  { name = "Guido van Rossum" },
]
requires-python = ">=3.12,<3.14"
dependencies = [
  "azure-identity>=1.22.0",
  "black>=25.1.0",
  "build>=1.2.2.post1",
  "colorama>=0.4.6",
  "coverage>=7.9.1",
  "logfire>=4.1.0",
  "mcp[cli]>=1.12.1",
  "numpy>=2.2.6",
  "openai>=1.81.0",
  "opentelemetry-instrumentation-httpx>=0.57b0",
  "pydantic>=2.11.4",
  "pydantic-ai-slim[openai]>=0.5.0",
  "pyright==1.1.403",
  "pytest>=8.3.5",
  "pytest-asyncio>=0.26.0",
  "pytest-mock>=3.14.0",
  "python-dotenv>=1.1.0",
  "typechat",
]

[tool.setuptools]
# Needed so setuptools doesn't complain about testdata.
packages = [
    "typeagent",
    "typeagent.aitools",
    "typeagent.knowpro",
    "typeagent.podcasts",
]

[tool.pytest.ini_options]
asyncio_default_fixture_loop_scope = "function"

[tool.uv.sources]
typechat = { git = "https://github.com/microsoft/TypeChat", subdirectory = "python" }
