langfun 0.1.2.dev202409230804__tar.gz → 0.1.2.dev202409250804__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 (131) hide show
  1. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/PKG-INFO +1 -1
  2. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/eval/base.py +5 -0
  3. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/eval/matching.py +9 -2
  4. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/vertexai.py +3 -3
  5. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modality.py +7 -0
  6. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/repr_utils.py +9 -2
  7. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun.egg-info/PKG-INFO +1 -1
  8. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/LICENSE +0 -0
  9. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/README.md +0 -0
  10. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/__init__.py +0 -0
  11. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/__init__.py +0 -0
  12. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/__init__.py +0 -0
  13. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/python/__init__.py +0 -0
  14. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/python/correction.py +0 -0
  15. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/python/correction_test.py +0 -0
  16. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/python/errors.py +0 -0
  17. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/python/errors_test.py +0 -0
  18. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/python/execution.py +0 -0
  19. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/python/execution_test.py +0 -0
  20. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/python/generation.py +0 -0
  21. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/python/generation_test.py +0 -0
  22. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/python/parsing.py +0 -0
  23. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/python/parsing_test.py +0 -0
  24. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/python/permissions.py +0 -0
  25. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/coding/python/permissions_test.py +0 -0
  26. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/component.py +0 -0
  27. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/component_test.py +0 -0
  28. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/concurrent.py +0 -0
  29. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/concurrent_test.py +0 -0
  30. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/console.py +0 -0
  31. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/console_test.py +0 -0
  32. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/eval/__init__.py +0 -0
  33. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/eval/base_test.py +0 -0
  34. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/eval/matching_test.py +0 -0
  35. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/eval/patching.py +0 -0
  36. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/eval/patching_test.py +0 -0
  37. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/eval/scoring.py +0 -0
  38. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/eval/scoring_test.py +0 -0
  39. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/langfunc.py +0 -0
  40. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/langfunc_test.py +0 -0
  41. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/language_model.py +0 -0
  42. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/language_model_test.py +0 -0
  43. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/__init__.py +0 -0
  44. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/anthropic.py +0 -0
  45. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/anthropic_test.py +0 -0
  46. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/cache/__init__.py +0 -0
  47. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/cache/base.py +0 -0
  48. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/cache/in_memory.py +0 -0
  49. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/cache/in_memory_test.py +0 -0
  50. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/fake.py +0 -0
  51. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/fake_test.py +0 -0
  52. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/google_genai.py +0 -0
  53. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/google_genai_test.py +0 -0
  54. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/groq.py +0 -0
  55. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/groq_test.py +0 -0
  56. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/llama_cpp.py +0 -0
  57. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/llama_cpp_test.py +0 -0
  58. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/openai.py +0 -0
  59. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/openai_test.py +0 -0
  60. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/rest.py +0 -0
  61. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/rest_test.py +0 -0
  62. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/llms/vertexai_test.py +0 -0
  63. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/logging.py +0 -0
  64. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/logging_test.py +0 -0
  65. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/memories/__init__.py +0 -0
  66. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/memories/conversation_history.py +0 -0
  67. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/memories/conversation_history_test.py +0 -0
  68. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/memory.py +0 -0
  69. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/message.py +0 -0
  70. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/message_test.py +0 -0
  71. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modalities/__init__.py +0 -0
  72. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modalities/audio.py +0 -0
  73. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modalities/audio_test.py +0 -0
  74. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modalities/image.py +0 -0
  75. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modalities/image_test.py +0 -0
  76. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modalities/mime.py +0 -0
  77. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modalities/mime_test.py +0 -0
  78. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modalities/ms_office.py +0 -0
  79. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modalities/ms_office_test.py +0 -0
  80. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modalities/pdf.py +0 -0
  81. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modalities/pdf_test.py +0 -0
  82. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modalities/video.py +0 -0
  83. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modalities/video_test.py +0 -0
  84. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/modality_test.py +0 -0
  85. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/natural_language.py +0 -0
  86. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/natural_language_test.py +0 -0
  87. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/repr_utils_test.py +0 -0
  88. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/sampling.py +0 -0
  89. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/sampling_test.py +0 -0
  90. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/__init__.py +0 -0
  91. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/completion.py +0 -0
  92. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/completion_test.py +0 -0
  93. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/description.py +0 -0
  94. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/description_test.py +0 -0
  95. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/function_generation.py +0 -0
  96. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/function_generation_test.py +0 -0
  97. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/mapping.py +0 -0
  98. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/mapping_test.py +0 -0
  99. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/parsing.py +0 -0
  100. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/parsing_test.py +0 -0
  101. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/prompting.py +0 -0
  102. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/prompting_test.py +0 -0
  103. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/schema.py +0 -0
  104. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/schema_generation.py +0 -0
  105. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/schema_generation_test.py +0 -0
  106. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/schema_test.py +0 -0
  107. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/scoring.py +0 -0
  108. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/scoring_test.py +0 -0
  109. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/tokenization.py +0 -0
  110. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/structured/tokenization_test.py +0 -0
  111. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/subscription.py +0 -0
  112. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/subscription_test.py +0 -0
  113. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/template.py +0 -0
  114. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/template_test.py +0 -0
  115. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/templates/__init__.py +0 -0
  116. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/templates/completion.py +0 -0
  117. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/templates/completion_test.py +0 -0
  118. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/templates/conversation.py +0 -0
  119. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/templates/conversation_test.py +0 -0
  120. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/templates/demonstration.py +0 -0
  121. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/templates/demonstration_test.py +0 -0
  122. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/templates/selfplay.py +0 -0
  123. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/templates/selfplay_test.py +0 -0
  124. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/text_formatting.py +0 -0
  125. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun/core/text_formatting_test.py +0 -0
  126. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun.egg-info/SOURCES.txt +0 -0
  127. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun.egg-info/dependency_links.txt +0 -0
  128. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun.egg-info/requires.txt +0 -0
  129. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/langfun.egg-info/top_level.txt +0 -0
  130. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/setup.cfg +0 -0
  131. {langfun-0.1.2.dev202409230804 → langfun-0.1.2.dev202409250804}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langfun
