langfun 0.1.2.dev202504260803__tar.gz → 0.1.2.dev202504280818__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 (168) hide show
  1. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/PKG-INFO +1 -1
  2. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/agentic/action.py +11 -0
  3. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/evaluation.py +13 -21
  4. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/logging.py +4 -0
  5. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/schema.py +8 -0
  6. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/schema_test.py +37 -0
  7. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun.egg-info/PKG-INFO +1 -1
  8. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/LICENSE +0 -0
  9. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/README.md +0 -0
  10. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/__init__.py +0 -0
  11. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/__init__.py +0 -0
  12. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/agentic/__init__.py +0 -0
  13. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/agentic/action_eval.py +0 -0
  14. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/agentic/action_eval_test.py +0 -0
  15. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/agentic/action_test.py +0 -0
  16. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/coding/__init__.py +0 -0
  17. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/coding/python/__init__.py +0 -0
  18. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/coding/python/correction.py +0 -0
  19. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/coding/python/correction_test.py +0 -0
  20. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/coding/python/execution.py +0 -0
  21. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/coding/python/execution_test.py +0 -0
  22. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/coding/python/generation.py +0 -0
  23. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/coding/python/generation_test.py +0 -0
  24. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/coding/python/parsing.py +0 -0
  25. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/coding/python/parsing_test.py +0 -0
  26. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/coding/python/sandboxing.py +0 -0
  27. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/coding/python/sandboxing_test.py +0 -0
  28. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/component.py +0 -0
  29. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/component_test.py +0 -0
  30. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/concurrent.py +0 -0
  31. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/concurrent_test.py +0 -0
  32. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/console.py +0 -0
  33. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/console_test.py +0 -0
  34. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/data/__init__.py +0 -0
  35. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/data/conversion/__init__.py +0 -0
  36. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/data/conversion/anthropic.py +0 -0
  37. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/data/conversion/anthropic_test.py +0 -0
  38. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/data/conversion/gemini.py +0 -0
  39. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/data/conversion/gemini_test.py +0 -0
  40. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/data/conversion/openai.py +0 -0
  41. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/data/conversion/openai_test.py +0 -0
  42. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/__init__.py +0 -0
  43. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/base.py +0 -0
  44. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/base_test.py +0 -0
  45. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/matching.py +0 -0
  46. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/matching_test.py +0 -0
  47. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/patching.py +0 -0
  48. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/patching_test.py +0 -0
  49. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/scoring.py +0 -0
  50. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/scoring_test.py +0 -0
  51. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/__init__.py +0 -0
  52. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/checkpointing.py +0 -0
  53. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/checkpointing_test.py +0 -0
  54. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/eval_test_helper.py +0 -0
  55. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/evaluation_test.py +0 -0
  56. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/example.py +0 -0
  57. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/example_test.py +0 -0
  58. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/experiment.py +0 -0
  59. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/experiment_test.py +0 -0
  60. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/metric_values.py +0 -0
  61. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/metric_values_test.py +0 -0
  62. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/metrics.py +0 -0
  63. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/metrics_test.py +0 -0
  64. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/progress.py +0 -0
  65. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/progress_test.py +0 -0
  66. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/progress_tracking.py +0 -0
  67. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/progress_tracking_test.py +0 -0
  68. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/reporting.py +0 -0
  69. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/reporting_test.py +0 -0
  70. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/runners.py +0 -0
  71. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/eval/v2/runners_test.py +0 -0
  72. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/langfunc.py +0 -0
  73. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/langfunc_test.py +0 -0
  74. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/language_model.py +0 -0
  75. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/language_model_test.py +0 -0
  76. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/__init__.py +0 -0
  77. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/anthropic.py +0 -0
  78. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/anthropic_test.py +0 -0
  79. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/azure_openai.py +0 -0
  80. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/azure_openai_test.py +0 -0
  81. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/cache/__init__.py +0 -0
  82. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/cache/base.py +0 -0
  83. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/cache/in_memory.py +0 -0
  84. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/cache/in_memory_test.py +0 -0
  85. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/compositional.py +0 -0
  86. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/compositional_test.py +0 -0
  87. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/deepseek.py +0 -0
  88. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/deepseek_test.py +0 -0
  89. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/fake.py +0 -0
  90. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/fake_test.py +0 -0
  91. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/gemini.py +0 -0
  92. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/gemini_test.py +0 -0
  93. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/google_genai.py +0 -0
  94. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/google_genai_test.py +0 -0
  95. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/groq.py +0 -0
  96. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/groq_test.py +0 -0
  97. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/llama_cpp.py +0 -0
  98. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/llama_cpp_test.py +0 -0
  99. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/openai.py +0 -0
  100. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/openai_compatible.py +0 -0
  101. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/openai_compatible_test.py +0 -0
  102. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/openai_test.py +0 -0
  103. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/rest.py +0 -0
  104. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/rest_test.py +0 -0
  105. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/vertexai.py +0 -0
  106. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/llms/vertexai_test.py +0 -0
  107. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/logging_test.py +0 -0
  108. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/memories/__init__.py +0 -0
  109. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/memories/conversation_history.py +0 -0
  110. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/memories/conversation_history_test.py +0 -0
  111. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/memory.py +0 -0
  112. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/message.py +0 -0
  113. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/message_test.py +0 -0
  114. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/modalities/__init__.py +0 -0
  115. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/modalities/audio.py +0 -0
  116. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/modalities/audio_test.py +0 -0
  117. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/modalities/image.py +0 -0
  118. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/modalities/image_test.py +0 -0
  119. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/modalities/mime.py +0 -0
  120. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/modalities/mime_test.py +0 -0
  121. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/modalities/pdf.py +0 -0
  122. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/modalities/pdf_test.py +0 -0
  123. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/modalities/video.py +0 -0
  124. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/modalities/video_test.py +0 -0
  125. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/modality.py +0 -0
  126. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/modality_test.py +0 -0
  127. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/natural_language.py +0 -0
  128. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/natural_language_test.py +0 -0
  129. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/sampling.py +0 -0
  130. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/sampling_test.py +0 -0
  131. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/__init__.py +0 -0
  132. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/completion.py +0 -0
  133. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/completion_test.py +0 -0
  134. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/description.py +0 -0
  135. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/description_test.py +0 -0
  136. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/function_generation.py +0 -0
  137. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/function_generation_test.py +0 -0
  138. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/mapping.py +0 -0
  139. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/mapping_test.py +0 -0
  140. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/parsing.py +0 -0
  141. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/parsing_test.py +0 -0
  142. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/querying.py +0 -0
  143. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/querying_test.py +0 -0
  144. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/schema_generation.py +0 -0
  145. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/schema_generation_test.py +0 -0
  146. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/scoring.py +0 -0
  147. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/scoring_test.py +0 -0
  148. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/tokenization.py +0 -0
  149. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/structured/tokenization_test.py +0 -0
  150. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/subscription.py +0 -0
  151. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/subscription_test.py +0 -0
  152. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/template.py +0 -0
  153. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/template_test.py +0 -0
  154. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/templates/__init__.py +0 -0
  155. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/templates/completion.py +0 -0
  156. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/templates/completion_test.py +0 -0
  157. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/templates/conversation.py +0 -0
  158. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/templates/conversation_test.py +0 -0
  159. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/templates/demonstration.py +0 -0
  160. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/templates/demonstration_test.py +0 -0
  161. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/templates/selfplay.py +0 -0
  162. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun/core/templates/selfplay_test.py +0 -0
  163. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun.egg-info/SOURCES.txt +0 -0
  164. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun.egg-info/dependency_links.txt +0 -0
  165. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun.egg-info/requires.txt +0 -0
  166. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/langfun.egg-info/top_level.txt +0 -0
  167. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/setup.cfg +0 -0
  168. {langfun-0.1.2.dev202504260803 → langfun-0.1.2.dev202504280818}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langfun
