langfun 0.1.2.dev202507250804__py3-none-any.whl → 0.1.2.dev202507270804__py3-none-any.whl

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 (31) hide show
  1. langfun/assistant/capabilities/gui/__init__.py +36 -0
  2. langfun/assistant/capabilities/gui/bounding_box_parser.py +195 -0
  3. langfun/assistant/capabilities/gui/bounding_box_parser_test.py +313 -0
  4. langfun/assistant/capabilities/gui/drawing.py +242 -0
  5. langfun/assistant/capabilities/gui/drawing_test.py +103 -0
  6. langfun/assistant/capabilities/gui/location.py +288 -0
  7. langfun/assistant/capabilities/gui/location_test.py +230 -0
  8. langfun/core/__init__.py +3 -0
  9. langfun/core/agentic/action.py +18 -0
  10. langfun/core/agentic/action_test.py +8 -1
  11. langfun/core/async_support.py +28 -0
  12. langfun/core/async_support_test.py +39 -0
  13. langfun/core/concurrent_test.py +6 -5
  14. langfun/core/language_model.py +54 -0
  15. langfun/core/language_model_test.py +40 -0
  16. langfun/core/structured/__init__.py +7 -0
  17. langfun/core/structured/completion.py +28 -0
  18. langfun/core/structured/completion_test.py +36 -0
  19. langfun/core/structured/parsing.py +77 -0
  20. langfun/core/structured/parsing_test.py +15 -0
  21. langfun/core/structured/querying.py +42 -0
  22. langfun/core/structured/querying_test.py +10 -0
  23. langfun/core/structured/scoring.py +28 -0
  24. langfun/core/structured/scoring_test.py +8 -0
  25. langfun/core/structured/tokenization.py +24 -0
  26. langfun/core/structured/tokenization_test.py +8 -0
  27. {langfun-0.1.2.dev202507250804.dist-info → langfun-0.1.2.dev202507270804.dist-info}/METADATA +1 -1
  28. {langfun-0.1.2.dev202507250804.dist-info → langfun-0.1.2.dev202507270804.dist-info}/RECORD +31 -22
  29. {langfun-0.1.2.dev202507250804.dist-info → langfun-0.1.2.dev202507270804.dist-info}/WHEEL +0 -0
  30. {langfun-0.1.2.dev202507250804.dist-info → langfun-0.1.2.dev202507270804.dist-info}/licenses/LICENSE +0 -0
  31. {langfun-0.1.2.dev202507250804.dist-info → langfun-0.1.2.dev202507270804.dist-info}/top_level.txt +0 -0
@@ -12,6 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
  """Symbolic parsing."""
15
+
15
16
  from typing import Any, Callable, Type, Union
16
17
 
17
18
  import langfun.core as lf
@@ -183,6 +184,44 @@ def parse(
183
184
  return output if returns_message else output.result
184
185
 
185
186
 
187
+ async def aparse(
188
+ message: Union[lf.Message, str],
189
+ schema: Union[
190
+ schema_lib.Schema, Type[Any], list[Type[Any]], dict[str, Any]
191
+ ],
192
+ default: Any = lf.RAISE_IF_HAS_ERROR,
193
+ *,
194
+ user_prompt: str | None = None,
195
+ lm: lf.LanguageModel | None = None,
196
+ examples: list[mapping.MappingExample] | None = None,
197
+ include_context: bool = False,
198
+ cache_seed: int | None = 0,
199
+ autofix: int = 0,
200
+ autofix_lm: lf.LanguageModel | None = None,
201
+ protocol: schema_lib.SchemaProtocol = 'python',
202
+ returns_message: bool = False,
203
+ **kwargs,
204
+ ) -> Any:
205
+ """Async version of `lf.parse`."""
206
+ # TODO(daiyip): implement native async parsing.
207
+ return await lf.invoke_async(
208
+ parse,
209
+ message,
210
+ schema,
211
+ default,
212
+ user_prompt=user_prompt,
213
+ lm=lm,
214
+ examples=examples,
215
+ include_context=include_context,
216
+ cache_seed=cache_seed,
217
+ autofix=autofix,
218
+ autofix_lm=autofix_lm,
219
+ protocol=protocol,
220
+ returns_message=returns_message,
221
+ **kwargs
222
+ )
223
+
224
+
186
225
  def call(
187
226
  prompt: str | lf.Template,
188
227
  schema: Union[
@@ -298,6 +337,44 @@ def call(
298
337
  return parsing_message if returns_message else parsing_message.result
299
338
 
300
339
 
340
+ async def acall(
341
+ prompt: str | lf.Template,
342
+ schema: Union[
343
+ None, schema_lib.Schema, Type[Any], list[Type[Any]], dict[str, Any]
344
+ ] = None,
345
+ *,
346
+ lm: lf.LanguageModel | None = None,
347
+ parsing_lm: lf.LanguageModel | None = None,
348
+ parsing_examples: list[mapping.MappingExample] | None = None,
349
+ parsing_include_context: bool = False,
350
+ cache_seed: int | None = 0,
351
+ autofix: int = 0,
352
+ autofix_lm: lf.LanguageModel | None = None,
353
+ response_postprocess: Callable[[str], str] | None = None,
354
+ protocol: schema_lib.SchemaProtocol = 'python',
355
+ returns_message: bool = False,
356
+ **kwargs,
357
+ ) -> Any:
358
+ """Async version of `lf.call`."""
359
+ # TODO(daiyip): implement native async calling.
360
+ return await lf.invoke_async(
361
+ call,
362
+ prompt,
363
+ schema,
364
+ lm=lm,
365
+ parsing_lm=parsing_lm,
366
+ parsing_examples=parsing_examples,
367
+ parsing_include_context=parsing_include_context,
368
+ cache_seed=cache_seed,
369
+ autofix=autofix,
370
+ autofix_lm=autofix_lm,
371
+ response_postprocess=response_postprocess,
372
+ protocol=protocol,
373
+ returns_message=returns_message,
374
+ **kwargs
375
+ )
376
+
377
+
301
378
  def _parse_structure_cls(
302
379
  protocol: schema_lib.SchemaProtocol,
303
380
  ) -> Type[_ParseStructure]:
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
  """Tests for structured parsing."""
15
15
 
16
+ import asyncio
16
17
  import inspect
17
18
  import unittest
18
19
 
@@ -291,6 +292,10 @@ class ParseStructurePythonTest(unittest.TestCase):
291
292
  ),
292
293
  )
293
294
 
295
+ def test_aparse(self):
296
+ with lf.context(lm=fake.StaticResponse('1')):
297
+ self.assertEqual(asyncio.run(parsing.aparse('the answer is 1', int)), 1)
298
+
294
299
 
295
300
  class ParseStructureJsonTest(unittest.TestCase):
296
301
 
@@ -583,6 +588,16 @@ class CallTest(unittest.TestCase):
583
588
  ):
584
589
  self.assertEqual(parsing.call('Compute 1 + 2'), 'three')
585
590
 
591
+ def test_acall(self):
592
+ with lf.context(
593
+ lm=fake.StaticMapping({
594
+ 'Compute 1 + 2': 'three',
595
+ })
596
+ ):
597
+ self.assertEqual(
598
+ asyncio.run(parsing.acall('Compute 1 + 2')), 'three'
599
+ )
600
+
586
601
  def test_call_with_template_str(self):
587
602
  with lf.context(
588
603
  lm=fake.StaticMapping({
@@ -666,6 +666,48 @@ def query(
666
666
  return output_message.text if schema in (None, str) else output_message.result
667
667
 
668
668
 
669
+ async def aquery(
670
+ prompt: Union[str, lf.Template, Any],
671
+ schema: schema_lib.SchemaType | None = None,
672
+ default: Any = lf.RAISE_IF_HAS_ERROR,
673
+ *,
674
+ lm: lf.LanguageModel | list[lf.LanguageModel] | None = None,
675
+ num_samples: int | list[int] = 1,
676
+ system_message: str | lf.Template | None = None,
677
+ examples: list[mapping.MappingExample] | None = None,
678
+ cache_seed: int | None = 0,
679
+ response_postprocess: Callable[[str], str] | None = None,
680
+ autofix: int = 0,
681
+ autofix_lm: lf.LanguageModel | None = None,
682
+ protocol: str | None = None,
683
+ returns_message: bool = False,
684
+ skip_lm: bool = False,
685
+ invocation_id: str | None = None,
686
+ **kwargs,
687
+ ) -> Any:
688
+ """Async version of `lf.query`."""
689
+ # TODO(daiyip): implement native async querying.
690
+ return await lf.invoke_async(
691
+ query,
692
+ prompt,
693
+ schema,
694
+ default,
695
+ lm=lm,
696
+ num_samples=num_samples,
697
+ system_message=system_message,
698
+ examples=examples,
699
+ cache_seed=cache_seed,
700
+ response_postprocess=response_postprocess,
701
+ autofix=autofix,
702
+ autofix_lm=autofix_lm,
703
+ protocol=protocol,
704
+ returns_message=returns_message,
705
+ skip_lm=skip_lm,
706
+ invocation_id=invocation_id,
707
+ **kwargs
708
+ )
709
+
710
+
669
711
  @contextlib.contextmanager
670
712
  def query_protocol(protocol: str) -> Iterator[None]:
671
713
  """Context manager for setting the query protocol for the scope."""
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
  """Tests for structured query."""
15
15
 
16
+ import asyncio
16
17
  import inspect
17
18
  import math
18
19
  import time
@@ -1336,6 +1337,15 @@ class LfQueryJsonV1Test(unittest.TestCase):
1336
1337
  querying.query('what is 1 + 0', int, lm=lm), 1
1337
1338
  )
1338
1339
 
1340
+ def test_aquery(self):
1341
+ with lf.context(lm=fake.StaticResponse('{"result": 1}')):
1342
+ self.assertEqual(
1343
+ asyncio.run(
1344
+ querying.aquery('what is 1 + 0', int, protocol='json')
1345
+ ),
1346
+ 1
1347
+ )
1348
+
1339
1349
 
1340
1350
  class QueryInvocationTest(unittest.TestCase):
1341
1351
 
@@ -179,3 +179,31 @@ def _get_first_oneof(value: Any) -> pg.hyper.OneOf:
179
179
  pg.traverse(value, select_oneofs)
180
180
  assert oneofs
181
181
  return oneofs[0]
182
+
183
+
184
+ async def ascore(
185
+ prompt: Union[str, pg.Symbolic] | list[str | pg.Symbolic],
186
+ completions: list[str | pg.Symbolic],
187
+ schema: Union[
188
+ schema_lib.Schema, Type[Any], list[Type[Any]], dict[str, Any], None
189
+ ] = None,
190
+ *,
191
+ lm: lf.LanguageModel | None = None,
192
+ examples: list[mapping.MappingExample] | None = None,
193
+ protocol: schema_lib.SchemaProtocol = 'python',
194
+ return_scoring_results: bool = False,
195
+ **kwargs,
196
+ ) -> list[float] | list[lf.LMScoringResult]:
197
+ """Async version of `lf.score`."""
198
+ # TODO(daiyip): implement native async scoring.
199
+ return await lf.invoke_async(
200
+ score,
201
+ prompt,
202
+ completions,
203
+ schema=schema,
204
+ lm=lm,
205
+ examples=examples,
206
+ protocol=protocol,
207
+ return_scoring_results=return_scoring_results,
208
+ **kwargs,
209
+ )
@@ -12,6 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ import asyncio
15
16
  import unittest
16
17
  import langfun.core as lf
17
18
  from langfun.core.llms import fake
@@ -50,6 +51,13 @@ class ScoringTest(unittest.TestCase):
50
51
  def test_score(self):
51
52
  self.assertEqual(scoring.score('hi', [1, 2], lm=fake.Echo()), [0.0, -1.0])
52
53
 
54
+ def test_ascore(self):
55
+ with lf.context(lm=fake.Echo()):
56
+ self.assertEqual(
57
+ asyncio.run(scoring.ascore('hi', [1, 2], lm=fake.Echo())),
58
+ [0.0, -1.0]
59
+ )
60
+
53
61
  def test_score_on_field_values(self):
54
62
  self.assertEqual(
55
63
  scoring.score(
@@ -62,3 +62,27 @@ def tokenize(
62
62
  lm = lm_override.value
63
63
 
64
64
  return lm.tokenize(input_message)
65
+
66
+
67
+ async def atokenize(
68
+ prompt: Union[str, pg.Symbolic] | list[str | pg.Symbolic],
69
+ schema: Union[
70
+ schema_lib.Schema, Type[Any], list[Type[Any]], dict[str, Any], None
71
+ ] = None,
72
+ *,
73
+ lm: lf.LanguageModel | None = None,
74
+ examples: list[mapping.MappingExample] | None = None,
75
+ protocol: schema_lib.SchemaProtocol = 'python',
76
+ **kwargs,
77
+ ) -> list[tuple[str | bytes, int]]:
78
+ """Async version of `lf.tokenize`."""
79
+ # TODO(daiyip): implement native async tokenization.
80
+ return await lf.invoke_async(
81
+ tokenize,
82
+ prompt,
83
+ schema,
84
+ lm=lm,
85
+ examples=examples,
86
+ protocol=protocol,
87
+ **kwargs,
88
+ )
@@ -12,6 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ import asyncio
15
16
  import unittest
16
17
  import langfun.core as lf
17
18
  from langfun.core.llms import fake
@@ -36,6 +37,13 @@ class TokenizationTest(unittest.TestCase):
36
37
  [('hi', 0)]
37
38
  )
38
39
 
40
+ def test_atokenize(self):
41
+ with lf.context(lm=fake.Echo()):
42
+ self.assertEqual(
43
+ asyncio.run(tokenization.atokenize('hi')),
44
+ [('hi', 0)]
45
+ )
46
+
39
47
  def test_tokenize_with_lm_from_the_context(self):
40
48
  with lf.context(lm=fake.Echo()):
41
49
  self.assertEqual(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langfun
3
- Version: 0.1.2.dev202507250804
3
+ Version: 0.1.2.dev202507270804
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors
@@ -1,15 +1,24 @@
1
1
  langfun/__init__.py,sha256=krEJ1lyDkNARsacY6nBQpD3bQrFi4fifD-FwpwPbFPM,2635
2
- langfun/core/__init__.py,sha256=pW4prpiyWNkRbtWBGYF1thn7_0F_TgDVfAIZPvGn6HA,4758
2
+ langfun/assistant/capabilities/gui/__init__.py,sha256=7-fWINsczHkEAT1hS4vVHnTW3JC_4PZW0E4HfjClOD8,1290
3
+ langfun/assistant/capabilities/gui/bounding_box_parser.py,sha256=wJSEJvt2WFH0o9C3z9uW_vK0qRAJWbkgX5gBAJU7w6k,5832
4
+ langfun/assistant/capabilities/gui/bounding_box_parser_test.py,sha256=9yBvt7fXT_BFVcOXUSm4K0mLdKRYwk2Y9zaCpYYgBnQ,10934
5
+ langfun/assistant/capabilities/gui/drawing.py,sha256=8wgol61P7HovLg5EaevRmDPXTFuIpsfTqhOuksK-1aI,10422
6
+ langfun/assistant/capabilities/gui/drawing_test.py,sha256=d6LQ1ctG78YRi58UVBdndwyEqTC_ITdk191oA3tASxM,3421
7
+ langfun/assistant/capabilities/gui/location.py,sha256=QYJlY5kUNEwiZFiPYRyFAO7bD2ez4jL5hYn1_AK1ulc,8643
8
+ langfun/assistant/capabilities/gui/location_test.py,sha256=pQUOH1sKuAwjTTYKu615RUnecc_lNrddfvkyxf9297w,9051
9
+ langfun/core/__init__.py,sha256=lZQNVBzQa5d6kQFHRwRg9zZqPaEC_-PwAV-73k4fzR4,4854
10
+ langfun/core/async_support.py,sha256=Mzqze88WqWBRRcBVJEQ4H1jRgLwUP43acI0NZ7unZ7M,1022
11
+ langfun/core/async_support_test.py,sha256=lZ4rZ-kWlc94lezTajOVo2OQbxWiHfF6KhKOfMGzELQ,1094
3
12
  langfun/core/component.py,sha256=g1kQM0bryYYYWVDrSMnHfc74wIBbpfe5_B3s-UIP5GE,3028
4
13
  langfun/core/component_test.py,sha256=0CxTgjAud3aj8wBauFhG2FHDqrxCTl4OI4gzQTad-40,9254
5
14
  langfun/core/concurrent.py,sha256=zY-pXqlGqss_GI20tM1gXvyW8QepVPUuFNmutcIdhbI,32760
6
- langfun/core/concurrent_test.py,sha256=fjVcxD_OSH9fBqBEpDpuIVfcfoKZWDtwmkoM2ZMHqy8,17628
15
+ langfun/core/concurrent_test.py,sha256=zrkDid2oHSXJYGPhrQzA_6Af6oHAn9UrnYGZmN00ies,17693
7
16
  langfun/core/console.py,sha256=cLQEf84aDxItA9fStJV22xJch0TqFLNf9hLqwJ0RHmU,2652
8
17
  langfun/core/console_test.py,sha256=pBOcuNMJdVELywvroptfcRtJMsegMm3wSlHAL2TdxVk,1679
9
18
  langfun/core/langfunc.py,sha256=G50YgoVZ0y1GFw2ev41MlOqr6qa8YakbvNC0h_E0PiA,11140
10
19
  langfun/core/langfunc_test.py,sha256=CDn-gJCa5EnjN7cotAVCfSCbuzddq2o-HzEt7kV8HbY,8882
11
- langfun/core/language_model.py,sha256=5i0Je5526JO2YY6qExi6Yf7VQVgSVeZIKOjt3I8kxqQ,49573
12
- langfun/core/language_model_test.py,sha256=9EofP3_gTH28SNWiOKzTUYMHH0EYtbi9xGuT1KZT1XU,37330
20
+ langfun/core/language_model.py,sha256=T3Gyb0-S4uRunO9EotTN5-86Dc3Bw6tE4Db43qDMqOc,51042
21
+ langfun/core/language_model_test.py,sha256=aJWn3UJm_S6U7VhU7EVXdJHPe1xza5glngPkRGtx280,38426
13
22
  langfun/core/logging.py,sha256=7IGAhp7mGokZxxqtL-XZvFLKaZ5k3F5_Xp2NUtR4GwE,9136
14
23
  langfun/core/logging_test.py,sha256=vbVGOQxwMmVSiFfbt2897gUt-8nqDpV64jCAeUG_q5U,6924
15
24
  langfun/core/memory.py,sha256=vyXVvfvSdLLJAzdIupnbn3k26OgclCx-OJ7gddS5e1Y,2070
@@ -26,10 +35,10 @@ langfun/core/subscription_test.py,sha256=Y4ZdbZEwm83YNZBxHff0QR4QUa4rdaNXA3_jfIc
26
35
  langfun/core/template.py,sha256=jNhYSrbLIn9kZOa03w5QZbyjgfnzJzE_ZrrMvvWY4t4,24929
27
36
  langfun/core/template_test.py,sha256=AQv_m9qE93WxhEhSlm1xaBgB4hu0UVtA53dljngkUW0,17090
28
37
  langfun/core/agentic/__init__.py,sha256=qR3jlfUO4rhIoYdRDLz-d22YZf3FvU4FW88vsjiGDQQ,1224
29
- langfun/core/agentic/action.py,sha256=ngBN__OUjMrw4eg8ljHKQ7VY-EABW8T7gF1nw_ZkQmM,50673
38
+ langfun/core/agentic/action.py,sha256=HvCaYb3x9tpa0xhDuFtEGyZ9du_edDpIdaQYPPo87ts,51097
30
39
  langfun/core/agentic/action_eval.py,sha256=YTilyUEkJl_8FVMgdfO17PurWWaEJ6oA15CuefJJRLk,4887
31
40
  langfun/core/agentic/action_eval_test.py,sha256=7AkOwNbUX-ZgR1R0a7bvUZ5abNTUV7blf_8Mnrwb-II,2811
32
- langfun/core/agentic/action_test.py,sha256=46piw5J7vGwmJGjmVG13HQRBmp5TLgkV_ymJ2EQVEIc,15867
41
+ langfun/core/agentic/action_test.py,sha256=5ZUCbyuJDwNCUE_hl4qt5epzQQTRdZEYN5W8J2iKRQo,16084
33
42
  langfun/core/coding/__init__.py,sha256=5utju_fwEsImaiftx4oXKl9FAM8p281k8-Esdh_-m1w,835
34
43
  langfun/core/coding/python/__init__.py,sha256=yTXm92oLpQb4A-fZ2qy-bzfhPYND7B-oidtbv1PNaX0,1678
35
44
  langfun/core/coding/python/correction.py,sha256=4PD76Xfv36Xrm8Ji3-GgGDNImtcDqWfMw3z6ircJMlM,7285
@@ -126,27 +135,27 @@ langfun/core/modalities/pdf.py,sha256=mfaeCbUA4JslFVTARiJh8hW7imvL4tLVw9gUhO5bAZ
126
135
  langfun/core/modalities/pdf_test.py,sha256=ulZ0FbnlsU0wkrdckJ4ONZPTYRyMPO9Aob1UO6FXygk,1950
127
136
  langfun/core/modalities/video.py,sha256=vI9apcHIHGyp90i34Srg7S3G6IBDtDCk8qiXhwRQmkw,967
128
137
  langfun/core/modalities/video_test.py,sha256=7OXZoohKMYjt7vrJUdPb553HLyl1oBOKRgzBePFv68Q,2042
129
- langfun/core/structured/__init__.py,sha256=xWO1RO-gy12REgiPn4oWWALZxJhHtBOOdDsawKN_SfY,3334
130
- langfun/core/structured/completion.py,sha256=yW95Yd4wbt964I5wIyPUtIVeeqeZbA6HidLgN0ZpWm0,8110
131
- langfun/core/structured/completion_test.py,sha256=VtYfI3ciVSSWbi8x3l1WwpWK-Ofn2DMHYEEqm2uTzhw,19314
138
+ langfun/core/structured/__init__.py,sha256=uc9f2DaXcbPRU35CgTpObub6hsnxDCHx-4s149qnzJ0,3655
139
+ langfun/core/structured/completion.py,sha256=B0PHqBucu-keexJUa5g0F9fu57DlLtWDhZzJ-OD4VrE,8823
140
+ langfun/core/structured/completion_test.py,sha256=-SGcMgtLuS6RQB8gFh18dUkSMQMDWKZGmBkPsAYHApQ,20348
132
141
  langfun/core/structured/description.py,sha256=6BztYOiucPkF4CrTQtPLPJo1gN2dwnKmaJW83GBf4H0,5213
133
142
  langfun/core/structured/description_test.py,sha256=UxaXnKKP7TnyPDPUyf3U-zPE0TvLlIP6DGr8thjcePw,7365
134
143
  langfun/core/structured/function_generation.py,sha256=g7AOR_e8HxFU6n6Df750aGkgMgV1KExLZMAz0yd5Agg,8555
135
144
  langfun/core/structured/function_generation_test.py,sha256=LaXYDXf9GlqUrR6v_gtmK_H4kxzonmU7SYbn7XXMgjU,12128
136
145
  langfun/core/structured/mapping.py,sha256=1YBW8PKpJKXS7DKukfzKNioL84PrKUcB4KOUudrQ20w,14374
137
146
  langfun/core/structured/mapping_test.py,sha256=OntYvfDitAf0tAnzQty3YS90vyEn6FY1Mi93r_ViEk8,9594
138
- langfun/core/structured/parsing.py,sha256=MGvI7ypXlwfzr5XB8_TFU9Ei0_5reYqkWkv64eAy0EA,12015
139
- langfun/core/structured/parsing_test.py,sha256=V8Cj1tJK4Lxv_b0YQj6-2hzXZgnYNBa2JR7rOLRBKoQ,22346
140
- langfun/core/structured/querying.py,sha256=vE_NOLNlIe4A0DueQfyiBEUh3AsSD8Hhx2dSDHNYpYk,37976
141
- langfun/core/structured/querying_test.py,sha256=Q0HwmbUI9BqMaeN8vgn_EvX29CzfcomGIKVqKJ6dZyY,50212
147
+ langfun/core/structured/parsing.py,sha256=bLi7o1AdyDWc6TwxmYg70t_oTgmLkJWBafakdF8n2RI,14195
148
+ langfun/core/structured/parsing_test.py,sha256=vRfCSzA9q7C1cElkAnDvbRepULEa_vclqDIv-heypDw,22745
149
+ langfun/core/structured/querying.py,sha256=LV7ZCiVx2ef1Qx_ONwexzSvCSBSq1V41E8RdxHDGP-g,39225
150
+ langfun/core/structured/querying_test.py,sha256=klj9OmLKzJbsTYSil58Lex_PVaIlt3ngWQziibg9i4g,50464
142
151
  langfun/core/structured/schema.py,sha256=xtgrr3t5tcYQ2gi_fkTKz2IgDMf84gpiykmBdfnV6Io,29486
143
152
  langfun/core/structured/schema_generation.py,sha256=pEWeTd8tQWYnEHukas6GVl4uGerLsQ2aNybtnm4Qgxc,5352
144
153
  langfun/core/structured/schema_generation_test.py,sha256=RM9s71kMNg2jTePwInkiW9fK1ACN37eyPeF8OII-0zw,2950
145
154
  langfun/core/structured/schema_test.py,sha256=H42ZZdPi8CIv7WzrnXwMwQQaPQxlmDSY31pfqQs-Xqw,26567
146
- langfun/core/structured/scoring.py,sha256=Y7Jqs5VVjUQLF_9Z1uIY_dw5zasv2FF52Cz-cxGMsro,5857
147
- langfun/core/structured/scoring_test.py,sha256=QvlwDAzwuamKL5tCotm1L3Sx0cs3idoNK4aIEhaO4Yk,2272
148
- langfun/core/structured/tokenization.py,sha256=-b4_693quHeYn2AqndwucuXNmhd5NVXVTU3mmDane98,2189
149
- langfun/core/structured/tokenization_test.py,sha256=dVW30kGYkX2HNtiRZe1oTmXFP7iIK6PrlKCttZ3QXe4,1311
155
+ langfun/core/structured/scoring.py,sha256=59B6zJt190EtwT2aIgVvCL7X1k8Nk5d1m0OSI4qbBqk,6671
156
+ langfun/core/structured/scoring_test.py,sha256=msxtZX1MWgoLTWkmM-McbUo-qGev0uDdlXLm4kPiIiE,2473
157
+ langfun/core/structured/tokenization.py,sha256=zAfzS8OOjMEz_GqGiTs3GGplPEwvkdCb_EoGF96Lwz4,2845
158
+ langfun/core/structured/tokenization_test.py,sha256=8IXndRokZmlLPZD_jIitfhgcRxBjmG09PhT-WLHe9dw,1499
150
159
  langfun/core/templates/__init__.py,sha256=bO0eMsVJbi7sxEB2YlInKRQ2EVP-RyyKUwcD-8msuN4,927
151
160
  langfun/core/templates/completion.py,sha256=mUqZHOEV3ag6-A08XghpeEltcrBvCDxXP004eDDfeag,1931
152
161
  langfun/core/templates/completion_test.py,sha256=vGnjnM38UHyVDUyaUYtmp20s9KBGOdbPVsX-H-ET11E,1636
@@ -156,8 +165,8 @@ langfun/core/templates/demonstration.py,sha256=vCrgYubdZM5Umqcgp8NUVGXgr4P_c-fik
156
165
  langfun/core/templates/demonstration_test.py,sha256=SafcDQ0WgI7pw05EmPI2S4v1t3ABKzup8jReCljHeK4,2162
157
166
  langfun/core/templates/selfplay.py,sha256=yhgrJbiYwq47TgzThmHrDQTF4nDrTI09CWGhuQPNv-s,2273
158
167
  langfun/core/templates/selfplay_test.py,sha256=Ot__1P1M8oJfoTp-M9-PQ6HUXqZKyMwvZ5f7yQ3yfyM,2326
159
- langfun-0.1.2.dev202507250804.dist-info/licenses/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
160
- langfun-0.1.2.dev202507250804.dist-info/METADATA,sha256=OijvzDGb01eLWEje73bqNewaGsyvQVLL8E-QFoOF3GU,7380
161
- langfun-0.1.2.dev202507250804.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
162
- langfun-0.1.2.dev202507250804.dist-info/top_level.txt,sha256=RhlEkHxs1qtzmmtWSwYoLVJAc1YrbPtxQ52uh8Z9VvY,8
163
- langfun-0.1.2.dev202507250804.dist-info/RECORD,,
168
+ langfun-0.1.2.dev202507270804.dist-info/licenses/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
169
+ langfun-0.1.2.dev202507270804.dist-info/METADATA,sha256=0kGoB8x8d243d-yz6OR4UrWup-NoUTizdYWsT72uLtk,7380
170
+ langfun-0.1.2.dev202507270804.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
171
+ langfun-0.1.2.dev202507270804.dist-info/top_level.txt,sha256=RhlEkHxs1qtzmmtWSwYoLVJAc1YrbPtxQ52uh8Z9VvY,8
172
+ langfun-0.1.2.dev202507270804.dist-info/RECORD,,