langfun 0.1.2.dev202512180805__tar.gz → 0.1.2.dev202601120805__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.

Potentially problematic release.


This version of langfun might be problematic. Click here for more details.

Files changed (222) hide show
  1. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/PKG-INFO +1 -1
  2. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/checkpointing.py +4 -5
  3. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/experiment.py +16 -4
  4. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/progress.py +16 -11
  5. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/reporting.py +1 -0
  6. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/runners/base.py +1 -0
  7. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun.egg-info/PKG-INFO +1 -1
  8. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/LICENSE +0 -0
  9. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/README.md +0 -0
  10. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/__init__.py +0 -0
  11. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/assistant/capabilities/gui/__init__.py +0 -0
  12. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/assistant/capabilities/gui/bounding_box_parser.py +0 -0
  13. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/assistant/capabilities/gui/bounding_box_parser_test.py +0 -0
  14. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/assistant/capabilities/gui/drawing.py +0 -0
  15. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/assistant/capabilities/gui/drawing_test.py +0 -0
  16. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/assistant/capabilities/gui/location.py +0 -0
  17. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/assistant/capabilities/gui/location_test.py +0 -0
  18. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/__init__.py +0 -0
  19. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/agentic/__init__.py +0 -0
  20. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/agentic/action.py +0 -0
  21. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/agentic/action_eval.py +0 -0
  22. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/agentic/action_eval_test.py +0 -0
  23. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/agentic/action_test.py +0 -0
  24. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/async_support.py +0 -0
  25. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/async_support_test.py +0 -0
  26. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/coding/__init__.py +0 -0
  27. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/coding/python/__init__.py +0 -0
  28. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/coding/python/correction.py +0 -0
  29. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/coding/python/correction_test.py +0 -0
  30. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/coding/python/execution.py +0 -0
  31. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/coding/python/execution_test.py +0 -0
  32. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/coding/python/generation.py +0 -0
  33. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/coding/python/generation_test.py +0 -0
  34. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/coding/python/parsing.py +0 -0
  35. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/coding/python/parsing_test.py +0 -0
  36. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/coding/python/sandboxing.py +0 -0
  37. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/coding/python/sandboxing_test.py +0 -0
  38. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/component.py +0 -0
  39. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/component_test.py +0 -0
  40. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/concurrent.py +0 -0
  41. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/concurrent_test.py +0 -0
  42. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/console.py +0 -0
  43. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/console_test.py +0 -0
  44. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/data/__init__.py +0 -0
  45. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/data/conversion/__init__.py +0 -0
  46. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/data/conversion/anthropic.py +0 -0
  47. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/data/conversion/anthropic_test.py +0 -0
  48. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/data/conversion/gemini.py +0 -0
  49. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/data/conversion/gemini_test.py +0 -0
  50. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/data/conversion/openai.py +0 -0
  51. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/data/conversion/openai_test.py +0 -0
  52. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/__init__.py +0 -0
  53. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/base.py +0 -0
  54. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/base_test.py +0 -0
  55. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/matching.py +0 -0
  56. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/matching_test.py +0 -0
  57. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/patching.py +0 -0
  58. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/patching_test.py +0 -0
  59. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/scoring.py +0 -0
  60. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/scoring_test.py +0 -0
  61. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/__init__.py +0 -0
  62. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/checkpointing_test.py +0 -0
  63. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/config_saver.py +0 -0
  64. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/config_saver_test.py +0 -0
  65. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/eval_test_helper.py +0 -0
  66. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/evaluation.py +0 -0
  67. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/evaluation_test.py +0 -0
  68. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/example.py +0 -0
  69. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/example_test.py +0 -0
  70. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/experiment_test.py +0 -0
  71. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/metric_values.py +0 -0
  72. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/metric_values_test.py +0 -0
  73. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/metrics.py +0 -0
  74. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/metrics_test.py +0 -0
  75. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/progress_test.py +0 -0
  76. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/progress_tracking.py +0 -0
  77. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/progress_tracking_test.py +0 -0
  78. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/reporting_test.py +0 -0
  79. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/runners/__init__.py +0 -0
  80. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/runners/beam.py +0 -0
  81. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/runners/beam_test.py +0 -0
  82. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/runners/ckpt_monitor.py +0 -0
  83. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/runners/ckpt_monitor_test.py +0 -0
  84. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/runners/debug.py +0 -0
  85. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/runners/debug_test.py +0 -0
  86. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/runners/parallel.py +0 -0
  87. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/runners/parallel_test.py +0 -0
  88. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/runners/sequential.py +0 -0
  89. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/eval/v2/runners/sequential_test.py +0 -0
  90. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/langfunc.py +0 -0
  91. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/langfunc_test.py +0 -0
  92. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/language_model.py +0 -0
  93. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/language_model_test.py +0 -0
  94. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/__init__.py +0 -0
  95. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/anthropic.py +0 -0
  96. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/anthropic_test.py +0 -0
  97. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/azure_openai.py +0 -0
  98. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/azure_openai_test.py +0 -0
  99. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/cache/__init__.py +0 -0
  100. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/cache/base.py +0 -0
  101. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/cache/in_memory.py +0 -0
  102. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/cache/in_memory_test.py +0 -0
  103. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/compositional.py +0 -0
  104. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/compositional_test.py +0 -0
  105. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/deepseek.py +0 -0
  106. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/deepseek_test.py +0 -0
  107. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/fake.py +0 -0
  108. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/fake_test.py +0 -0
  109. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/gemini.py +0 -0
  110. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/gemini_test.py +0 -0
  111. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/google_genai.py +0 -0
  112. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/google_genai_test.py +0 -0
  113. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/groq.py +0 -0
  114. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/groq_test.py +0 -0
  115. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/llama_cpp.py +0 -0
  116. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/llama_cpp_test.py +0 -0
  117. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/openai.py +0 -0
  118. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/openai_compatible.py +0 -0
  119. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/openai_compatible_test.py +0 -0
  120. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/openai_test.py +0 -0
  121. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/rest.py +0 -0
  122. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/rest_test.py +0 -0
  123. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/vertexai.py +0 -0
  124. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/llms/vertexai_test.py +0 -0
  125. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/logging.py +0 -0
  126. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/logging_test.py +0 -0
  127. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/mcp/__init__.py +0 -0
  128. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/mcp/client.py +0 -0
  129. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/mcp/client_test.py +0 -0
  130. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/mcp/session.py +0 -0
  131. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/mcp/session_test.py +0 -0
  132. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/mcp/testing/simple_mcp_client.py +0 -0
  133. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/mcp/testing/simple_mcp_server.py +0 -0
  134. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/mcp/tool.py +0 -0
  135. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/mcp/tool_test.py +0 -0
  136. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/memories/__init__.py +0 -0
  137. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/memories/conversation_history.py +0 -0
  138. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/memories/conversation_history_test.py +0 -0
  139. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/memory.py +0 -0
  140. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/message.py +0 -0
  141. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/message_test.py +0 -0
  142. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/modalities/__init__.py +0 -0
  143. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/modalities/audio.py +0 -0
  144. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/modalities/audio_test.py +0 -0
  145. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/modalities/image.py +0 -0
  146. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/modalities/image_test.py +0 -0
  147. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/modalities/mime.py +0 -0
  148. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/modalities/mime_test.py +0 -0
  149. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/modalities/pdf.py +0 -0
  150. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/modalities/pdf_test.py +0 -0
  151. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/modalities/video.py +0 -0
  152. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/modalities/video_test.py +0 -0
  153. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/modality.py +0 -0
  154. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/modality_test.py +0 -0
  155. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/natural_language.py +0 -0
  156. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/natural_language_test.py +0 -0
  157. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/sampling.py +0 -0
  158. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/sampling_test.py +0 -0
  159. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/__init__.py +0 -0
  160. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/completion.py +0 -0
  161. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/completion_test.py +0 -0
  162. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/description.py +0 -0
  163. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/description_test.py +0 -0
  164. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/function_generation.py +0 -0
  165. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/function_generation_test.py +0 -0
  166. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/mapping.py +0 -0
  167. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/mapping_test.py +0 -0
  168. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/parsing.py +0 -0
  169. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/parsing_test.py +0 -0
  170. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/querying.py +0 -0
  171. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/querying_test.py +0 -0
  172. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/schema/__init__.py +0 -0
  173. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/schema/base.py +0 -0
  174. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/schema/base_test.py +0 -0
  175. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/schema/json.py +0 -0
  176. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/schema/json_test.py +0 -0
  177. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/schema/python.py +0 -0
  178. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/schema/python_test.py +0 -0
  179. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/schema_generation.py +0 -0
  180. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/schema_generation_test.py +0 -0
  181. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/scoring.py +0 -0
  182. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/scoring_test.py +0 -0
  183. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/tokenization.py +0 -0
  184. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/structured/tokenization_test.py +0 -0
  185. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/subscription.py +0 -0
  186. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/subscription_test.py +0 -0
  187. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/template.py +0 -0
  188. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/template_test.py +0 -0
  189. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/templates/__init__.py +0 -0
  190. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/templates/completion.py +0 -0
  191. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/templates/completion_test.py +0 -0
  192. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/templates/conversation.py +0 -0
  193. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/templates/conversation_test.py +0 -0
  194. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/templates/demonstration.py +0 -0
  195. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/templates/demonstration_test.py +0 -0
  196. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/templates/selfplay.py +0 -0
  197. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/core/templates/selfplay_test.py +0 -0
  198. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/__init__.py +0 -0
  199. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/base_environment.py +0 -0
  200. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/base_environment_test.py +0 -0
  201. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/base_feature.py +0 -0
  202. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/base_feature_test.py +0 -0
  203. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/base_sandbox.py +0 -0
  204. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/base_sandbox_test.py +0 -0
  205. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/event_handlers/__init__.py +0 -0
  206. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/event_handlers/chain.py +0 -0
  207. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/event_handlers/chain_test.py +0 -0
  208. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/event_handlers/event_logger.py +0 -0
  209. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/event_handlers/event_logger_test.py +0 -0
  210. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/event_handlers/metric_writer.py +0 -0
  211. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/event_handlers/metric_writer_test.py +0 -0
  212. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/interface.py +0 -0
  213. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/interface_test.py +0 -0
  214. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/load_balancers.py +0 -0
  215. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/load_balancers_test.py +0 -0
  216. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun/env/test_utils.py +0 -0
  217. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun.egg-info/SOURCES.txt +0 -0
  218. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun.egg-info/dependency_links.txt +0 -0
  219. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun.egg-info/requires.txt +0 -0
  220. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/langfun.egg-info/top_level.txt +0 -0
  221. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/setup.cfg +0 -0
  222. {langfun-0.1.2.dev202512180805 → langfun-0.1.2.dev202601120805}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langfun