3
- Version: 0.1.2.dev202409230804
3
+ Version: 0.1.2.dev202409250804
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors
@@ -215,6 +215,7 @@ class Evaluable(lf.Component):
215
215
  summary: bool = True,
216
216
  pivot_field: str = 'lm',
217
217
  from_root: bool = True,
218
+ timeout: int | None = None,
218
219
  **kwargs,
219
220
  ) -> Union['Summary', pg.Dict]:
220
221
  """Run the evaluation, which fills and returns the result."""
@@ -265,6 +266,7 @@ class Evaluable(lf.Component):
265
266
  verbose=verbose,
266
267
  progress_bar=progress_bar,
267
268
  label=label,
269
+ timeout=timeout,
268
270
  **kwargs,
269
271
  )
270
272
 
@@ -398,6 +400,7 @@ class Evaluable(lf.Component):
398
400
  verbose: bool,
399
401
  progress_bar: int | None,
400
402
  label: str | None,
403
+ timeout: int | None = None,
401
404
  **kwargs,
402
405
  ) -> None:
403
406
  """Run the evaluate and fill `self.result`. Subclass to implement."""
@@ -1106,6 +1109,7 @@ class Evaluation(Evaluable):
1106
1109
  verbose: bool,
1107
1110
  progress_bar: int | None,
1108
1111
  label: str | None,
1112
+ timeout: int | None = None,
1109
1113
  **kwargs,
1110
1114
  ) -> None:
1111
1115
  # Setup examples.
@@ -1136,6 +1140,7 @@ class Evaluation(Evaluable):
1136
1140
  max_workers=self.max_workers,
1137
1141
  show_progress=progress_bar or False,
1138
1142
  status_fn=self._status,
1143
+ timeout=timeout,
1139
1144
  ):
1140
1145
  if error is not None:
