Files
goose/packages/exchange/pyproject.toml
Alistair Gray d30b524f45 feat: add observability plugin system (#227)
Co-authored-by: Michael Neale <michael.neale@gmail.com>
Co-authored-by: Lifei Zhou <lifei@squareup.com>
Co-authored-by: Alice Hau <ahau@squareup.com>
2024-11-12 17:40:27 -08:00

55 lines
1.7 KiB
TOML

[project]
name = "ai-exchange"
version = "0.9.9"
description = "a uniform python SDK for message generation with LLMs"
readme = "README.md"
requires-python = ">=3.10"
author = [{ name = "Block", email = "ai-oss-tools@block.xyz" }]
packages = [{ include = "exchange", from = "src" }]
dependencies = [
"griffe>=1.1.1",
"attrs>=24.2.0",
"jinja2>=3.1.4",
"tiktoken>=0.8.0",
"httpx>=0.27.0",
"tenacity>=9.0.0",
"python-dotenv>=1.0.1",
"langfuse>=2.38.2"
]
[tool.hatch.build.targets.wheel]
packages = ["src/exchange"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.uv]
dev-dependencies = ["pytest>=8.3.2", "pytest-vcr>=1.0.2", "codecov>=2.1.13"]
[project.entry-points."exchange.provider"]
openai = "exchange.providers.openai:OpenAiProvider"
azure = "exchange.providers.azure:AzureProvider"
databricks = "exchange.providers.databricks:DatabricksProvider"
anthropic = "exchange.providers.anthropic:AnthropicProvider"
bedrock = "exchange.providers.bedrock:BedrockProvider"
ollama = "exchange.providers.ollama:OllamaProvider"
google = "exchange.providers.google:GoogleProvider"
groq = "exchange.providers.groq:GroqProvider"
[project.entry-points."exchange.moderator"]
passive = "exchange.moderators.passive:PassiveModerator"
truncate = "exchange.moderators.truncate:ContextTruncate"
summarize = "exchange.moderators.summarizer:ContextSummarizer"
[project.entry-points."exchange.observer"]
langfuse = "exchange.observers.langfuse:LangfuseObserver"
[project.entry-points."metadata.plugins"]
ai-exchange = "exchange:module_name"
[tool.pytest.ini_options]
markers = [
"integration: marks tests that need to authenticate (deselect with '-m \"not integration\"')",
]