3
- Version: 0.1.2.dev202504260803
3
+ Version: 0.1.2.dev202504280818
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors
@@ -1132,3 +1132,14 @@ class Session(pg.Object, pg.views.html.HtmlTreeView.Extension):
1132
1132
  enable_key_tooltip=False,
1133
1133
  )
1134
1134
  return config
1135
+
1136
+
1137
+ # Register the logging functions to skip the source of the logging functions.
1138
+ pg.logging.register_frame_to_skip([
1139
+ Session._log, # pylint: disable=protected-access
1140
+ Session.debug,
1141
+ Session.info,
1142
+ Session.warning,
1143
+ Session.error,
1144
+ Session.fatal
1145
+ ])
@@ -316,7 +316,9 @@ class Evaluation(experiment_lib.Experiment):
316
316
 
317
317
  def _log(self, log_func, level: lf.logging.LogLevel, message: str, **kwargs):
318
318
  # Write to external logging system.
319
- log_message = f'{self.id}: {message}'
319
+ log_message = message
320
+ if self.id not in log_message:
321
+ log_message = f'{self.id}: {log_message}'
320
322
  if kwargs:
321
323
  log_message = f'{log_message} (metadata: {kwargs!r})'
322
324
  log_func(log_message)
@@ -331,26 +333,6 @@ class Evaluation(experiment_lib.Experiment):
331
333
  with self._log_lock:
332
334
  self._log_entries.append(log_entry)
333
335
 