3
- Version: 0.1.2.dev202512180805
3
+ Version: 0.1.2.dev202601120805
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors
@@ -122,7 +122,7 @@ class Checkpointer(experiment_lib.Plugin):
122
122
  example: Example,
123
123
  ) -> None:
124
124
  """Saves the example to the checkpoint file."""
125
- if example.newly_processed:
125
+ if example.newly_processed or runner.current_run.force_recompute_metrics:
126
126
  self._save_example(runner, experiment, example)
127
127
 
128
128
  def _load_experiment(
@@ -173,9 +173,9 @@ class Checkpointer(experiment_lib.Plugin):
173
173
  output_ckpt_file = current_run.output_path_for(
174
174
  experiment, os.path.basename(ckpt_file)
175
175
  )
176
- if ckpt_file != output_ckpt_file and any(
177
- e for e in loaded_examples if not e.has_error
178
- ):
176
+ if (not runner.current_run.force_recompute_metrics
177
+ and ckpt_file != output_ckpt_file
178
+ and any(e for e in loaded_examples if not e.has_error)):
179
179
  # Write the error-free warm-start examples to the output checkpoint
180
180
  # file.
181
181
  with SequenceWriter(output_ckpt_file) as writer:
@@ -373,7 +373,6 @@ class BulkCheckpointer(Checkpointer):
373
373
  )