1141
1146
  message = (
@@ -266,20 +266,27 @@ class Matching(base.Evaluation):
266
266
  '<td>Prompt/Response Chain</td>'
267
267
  '</tr>'
268
268
  )
269
+ def _maybe_html(v, root_indent: int):
270
+ del root_indent
271
+ if hasattr(v, '_repr_html_'):
272
+ return v._repr_html_() # pylint: disable=protected-access
273
+ # Fall back to the default format.
274
+ return None
275
+
269
276
  for i, (example, output, message) in enumerate(self.matches):
270
277
  bgcolor = 'white' if i % 2 == 0 else '#DDDDDD'
271
278
  s.write(f'<tr style="background-color: {bgcolor}"><td>{i + 1}</td>')
272
279
  input_str = lf.repr_utils.escape_quoted(
273
280
  pg.format(
274
281
  example, verbose=False, max_bytes_len=32,
275
- custom_format='_repr_html_'
282
+ custom_format=_maybe_html
276
283
  )
277
284
  )
278
285
  s.write(f'<td style="color:green;white-space:pre-wrap">{input_str}</td>')
279
286
  output_str = lf.repr_utils.escape_quoted(
280
287
  pg.format(
281
288
  output, verbose=False, max_bytes_len=32,
282
- custom_format='_repr_html_'
289
+ custom_format=_maybe_html
283
290
  )
284
291
  )
285
292
  s.write(f'<td style="color:blue;white-space:pre-wrap">{output_str}</td>')
@@ -237,6 +237,8 @@ class VertexAI(lf.LanguageModel):
237
237
  # API. We should revisit this later.
238
238
  retry_on_errors = [
239
239
  (Exception, 'InternalServerError'),
240
+ (Exception, 'ResourceExhausted'),
241
+ (Exception, '_InactiveRpcError'),
240
242
  (
241
243
  Exception,
242
244
  (
@@ -247,11 +249,9 @@ class VertexAI(lf.LanguageModel):
247
249
  (Exception, 'ValueError: Cannot get the Candidate text.'),
248
250
  ]
249
251
 
250
- return lf.concurrent_execute(
252
+ return self._parallel_execute_with_currency_control(
251
253
  self._sample_single,
252
254
  prompts,
253
- executor=self.resource_id,
254
- max_workers=self.max_concurrency,
255
255
  retry_on_errors=retry_on_errors,
256
256
  )
257
257
 
@@ -49,6 +49,13 @@ class Modality(component.Component):
49
49
  return super().format(*args, **kwargs)
50
50
  return Modality.text_marker(self.referred_name)
51
51
 
52
+ def __str_kwargs__(self) -> dict[str, Any]:
53
+ # For modality objects, we don't want to use markdown format when they
54
+ # are rendered as parts of the prompt.
55
+ kwargs = super().__str_kwargs__()
56
+ kwargs.pop('markdown', None)
57
+ return kwargs
58
+
52
59
  @abc.abstractmethod
53
60
  def to_bytes(self) -> bytes:
54
61
  """Returns content in bytes."""
@@ -121,8 +121,15 @@ def html_repr(
121
121
  s.write('<table style="border-top: 1px solid #EEEEEE;">')
122
122
  item_color = item_color or (lambda k, v: (None, '#F1C40F', None, None))
123
123
 
124
- with (pg.str_format(custom_format='_repr_html_'),
125
- pg.repr_format(custom_format='_repr_html_')):
124
+ def maybe_html_format(v: Any, root_indent: int) -> str | None:
125
+ del root_indent
126
+ if hasattr(v, '_repr_html_'):
127
+ return v._repr_html_() # pylint: disable=protected-access
128
+ # Fall back to the default format.
129
+ return None
130
+
131
+ with (pg.str_format(custom_format=maybe_html_format),
132
+ pg.repr_format(custom_format=maybe_html_format)):
126
133
  for k, v in pg.object_utils.flatten(value).items():
127
134
  if isinstance(v, pg.Ref):
128
135
  v = v.value
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langfun
3
- Version: 0.1.2.dev202409230804
3
+ Version: 0.1.2.dev202409250804
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors