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

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

[project]
name = "definable-llms"
version = "0.1.6"
description = "Scalable multi-provider LLM library with unified interface for OpenAI, Gemini, and Anthropic"
readme = "README.md"
requires-python = ">=3.10"
license = {text = "MIT"}
authors = [
    {name = "Definable.ai Team", email = "info@definable.ai"},
]
maintainers = [
    {name = "Definable.ai Team", email = "info@definable.ai"},
]
keywords = ["llm", "ai", "openai", "gemini", "anthropic", "chatbot", "api"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
    "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
]

dependencies = [
    "openai>=1.68.0",
    "anthropic>=0.36.0",
    "aiofiles>=24.1.0",
    "aiohttp>=3.11.0",
    "httpx>=0.28.0",
    "pydantic>=2.10.0",
    "pydantic-settings>=2.7.0",
    "python-dotenv>=1.0.1",
    "redis[hiredis]>=5.1.1",
    "pypdf>=4.3.1",
    "python-docx>=1.1.2",
    "openpyxl>=3.1.5",
    "pillow>=10.4.0",
    "tenacity>=9.0.0",
    "structlog>=24.4.0",
    "tiktoken>=0.8.0",
    "sqlalchemy>=2.0.43",
    "alembic>=1.16.5",
    "asyncpg>=0.30.0",
    "greenlet>=3.0.0",
    "psycopg2-binary>=2.9.0",
    "google-genai>=1.43.0",
]

[project.urls]
Homepage = "https://definable.ai"
Repository = "https://github.com/definable-ai/llms-lib"
Documentation = "https://github.com/definable-ai/llms-lib#readme"
Issues = "https://github.com/definable-ai/llms-lib/issues"

[project.optional-dependencies]
dev = [
    "ruff>=0.13.2",
    "mypy>=1.18.2",
    "pytest>=7.0.0",
    "pytest-asyncio>=0.21.0",
    "pytest-cov>=4.0.0",
]
api = [
    "fastapi[standard]>=0.116.1",
    "python-multipart>=0.0.9",
]
research = [
    "exa-py>=1.0.0",
]

[dependency-groups]
dev = [
    "build>=1.3.0",
    "twine>=6.2.0",
]