334
- # Also add system log.
335
- match level:
336
- case 'debug':
337
- sys_log_func = pg.logging.debug
338
- case 'info':
339
- sys_log_func = pg.logging.info
340
- case 'warning':
341
- sys_log_func = pg.logging.warning
342
- case 'error':
343
- sys_log_func = pg.logging.error
344
- case 'fatal':
345
- sys_log_func = pg.logging.error
346
- case _:
347
- raise ValueError(f'Unsupported log level: {level}')
348
-
349
- sys_log_func(
350
- '%s: %s\nMetadata: %s',
351
- self.id, message, pg.format(kwargs)
352
- )
353
-
354
336
  def debug(self, message: str, **kwargs):
355
337
  """Logs a debug message to the session."""
356
338
  self._log(pg.logging.debug, 'debug', message, **kwargs)
@@ -806,3 +788,13 @@ class EvaluationState:
806
788
  has_error=example.has_error,
807
789
  )
808
790
  )
791
+
792
+ # Register the logging functions to skip the source of the logging functions.
793
+ pg.logging.register_frame_to_skip([
794
+ Evaluation._log, # pylint: disable=protected-access
795
+ Evaluation.debug,
796
+ Evaluation.info,
797
+ Evaluation.warning,
798
+ Evaluation.error,
799
+ Evaluation.fatal
800
+ ])
@@ -335,3 +335,7 @@ def fatal(
335
335
  ) -> LogEntry:
336
336
  """Logs a fatal message to the session."""
337
337
  return log('fatal', message, indent=indent, console=console, **kwargs)
338
+
339
+
340
+ # Register the logging functions to skip the source of the logging functions.
341
+ pg.logging.register_frame_to_skip([log, debug, info, warning, error, fatal])
@@ -456,6 +456,11 @@ def class_definition(
456
456
  )
457
457
  continue
458
458
 
459
+ # Skip fields that are marked as excluded from the prompt sent to LLM
460
+ # for OOP.
461
+ if field.metadata.get('exclude_from_prompt', False):
462
+ continue
463
+
459
464
  # Write field doc string as comments before the field definition.
460
465
  if field.description:
461
466
  for line in field.description.split('\n'):
@@ -671,6 +676,7 @@ class ValuePythonRepr(ValueRepr):
671
676
  compact: bool = True,
672
677
  verbose: bool = False,
673
678
  markdown: bool = True,
679
+ assign_to_var: str | None = None,
674
680
  **kwargs) -> str:
675
681
  del schema
676
682
  if inspect.isclass(value):
@@ -694,6 +700,8 @@ class ValuePythonRepr(ValueRepr):
694
700
  object_code = pg.format(
695
701
  value, compact=compact, verbose=verbose, python_format=True
696
702
  )
703
+ if assign_to_var is not None:
704
+ object_code = f'{assign_to_var} = {object_code}'
697
705
  if markdown:
698
706
  return f'```python\n{ object_code }\n```'
699
707
  return object_code
@@ -538,6 +538,19 @@ class SchemaPythonReprTest(unittest.TestCase):
538
538
  """) + '\n'
539
539
  )
540
540
 
541
+ class E(pg.Object):
542
+ x: str
543
+ y: typing.Annotated[int, 'y', dict(exclude_from_prompt=True)]
544
+
545
+ self.assertEqual(
546
+ schema_lib.class_definition(E),
547
+ inspect.cleandoc(
548
+ """
549
+ class E(Object):
550
+ x: str
551
+ """) + '\n'
552
+ )
553
+
541
554
  def test_repr(self):
542
555
  class Foo(pg.Object):
543
556
  x: int
@@ -704,6 +717,30 @@ class ValuePythonReprTest(unittest.TestCase):
704
717
  ),
705
718
  "A(foo=[Foo(x=1), Foo(x=2)], y='bar')",
706
719
  )
720
+ self.assertEqual(
721
+ schema_lib.ValuePythonRepr().repr(
722
+ A([Foo(1), Foo(2)], 'bar'),
723
+ schema_lib.Schema(A),
724
+ markdown=True,
725
+ compact=False,
726
+ assign_to_var='output',
727
+ ),
728
+ inspect.cleandoc("""
729
+ ```python
730
+ output = A(
731
+ foo=[
732
+ Foo(
733
+ x=1
734
+ ),
735
+ Foo(
736
+ x=2
737
+ )
738
+ ],
739
+ y='bar'
740
+ )
741
+ ```
742
+ """),
743
+ )
707
744
  self.assertEqual(
708
745
  schema_lib.ValuePythonRepr().repr(A),
709
746
  inspect.cleandoc("""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langfun
3
- Version: 0.1.2.dev202504260803
3
+ Version: 0.1.2.dev202504280818
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors