[tool.poetry]
name = "instructor"
version = "0.6.8"
description = "structured outputs for llm"
authors = ["Jason Liu <jason@jxnl.co>"]
license = "MIT"
readme = "README.md"
packages = [{include = "instructor"}]
repository = "https://github.com/jxnl/instructor"

[tool.poetry.dependencies]
python = "^3.10"
openai = "^1.1.0"
pydantic = "^2.0.2"
docstring-parser = "^0.15"
typer = "^0.9.0"
rich = "^13.7.0"
aiohttp = "^3.9.1"
tenacity = "^8.2.3"
anthropic = { version = "^0.18.1", optional = true }
xmltodict = { version = "^0.13.0", optional = true }


[tool.poetry.extras]
anthropic = ["anthropic", "xmltodict"]

[tool.poetry.scripts]
instructor = "instructor.cli.cli:app"

[tool.poetry.group.dev.dependencies]
pytest = "^7.4.0"
pytest-asyncio = "^0.21.1"
coverage = "^7.3.2"
mypy = "^1.7.1"

[tool.poetry.group.anthropic.dependencies]
anthropic = "^0.18.1"
xmltodict = "^0.13.0"

[tool.poetry.group.docs.dependencies]
mkdocs = "^1.4.3"
mkdocs-material = {extras = ["imaging"], version = "^9.5.9"}
mkdocstrings = "^0.22.0"
mkdocstrings-python = "^1.1.2"
pytest-examples = "^0.0.10"
mkdocs-jupyter = "^0.24.6"
mkdocs-rss-plugin = "^1.12.0"
mkdocs-minify-plugin = "^0.8.0"
mkdocs-redirects = "^1.2.1"

[tool.poetry.group.test-docs.dependencies]
fastapi = "^0.109.2"
redis = "^5.0.1"
diskcache = "^5.6.3"
pandas = "^2.2.0"
tabulate = "^0.9.0"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"