opik-optimizer 2.1.2__tar.gz → 2.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/PKG-INFO +2 -3
  2. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/pyproject.toml +3 -4
  3. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/setup.py +1 -2
  4. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/__init__.py +2 -2
  5. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/base_optimizer.py +314 -145
  6. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/evolutionary_optimizer/crossover_ops.py +31 -4
  7. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/evolutionary_optimizer/evaluation_ops.py +23 -3
  8. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/evolutionary_optimizer/evolutionary_optimizer.py +122 -95
  9. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/evolutionary_optimizer/mcp.py +11 -6
  10. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/evolutionary_optimizer/mutation_ops.py +25 -5
  11. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/evolutionary_optimizer/population_ops.py +26 -10
  12. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/evolutionary_optimizer/reporting.py +5 -5
  13. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/few_shot_bayesian_optimizer/few_shot_bayesian_optimizer.py +53 -99
  14. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/few_shot_bayesian_optimizer/reporting.py +4 -4
  15. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/gepa_optimizer/gepa_optimizer.py +183 -172
  16. opik_optimizer-2.2.0/src/opik_optimizer/gepa_optimizer/reporting.py +323 -0
  17. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/hierarchical_reflective_optimizer/hierarchical_reflective_optimizer.py +221 -245
  18. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/hierarchical_reflective_optimizer/hierarchical_root_cause_analyzer.py +38 -14
  19. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/hierarchical_reflective_optimizer/prompts.py +7 -1
  20. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/hierarchical_reflective_optimizer/reporting.py +287 -132
  21. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/meta_prompt_optimizer/meta_prompt_optimizer.py +185 -205
  22. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/meta_prompt_optimizer/reporting.py +4 -4
  23. opik_optimizer-2.2.0/src/opik_optimizer/mipro_optimizer/__init__.py +3 -0
  24. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/mipro_optimizer/_lm.py +4 -4
  25. opik_optimizer-2.1.2/src/opik_optimizer/mipro_optimizer/_mipro_optimizer_v2.py → opik_optimizer-2.2.0/src/opik_optimizer/mipro_optimizer/mipro_optimizer_v2.py +1 -7
  26. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/mipro_optimizer/utils.py +1 -0
  27. opik_optimizer-2.2.0/src/opik_optimizer/multi_metric_objective.py +33 -0
  28. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/optimizable_agent.py +7 -4
  29. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/optimization_config/chat_prompt.py +7 -10
  30. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/parameter_optimizer/parameter_optimizer.py +188 -40
  31. opik_optimizer-2.2.0/src/opik_optimizer/parameter_optimizer/reporting.py +148 -0
  32. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/reporting_utils.py +42 -15
  33. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/task_evaluator.py +26 -9
  34. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/utils/core.py +16 -2
  35. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/utils/prompt_segments.py +1 -2
  36. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer.egg-info/PKG-INFO +2 -3
  37. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer.egg-info/SOURCES.txt +3 -3
  38. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer.egg-info/requires.txt +0 -1
  39. opik_optimizer-2.1.2/src/opik_optimizer/evolutionary_optimizer/llm_support.py +0 -136
  40. opik_optimizer-2.1.2/src/opik_optimizer/gepa_optimizer/reporting.py +0 -181
  41. opik_optimizer-2.1.2/src/opik_optimizer/mipro_optimizer/__init__.py +0 -3
  42. opik_optimizer-2.1.2/src/opik_optimizer/mipro_optimizer/mipro_optimizer.py +0 -680
  43. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/LICENSE +0 -0
  44. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/README.md +0 -0
  45. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/setup.cfg +0 -0
  46. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/_throttle.py +0 -0
  47. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/cache_config.py +0 -0
  48. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/data/context7_eval.jsonl +0 -0
  49. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/data/hotpot-500.json +0 -0
  50. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/datasets/__init__.py +0 -0
  51. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/datasets/ai2_arc.py +0 -0
  52. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/datasets/cnn_dailymail.py +0 -0
  53. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/datasets/context7_eval.py +0 -0
  54. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/datasets/election_questions.py +0 -0
  55. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/datasets/gsm8k.py +0 -0
  56. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/datasets/halu_eval.py +0 -0
  57. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/datasets/hotpot_qa.py +0 -0
  58. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/datasets/medhallu.py +0 -0
  59. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/datasets/rag_hallucinations.py +0 -0
  60. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/datasets/ragbench.py +0 -0
  61. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/datasets/tiny_test.py +0 -0
  62. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/datasets/truthful_qa.py +0 -0
  63. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/demo/__init__.py +0 -0
  64. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/demo/cache.py +0 -0
  65. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/demo/datasets.py +0 -0
  66. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/evolutionary_optimizer/__init__.py +0 -0
  67. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/evolutionary_optimizer/helpers.py +0 -0
  68. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/evolutionary_optimizer/prompts.py +0 -0
  69. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/evolutionary_optimizer/style_ops.py +0 -0
  70. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/few_shot_bayesian_optimizer/__init__.py +0 -0
  71. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/gepa_optimizer/__init__.py +0 -0
  72. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/gepa_optimizer/adapter.py +0 -0
  73. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/hierarchical_reflective_optimizer/__init__.py +0 -0
  74. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/hierarchical_reflective_optimizer/types.py +0 -0
  75. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/logging_config.py +0 -0
  76. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/mcp_utils/__init__.py +0 -0
  77. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/mcp_utils/mcp.py +0 -0
  78. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/mcp_utils/mcp_second_pass.py +0 -0
  79. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/mcp_utils/mcp_simulator.py +0 -0
  80. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/mcp_utils/mcp_workflow.py +0 -0
  81. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/meta_prompt_optimizer/__init__.py +0 -0
  82. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/optimization_config/__init__.py +0 -0
  83. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/optimization_config/configs.py +0 -0
  84. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/optimization_config/mappers.py +0 -0
  85. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/optimization_result.py +0 -0
  86. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/parameter_optimizer/__init__.py +0 -0
  87. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/parameter_optimizer/parameter_search_space.py +0 -0
  88. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/parameter_optimizer/parameter_spec.py +0 -0
  89. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/parameter_optimizer/search_space_types.py +0 -0
  90. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/parameter_optimizer/sensitivity_analysis.py +0 -0
  91. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/py.typed +0 -0
  92. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/utils/__init__.py +0 -0
  93. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/utils/colbert.py +0 -0
  94. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer/utils/dataset_utils.py +0 -0
  95. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer.egg-info/dependency_links.txt +0 -0
  96. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/src/opik_optimizer.egg-info/top_level.txt +0 -0
  97. {opik_optimizer-2.1.2 → opik_optimizer-2.2.0}/tests/test_setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: opik_optimizer
