5a558eb09e
TypeScript SDK Compatibility V1.x E2E Tests / Select Node version matrix (push) Has been cancelled
TypeScript SDK Compatibility V1.x E2E Tests / TypeScript SDK Compatibility V1.x E2E Tests Node ${{matrix.node_version}} (push) Has been cancelled
TypeScript SDK E2E Tests / TypeScript SDK E2E Tests Node ${{matrix.node_version}} (push) Has been cancelled
Opik Optimizer - E2E Tests / build-opik (push) Has been cancelled
TypeScript SDK Compatibility V1.x E2E Tests / build-opik (push) Has been cancelled
Python SDK E2E Tests / Select Python version matrix (push) Has been cancelled
Python SDK E2E Tests / Python SDK E2E Tests ${{matrix.python_version}} (push) Has been cancelled
Python SDK E2E Tests / build-opik (push) Has been cancelled
Python SDK Compatibility V1.x E2E Tests / Select Python version matrix (push) Has been cancelled
Python SDK Compatibility V1.x E2E Tests / Python SDK Compatibility V1.x E2E Tests ${{matrix.python_version}} (push) Has been cancelled
Python SDK Compatibility V1.x E2E Tests / build-opik (push) Has been cancelled
TypeScript SDK E2E Tests / Select Node version matrix (push) Has been cancelled
TypeScript SDK E2E Tests / build-opik (push) Has been cancelled
Opik Optimizer - E2E Tests / Opik Optimizer E2E Tests Python ${{matrix.python_version}} (push) Has been cancelled
Opik Optimizer - E2E Tests / Opik Optimizer Integration Smoke Tests (push) Has been cancelled
🐙 Code Quality / detect (push) Has been cancelled
🐙 Code Quality / lint (${{ matrix.leg.name }}) (push) Has been cancelled
🐙 Code Quality / summary (push) Has been cancelled
TypeScript SDK Library Integration Tests / Check Secrets (push) Has been cancelled
TypeScript SDK Library Integration Tests / opik-vercel (Vercel AI SDK / eve) (push) Has been cancelled
SDK Library Integration Tests Runner / Check Secrets (push) Has been cancelled
SDK Library Integration Tests Runner / Missed OpenAI API Key Warning (push) Has been cancelled
SDK Library Integration Tests Runner / Build (push) Has been cancelled
SDK Library Integration Tests Runner / openai_tests (push) Has been cancelled
SDK Library Integration Tests Runner / langchain_tests (push) Has been cancelled
SDK Library Integration Tests Runner / langchain_legacy_tests (push) Has been cancelled
SDK Library Integration Tests Runner / llama_index_tests (push) Has been cancelled
SDK Library Integration Tests Runner / anthropic_tests (push) Has been cancelled
SDK Library Integration Tests Runner / mistral_tests (push) Has been cancelled
SDK Library Integration Tests Runner / groq_tests (push) Has been cancelled
SDK Library Integration Tests Runner / aisuite_tests (push) Has been cancelled
SDK Library Integration Tests Runner / haystack_tests (push) Has been cancelled
SDK Library Integration Tests Runner / dspy_tests (push) Has been cancelled
SDK Library Integration Tests Runner / crewai_v0_tests (push) Has been cancelled
SDK Library Integration Tests Runner / crewai_v1_tests (push) Has been cancelled
SDK Library Integration Tests Runner / genai_tests (push) Has been cancelled
SDK Library Integration Tests Runner / adk_tests (push) Has been cancelled
SDK Library Integration Tests Runner / adk_legacy_1_3_0_tests (push) Has been cancelled
SDK Library Integration Tests Runner / evaluation_metrics_tests (push) Has been cancelled
SDK Library Integration Tests Runner / bedrock_tests (push) Has been cancelled
SDK Library Integration Tests Runner / litellm_tests (push) Has been cancelled
SDK Library Integration Tests Runner / harbor_tests (push) Has been cancelled
SDK Library Integration Tests Runner / Slack Notification (push) Has been cancelled
Lint Opik Helm Chart / render-equality (push) Has been cancelled
Opik Optimizer - Unit Tests / Opik Optimizer Unit Tests Python ${{matrix.python_version}} (push) Has been cancelled
Python BE E2E Tests / Python BE E2E (push) Has been cancelled
Python Backend Tests / run-python-backend-tests (push) Has been cancelled
Python SDK Unit Tests / Python SDK Unit Tests ${{matrix.python_version}} (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
SDK E2E Libraries Integration Tests / Check Secrets (push) Has been cancelled
SDK E2E Libraries Integration Tests / Missed OpenAI API Key Warning (push) Has been cancelled
SDK E2E Libraries Integration Tests / build-opik (push) Has been cancelled
SDK E2E Libraries Integration Tests / E2E Lib Integration Python ${{matrix.python_version}} (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-gemini) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-langchain) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-openai) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-otel) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-vercel) (push) Has been cancelled
TypeScript SDK Build & Publish / build-and-publish (push) Has been cancelled
TypeScript SDK Unit Tests / Test on Node ${{ matrix.node-version }} (push) Has been cancelled
Backend Tests / discover-tests (push) Has been cancelled
Backend Tests / ${{ matrix.name }} (push) Has been cancelled
Build and Publish SDK / build-and-publish (push) Has been cancelled
Build Opik Docker Images / set-version (push) Has been cancelled
Build Opik Docker Images / build-backend (push) Has been cancelled
Build Opik Docker Images / build-sandbox-executor-python (push) Has been cancelled
Build Opik Docker Images / build-python-backend (push) Has been cancelled
Build Opik Docker Images / build-frontend (push) Has been cancelled
Build Opik Docker Images / create-git-tag (push) Has been cancelled
ClickHouse Migration Cluster Check / validate-clickhouse-migrations (push) Has been cancelled
Docs - Publish / run (push) Has been cancelled
E2E Tests - Post Merge (v2) / 🧪 E2E v2 Tests (${{ github.event.inputs.tier || 't1' }}) (push) Has been cancelled
E2E Tests - Post Merge (v2) / 📢 Slack Notification (push) Has been cancelled
Frontend Unit Tests / Test on Node 20 (push) Has been cancelled
Guardrails E2E Tests / Select Python version matrix (push) Has been cancelled
Guardrails E2E Tests / Guardrails E2E Tests ${{matrix.python_version}} (push) Has been cancelled
Guardrails E2E Tests / 📢 Slack Notification (push) Has been cancelled
Guardrails Backend Unit Tests / Guardrails Backend Unit Tests (push) Has been cancelled
Guardrails Backend Unit Tests / 📢 Slack Notification (push) Has been cancelled
Lint Opik Helm Chart / lint-helm-chart (Helm v3.21.0) (push) Has been cancelled
Lint Opik Helm Chart / lint-helm-chart (Helm v4.2.0) (push) Has been cancelled
Lint Opik Helm Chart / unittest-helm-chart (push) Has been cancelled
196 lines
4.5 KiB
TOML
196 lines
4.5 KiB
TOML
[project]
|
|
name = "opik_optimizer"
|
|
version = "3.1.1"
|
|
description = "Open-source automatic agent and prompt optimization toolkit with Opik"
|
|
authors = [
|
|
{name = "Comet ML", email = "support@comet.com"}
|
|
]
|
|
license = {text = "Apache 2.0"}
|
|
readme = "README.md"
|
|
requires-python = ">=3.10,<3.15"
|
|
dependencies = [
|
|
"datasets",
|
|
"deap>=1.4.3",
|
|
"gepa>=0.0.7",
|
|
"hf_xet",
|
|
# LiteLLM dependency comments:
|
|
# - Exclude 1.81.x: HTTP client closed during concurrent calls
|
|
# See: https://github.com/BerriAI/litellm/issues/19608
|
|
# - Exclude 1.82.7, 1.82.8: compromised in supply chain attack (TeamPCP)
|
|
# See: https://docs.litellm.ai/blog/security-update-march-2026
|
|
# - Exclude 1.82.*, 1.83.0-1.83.6: CVE-2026-42208 (SQL injection in proxy auth path,
|
|
# affects 1.81.16-1.83.6, fixed in 1.83.7).
|
|
# See: https://docs.litellm.ai/blog/cve-2026-42208-litellm-proxy-sql-injection
|
|
"litellm>=1.79.2,!=1.81.*,!=1.82.*,!=1.83.0,!=1.83.1,!=1.83.2,!=1.83.3,!=1.83.4,!=1.83.5,!=1.83.6",
|
|
"mcp>=1.0.0",
|
|
"opik>=1.9.7",
|
|
"optuna",
|
|
"pandas",
|
|
"pydantic",
|
|
"pyrate-limiter",
|
|
"tqdm",
|
|
"rich",
|
|
"pillow"
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
# Test Related
|
|
"pytest",
|
|
"pytest-cov",
|
|
"pytest-xdist",
|
|
"pytest-asyncio",
|
|
"pytest-env",
|
|
"pytest-profiling",
|
|
# Pre-commit
|
|
"pre-commit",
|
|
"radon",
|
|
"xenon",
|
|
"lizard",
|
|
# Test required packages
|
|
# "google-adk",
|
|
"huggingface-hub",
|
|
"langgraph",
|
|
"bm25s",
|
|
"PyStemmer",
|
|
"scikit-learn",
|
|
]
|
|
benchmarks = [ # Extras - pip install opik_optimizer[benchmarks]
|
|
"modal",
|
|
"bm25s[full]",
|
|
"PyStemmer",
|
|
"huggingface-hub",
|
|
"ujson",
|
|
"pyarrow", # For optimized Parquet format
|
|
]
|
|
bm25 = [ # Extras - pip install opik_optimizer[bm25]
|
|
"bm25s[full]",
|
|
"PyStemmer",
|
|
"huggingface-hub",
|
|
"ujson",
|
|
"pyarrow", # For optimized Parquet format
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.setuptools.package-data]
|
|
opik_optimizer = ["data/*.json", "data/*.jsonl"]
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/comet-ml/opik/blob/main/sdks/opik_optimizer/README.md"
|
|
Repository = "https://github.com/comet-ml/opik"
|
|
|
|
[tool.mypy]
|
|
follow_imports = "normal"
|
|
ignore_missing_imports = false
|
|
disallow_untyped_defs = true
|
|
disallow_untyped_calls = true
|
|
check_untyped_defs = true
|
|
mypy_path = ["typings", "src"]
|
|
exclude = "(^|.*/)scripts/benchmarks/"
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"opik.*",
|
|
"deap.*",
|
|
"litellm.*",
|
|
"rich.*",
|
|
"pydantic.*",
|
|
"optuna.*",
|
|
"numpy.*",
|
|
"rapidfuzz.*",
|
|
"PIL.*",
|
|
"datasets.*",
|
|
"pyarrow.*",
|
|
"gepa.*",
|
|
"mcp.*",
|
|
"bm25s.*",
|
|
"Stemmer.*",
|
|
"dsp.*",
|
|
"huggingface_hub.*",
|
|
"pydantic_ai.*",
|
|
"crewai.*",
|
|
"langgraph.*",
|
|
"agent_framework.*",
|
|
"langchain_openai.*",
|
|
"google.adk.*",
|
|
"google.genai.*",
|
|
"opik_optimizer.mcp_utils.*",
|
|
]
|
|
ignore_missing_imports = true
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"scripts.optimizer_algorithms.*",
|
|
"scripts.llm_frameworks.*",
|
|
"scripts.archive.*",
|
|
"scripts.validation_dataset",
|
|
"validation_dataset",
|
|
]
|
|
ignore_errors = true
|
|
|
|
[tool.uv]
|
|
managed = false
|
|
|
|
[tool.pytest.ini_options]
|
|
filterwarnings = [
|
|
"ignore::UserWarning:pydantic.main",
|
|
"ignore::pytest.PytestConfigWarning",
|
|
"ignore::RuntimeWarning:litellm.integrations.opik.opik",
|
|
"ignore:There is no current event loop:DeprecationWarning:litellm._service_logger",
|
|
"ignore:Argument ``multivariate`` is an experimental feature.:optuna._experimental",
|
|
]
|
|
|
|
[tool.coverage.run]
|
|
branch = true
|
|
source = ["opik_optimizer"]
|
|
omit = ["opik_optimizer/tests/*"]
|
|
|
|
[tool.coverage.report]
|
|
show_missing = true
|
|
skip_covered = true
|
|
|
|
[tool.ruff]
|
|
extend-exclude = ["external"]
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I"] # Enable pycodestyle (E), pyflakes (F), and isort (I)
|
|
ignore = ["E402"] # Ignore module level import not at top of file
|
|
|
|
[tool.ruff.lint.isort]
|
|
known-first-party = ["opik_optimizer"]
|
|
combine-as-imports = true
|
|
|
|
[tool.vulture]
|
|
min_confidence = 60
|
|
paths = ["src", "tests", "scripts", "benchmarks"]
|
|
ignore_names = [
|
|
"__getattr__",
|
|
"_coerce_aliases",
|
|
"_normalize",
|
|
"DATASET_CONFIG",
|
|
"HF_CACHE_HOME",
|
|
"HF_DATASETS_CACHE",
|
|
"OPTIMIZER_CONFIGS",
|
|
"additionalProperties",
|
|
"by_alias",
|
|
"by_name",
|
|
"detail",
|
|
"drop_params",
|
|
"from_attributes",
|
|
"get_optimized_model",
|
|
"get_optimized_model_kwargs",
|
|
"get_optimized_parameters",
|
|
"input_text",
|
|
"is_jupyter",
|
|
"llm_calls",
|
|
"llm_calls_tools",
|
|
"make_reflective_dataset",
|
|
"model_config",
|
|
"pytestmark",
|
|
"return_value",
|
|
"side_effect",
|
|
"strict",
|
|
]
|