pyproject.toml•2.86 kB
[project]
name = "arize-phoenix-evals"
description = "LLM Evaluations"
readme = "README.md"
requires-python = ">=3.8, <3.14"
license = {text="Elastic-2.0"}
license-files = { paths = ["LICENSE", "IP_NOTICE"] }
keywords = [
"Observability",
"Monitoring",
"Explainability",
]
authors = [
{ name = "Arize AI", email = "phoenix-devs@arize.com" },
]
classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
version = "2.5.0"
dependencies = [
"pandas",
"tqdm",
"typing-extensions>=4.5, <5",
"pystache",
"pydantic>=2.0.0",
"jsonpath_ng",
"openinference-semantic-conventions>=0.1.19",
"openinference-instrumentation>=0.1.20",
"opentelemetry-api",
]
[project.optional-dependencies]
dev = [
"anthropic>0.18.0",
"boto3",
"litellm>=1.28.9",
"openai>=1.0.0",
"vertexai",
"mistralai>=1.0.0",
]
test = [
"openinference-semantic-conventions",
"pandas",
"tqdm",
"typing-extensions>=4.5, <5",
"anthropic>=0.18.0",
"boto3",
"litellm>=1.28.9",
"openai>=1.0.0",
"mistralai>=1.0.0",
"vertexai",
"respx",
"nest_asyncio",
"pandas-stubs<=2.0.2.230605",
"types-tqdm",
"lameenc"
]
[project.urls]
Documentation = "https://arize.com/docs/phoenix/"
Issues = "https://github.com/Arize-ai/phoenix/issues"
Source = "https://github.com/Arize-ai/phoenix"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/phoenix"]
[tool.hatch.build]
only-packages = true
[tool.hatch.envs.publish]
dependencies = [
"check-wheel-contents",
"twine",
]
[tool.hatch.envs.publish.scripts]
testpypi = [
"check-wheel-contents dist/",
"twine upload --verbose --repository testpypi dist/*",
]
pypi = [
"check-wheel-contents dist/",
"twine upload --verbose dist/*",
]
[tool.ruff]
exclude = [".git", "__pycache__", ".tox", "dist"]
extend-include = ["*.ipynb"]
line-length = 100
target-version = "py38"
[tool.ruff.lint]
select = ["E", "F", "W", "I"]
[tool.ruff.lint.isort]
force-single-line = false
[tool.ruff.lint.per-file-ignores]
"*.ipynb" = ["E402", "E501"]
"tests/**/*.py" = ["E501"]
[tool.ruff.format]
line-ending = "native"
[tool.mypy]
explicit_package_bases = true
strict = true
namespace_packages = true
exclude = [
"dist/",
"tests/",
]
[[tool.mypy.overrides]]
module = [
"litellm",
"langchain_openai",
"langchain_anthropic",
"mistralai",
"mistralai.*",
"opentelemetry",
"opentelemetry.trace",
"openinference.*",
"opentelemetry.*",
]
ignore_missing_imports = true
follow_imports = "skip"
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = [
"tests",
]