3
- Version: 2.1.2
3
+ Version: 2.2.0
4
4
  Summary: Agent optimization with Opik
5
5
  Home-page: https://github.com/comet-ml/opik
6
6
  Author: Comet ML
@@ -8,13 +8,12 @@ Author-email: Comet ML <support@comet.com>
8
8
  License: Apache 2.0
9
9
  Project-URL: Homepage, https://github.com/comet-ml/opik/blob/main/sdks/opik_optimizer/README.md
10
10
  Project-URL: Repository, https://github.com/comet-ml/opik
11
- Requires-Python: >=3.10,<3.13
11
+ Requires-Python: >=3.10,<3.14
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
14
  Requires-Dist: datasets
15
15
  Requires-Dist: deap>=1.4.3
16
16
  Requires-Dist: diskcache
17
- Requires-Dist: dspy<3
18
17
  Requires-Dist: gepa>=0.0.7
19
18
  Requires-Dist: ujson
20
19
  Requires-Dist: hf_xet
@@ -1,18 +1,17 @@
1
1
  [project]
2
2
  name = "opik_optimizer"
3
- version = "2.1.2"
3
+ version = "2.2.0"
4
4
  description = "Agent optimization with Opik"
5
5
  authors = [
6
6
  {name = "Comet ML", email = "support@comet.com"}
7
7
  ]
8
8
  license = {text = "Apache 2.0"}
9
9
  readme = "README.md"
10
- requires-python = ">=3.10,<3.13"
10
+ requires-python = ">=3.10,<3.14"
11
11
  dependencies = [
12
12
  "datasets",
13
13
  "deap>=1.4.3",
14
14
  "diskcache",
15
- "dspy<3",
16
15
  "gepa>=0.0.7",
17
16
  "ujson",
18
17
  "hf_xet",
@@ -53,7 +52,7 @@ ignore_missing_imports = true
53
52
  disallow_untyped_defs = true
54
53
  disallow_untyped_calls = true
55
54
  check_untyped_defs = true
56
- exclude = "src/opik_optimizer/mipro_optimizer/"
55
+ exclude = ["src/opik_optimizer/mipro_optimizer/"]
57
56
 
58
57
  [tool.uv]
59
58
  managed = false
@@ -14,12 +14,11 @@ setup(
14
14
  package_data={
15
15
  "opik_optimizer": ["data/*.json", "data/*.jsonl"],
16
16
  },
17
- python_requires=">=3.10,<3.13",
17
+ python_requires=">=3.10,<3.14",
18
18
  install_requires=[
19
19
  "datasets",
20
20
  "deap>=1.4.3",
21
21
  "diskcache",
22
- "dspy<3",
23
22
  "ujson",
24
23
  "hf_xet",
25
24
  "litellm",
@@ -15,10 +15,10 @@ from .few_shot_bayesian_optimizer import FewShotBayesianOptimizer
15
15
  from .gepa_optimizer import GepaOptimizer
16
16
  from .logging_config import setup_logging
17
17
  from .meta_prompt_optimizer import MetaPromptOptimizer
18
- from .mipro_optimizer import MiproOptimizer
19
18
  from .hierarchical_reflective_optimizer import HierarchicalReflectiveOptimizer
20
19
  from .optimization_config.configs import TaskConfig
21
20
  from .optimization_result import OptimizationResult
21
+ from .multi_metric_objective import MultiMetricObjective
22
22
  from .parameter_optimizer import (
23
23
  ParameterOptimizer,
24
24
  ParameterSearchSpace,
@@ -39,7 +39,6 @@ __all__ = [
39
39
  "FewShotBayesianOptimizer",
40
40
  "GepaOptimizer",
41
41
  "MetaPromptOptimizer",
42
- "MiproOptimizer",
43
42
  "EvolutionaryOptimizer",
44
43
  "HierarchicalReflectiveOptimizer",
45
44
  "ParameterOptimizer",
@@ -48,6 +47,7 @@ __all__ = [
48
47
  "setup_logging",
49
48
  "datasets",
50
49
  "TaskConfig",
50
+ "MultiMetricObjective",
51
51
  "ParameterSearchSpace",
52
52
  "ParameterSpec",
53
53
  "ParameterType",