374
374
  if pg.io.path_exists(input_ckpt_file):
375
375
  return [input_ckpt_file]
376
- print('CCC', experiment.hash, [])
377
376
  return []
378
377
 
379
378
  def on_experiment_complete(
@@ -376,23 +376,24 @@ class Experiment(lf.Component, pg.views.HtmlTreeView.Extension):
376
376
  def run(
377
377
  self,
378
378
  root_dir: str,
379
- id: str | None = None, # pylint: disable=redefined-builtin
379
+ id: str | None = None, # pylint: disable=redefined-builtin
380
380
  *,
381
381
  runner: str = 'parallel',
382
382
  warm_start_from: str | None = None,
383
- filter: Callable[['Experiment'], bool] | None = None, # pylint: disable=redefined-builtin
383
+ filter: Callable[['Experiment'], bool] | None = None, # pylint: disable=redefined-builtin
384
384
  example_ids: list[int] | None = None,
385
385
  shuffle_inputs: bool = False,
386
386
  raise_if_has_error: bool = False,
387
387
  reevaluate_upon_previous_errors: bool = True,
388
388
  reprocess: bool | list[int] = False,
389
+ force_recompute_metrics: bool = False,
389
390
  generate_example_html: Literal['new', 'all', 'no'] | list[int] = 'new',
390
391
  process_timeout: int | None = None,
391
392
  use_cache: Literal['global', 'per_dataset', 'no'] = 'per_dataset',
392
393
  note: str | None = None,
393
394
  tags: list[str] | None = None,
394
395
  plugins: list['Plugin'] | None = None,
395
- **kwargs
396
+ **kwargs,
396
397
  ) -> 'Run':
397
398
  """Runs the experiment.
398
399
 
@@ -445,6 +446,8 @@ class Experiment(lf.Component, pg.views.HtmlTreeView.Extension):
445
446
  meaning that existing checkpoints will be ignored. If a list of
446
447
  example IDs, it indicates that only the specified examples will be
447
448
  reprocessed.
449
+ force_recompute_metrics: If True, it will recompute the metrics for all
450
+ examples, even if the previous checkpoints have metric metadata.
448
451
  generate_example_html: Among 'new', 'all', 'no' or a list of example IDs.
449
452
  If 'new', generate HTML files for all newly processed examples, and
450
453
  keep/copy existing HTML files for unchanged examples.
@@ -481,6 +484,7 @@ class Experiment(lf.Component, pg.views.HtmlTreeView.Extension):
481
484
  raise_if_has_error=raise_if_has_error,
482
485
  reevaluate_upon_previous_errors=reevaluate_upon_previous_errors,
483
486
  reprocess=reprocess,
487
+ force_recompute_metrics=force_recompute_metrics,
484
488
  generate_example_html=generate_example_html,
485
489
  use_cache=use_cache,
486
490
  process_timeout=process_timeout,
@@ -884,6 +888,14 @@ class Run(pg.Object, pg.views.html.HtmlTreeView.Extension):
884
888
  )
885
889
  ] = True
886
890
 
891
+ force_recompute_metrics: Annotated[
892
+ bool,
893
+ (
894
+ 'If True, force recompute the metrics even if metric metadata is '
895
+ 'already present from previous checkpoint.'
896
+ )
897
+ ] = False
898
+
887
899
  note: Annotated[
888
900
  str | None,
889
901
  'The user note for the current run.'
@@ -1003,7 +1015,7 @@ class Run(pg.Object, pg.views.html.HtmlTreeView.Extension):
1003
1015
  load_metadata_ids = set()
1004
1016
  if isinstance(self.generate_example_html, list):
1005
1017
  load_metadata_ids = set(self.generate_example_html)
1006
- elif self.generate_example_html == 'all':
1018
+ elif self.generate_example_html == 'all' or self.force_recompute_metrics:
1007
1019
  load_metadata_ids = self.examples_to_evaluate(experiment)
1008
1020
  load_metadata_ids -= self.examples_to_reprocess(experiment)
1009
1021
  return load_metadata_ids
@@ -227,7 +227,11 @@ class Progress(pg.Object, pg.views.HtmlTreeView.Extension):
227
227
 
228
228
  def merge_from(self, other: 'Progress') -> None:
229
229
  """Merges the progress from another progress."""
230
- with pg.notify_on_change(False), pg.allow_writable_accessors(True):
230
+ with (
231
+ self._lock,
232
+ pg.notify_on_change(False),
233
+ pg.allow_writable_accessors(True)
234
+ ):
231
235
  if other.start_time is not None and (
232
236
  self.start_time is None or self.start_time > other.start_time):
233
237
  self.start_time = other.start_time
@@ -268,16 +272,17 @@ class Progress(pg.Object, pg.views.HtmlTreeView.Extension):
268
272
  stop_time=self.stop_time_str,
269
273
  )
270
274
  if self.execution_summary:
271
- time_info['execution'] = pg.Dict(
272
- {
273
- k: pg.Dict(
274
- num_started=v.num_started,
275
- num_ended=v.num_ended,
276
- num_failed=v.num_failed,
277
- avg_duration=round(v.avg_duration, 2),
278
- ) for k, v in self.execution_summary.breakdown.items()
279
- }
280
- )
275
+ with self._lock:
276
+ time_info['execution'] = pg.Dict(
277
+ {
278
+ k: pg.Dict(
279
+ num_started=v.num_started,
280
+ num_ended=v.num_ended,
281
+ num_failed=v.num_failed,
282
+ avg_duration=round(v.avg_duration, 2),
283
+ ) for k, v in self.execution_summary.breakdown.items()
284
+ }
285
+ )
281
286
  return pg.format(time_info, verbose=False)
282
287
 
283
288
  def _html_tree_view(
@@ -99,6 +99,7 @@ class ExampleHtmlGenerator(experiment_lib.Plugin):
99
99
 
100
100
  generate_example_html = current_run.generate_example_html
101
101
  if (generate_example_html == 'all'
102
+ or runner.current_run.force_recompute_metrics
102
103
  or (generate_example_html == 'new' and example.newly_processed)
103
104
  or (isinstance(generate_example_html, list)
104
105
  and example.id in generate_example_html)):
@@ -396,6 +396,7 @@ class RunnerBase(Runner):
396
396
  item,
397
397
  raise_if_has_error=self.current_run.raise_if_has_error,
398
398
  reevaluate_upon_previous_errors=self.current_run.reevaluate_upon_previous_errors,
399
+ force_recompute_metrics=self.current_run.force_recompute_metrics,
399
400
  )
400
401
  self.on_example_complete(evaluation, item)
401
402
  return item
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langfun
3
- Version: 0.1.2.dev202512180805
3
+ Version: 0.1.2.dev202601120805
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors