lionagi 0.15.13__py3-none-any.whl → 0.16.0__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.
Files changed (42) hide show
  1. lionagi/config.py +1 -0
  2. lionagi/libs/validate/fuzzy_match_keys.py +5 -182
  3. lionagi/libs/validate/string_similarity.py +6 -331
  4. lionagi/ln/__init__.py +56 -66
  5. lionagi/ln/_async_call.py +13 -10
  6. lionagi/ln/_hash.py +33 -8
  7. lionagi/ln/_list_call.py +2 -35
  8. lionagi/ln/_to_list.py +51 -28
  9. lionagi/ln/_utils.py +156 -0
  10. lionagi/ln/concurrency/__init__.py +39 -31
  11. lionagi/ln/concurrency/_compat.py +65 -0
  12. lionagi/ln/concurrency/cancel.py +92 -109
  13. lionagi/ln/concurrency/errors.py +17 -17
  14. lionagi/ln/concurrency/patterns.py +249 -206
  15. lionagi/ln/concurrency/primitives.py +257 -216
  16. lionagi/ln/concurrency/resource_tracker.py +42 -155
  17. lionagi/ln/concurrency/task.py +55 -73
  18. lionagi/ln/concurrency/throttle.py +3 -0
  19. lionagi/ln/concurrency/utils.py +1 -0
  20. lionagi/ln/fuzzy/__init__.py +15 -0
  21. lionagi/ln/{_extract_json.py → fuzzy/_extract_json.py} +22 -9
  22. lionagi/ln/{_fuzzy_json.py → fuzzy/_fuzzy_json.py} +14 -8
  23. lionagi/ln/fuzzy/_fuzzy_match.py +172 -0
  24. lionagi/ln/fuzzy/_fuzzy_validate.py +46 -0
  25. lionagi/ln/fuzzy/_string_similarity.py +332 -0
  26. lionagi/ln/{_models.py → types.py} +153 -4
  27. lionagi/operations/flow.py +2 -1
  28. lionagi/operations/operate/operate.py +26 -16
  29. lionagi/protocols/contracts.py +46 -0
  30. lionagi/protocols/generic/event.py +6 -6
  31. lionagi/protocols/generic/processor.py +9 -5
  32. lionagi/protocols/ids.py +82 -0
  33. lionagi/protocols/types.py +10 -12
  34. lionagi/service/connections/match_endpoint.py +9 -0
  35. lionagi/service/connections/providers/nvidia_nim_.py +100 -0
  36. lionagi/utils.py +34 -64
  37. lionagi/version.py +1 -1
  38. {lionagi-0.15.13.dist-info → lionagi-0.16.0.dist-info}/METADATA +4 -2
  39. {lionagi-0.15.13.dist-info → lionagi-0.16.0.dist-info}/RECORD +41 -33
  40. lionagi/ln/_types.py +0 -146
  41. {lionagi-0.15.13.dist-info → lionagi-0.16.0.dist-info}/WHEEL +0 -0
  42. {lionagi-0.15.13.dist-info → lionagi-0.16.0.dist-info}/licenses/LICENSE +0 -0
@@ -2,11 +2,11 @@ lionagi/__init__.py,sha256=HZmhhYeplh06qAJQ7cW8JUlJsqG_Q4JKJ3GGFW_ZQnw,682
2
2
  lionagi/_class_registry.py,sha256=pfUO1DjFZIqr3OwnNMkFqL_fiEBrrf8-swkGmP_KDLE,3112
3
3
  lionagi/_errors.py,sha256=ia_VWhPSyr5FIJLSdPpl04SrNOLI2skN40VC8ePmzeQ,3748
4
4
  lionagi/_types.py,sha256=j8XwSGeGrYwfmSJ8o-80bsfoalLWJgQH41ZkVevc4wk,75
5
- lionagi/config.py,sha256=W3JOC_TFad8hFkpTG8yv0-GNupa7x3wX4NAUfWpB59U,3763
5
+ lionagi/config.py,sha256=D13nnjpgJKz_LlQrzaKKVefm4hqesz_dP9ROjWmGuLE,3811
6
6
  lionagi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  lionagi/settings.py,sha256=HDuKCEJCpc4HudKodBnhoQUGuTGhRHdlIFhbtf3VBtY,1633
8
- lionagi/utils.py,sha256=7Hlt60LiShRdNPXv4y2e_xq7W2N0PM5cGRJnc8qXAVw,28660
9
- lionagi/version.py,sha256=6AIqVLeKq3uS7QeuesqvTQrN9gWiCBFTAygmSJRA6-0,24
8
+ lionagi/utils.py,sha256=cFUhOL2clDwsRnBjNdysnK-_0Z9SmejPIkg6_i2jLXE,27512
9
+ lionagi/version.py,sha256=3Msc5baw88UJubVj5AVFB8tExkT2OFIsNWe2leaoHhc,23
10
10
  lionagi/adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  lionagi/adapters/_utils.py,sha256=n4DS27CZfC-0O_UFaYtlUdjiMx9IeYsGpP7MVaFO5ZA,885
12
12
  lionagi/adapters/async_postgres_adapter.py,sha256=OEJd9ie8prxRQK2_-W9qmdI3Sl6Q7xxRs7Vey16G3pQ,3172
@@ -75,31 +75,36 @@ lionagi/libs/unstructured/pdf_to_image.py,sha256=lJ2CVxOYh61-3-55nusHXMOGqtEyLXs
75
75
  lionagi/libs/unstructured/read_image_to_base64.py,sha256=EJXWBJxCTa9vHBIFPRqQj0jeFXyDv1cs2oPBrWt-waQ,897
76
76
  lionagi/libs/validate/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
77
77
  lionagi/libs/validate/common_field_validators.py,sha256=1BHznXnJYcLQrHqvHKUnP6aqCptuQ0qN7KJRCExcJBU,4778
78
- lionagi/libs/validate/fuzzy_match_keys.py,sha256=M4EfpeWKE1eACLxeC4K-VDmHZXMRHeGUkDFbfny80AM,6255
78
+ lionagi/libs/validate/fuzzy_match_keys.py,sha256=Nec5W1CVdmUgzcyDHcHiaELY6tFsicjbVsMI5dsIilk,190
79
79
  lionagi/libs/validate/fuzzy_validate_mapping.py,sha256=MZpRop3whCQQtgYwJgg66nbN0KxNuKXqulaAgA0Y1_g,4935
80
- lionagi/libs/validate/string_similarity.py,sha256=axgLjDgDfBT-soxZFU2iH2bZYmGePSzc9Mxl3WlOxAA,8718
80
+ lionagi/libs/validate/string_similarity.py,sha256=kuOQFNnI773bV8KKj_PUYxx8vLRdWay8PhuvkOWsU9E,186
81
81
  lionagi/libs/validate/to_num.py,sha256=ZRHDjpTCykPfDIZZa4rZKNaR_8ZHbPDFlw9rc02DrII,11610
82
82
  lionagi/libs/validate/validate_boolean.py,sha256=bjiX_WZ3Bg8XcqoWLzE1G9BpO0AisrlZUxrpye_mlGk,3614
83
83
  lionagi/libs/validate/xml_parser.py,sha256=PHBYAre4hhthPpDP9Yrp3UYSWdANPx60F1qhxe0m4uw,7004
84
- lionagi/ln/__init__.py,sha256=aunFi1qRkEuTzdcrkN9pv499aynmQdjlNbJJBRPwRvc,1754
85
- lionagi/ln/_async_call.py,sha256=pRwJqUELQ22YMiLVv4zS-NSuTGHftqBvxSnt5P_ReZk,9390
86
- lionagi/ln/_extract_json.py,sha256=K82UBoVQbb6hib9bIqnYgFFYefvw7hIx11D6NKMZfws,1843
87
- lionagi/ln/_fuzzy_json.py,sha256=zJGyyBoEidLFSIF9i8sactTrQOhyAecQhtvhls9w4mU,3541
88
- lionagi/ln/_hash.py,sha256=g20yJfuVhAsfsBOWlkO889DHte6cbUCl6vV5QMT8nUo,3499
84
+ lionagi/ln/__init__.py,sha256=w38jHMfmmdUJc6_ZVo5x7Ieh2ugmbcTxkb4yLlmmAHI,1487
85
+ lionagi/ln/_async_call.py,sha256=mnqq5l-hNIBWrWh7X7CtmwPafg1kT-lnWWm3nJnbPoI,9384
86
+ lionagi/ln/_hash.py,sha256=WLwKsbJISE7KtOrpiE30AFtfwyOCSBjb1GslBlvj5ac,4529
89
87
  lionagi/ln/_json_dump.py,sha256=M4ceccjkU7AN6wd5fUWKFmHytE-EVe8wqoQEFP0OkoA,2026
90
- lionagi/ln/_list_call.py,sha256=oDCyTzz7F7KVAMjekKftJp7qgIZ9Yo8BUNMHasKoJhU,3935
91
- lionagi/ln/_models.py,sha256=Txhdtp2YNq6ZsK9kLza40hRpWu27DzaVNMthCG7-zJM,4786
92
- lionagi/ln/_to_list.py,sha256=DKjZAah6pm6frHls773yTMVK1I3OY7qxwLemOjRPr5A,5600
93
- lionagi/ln/_types.py,sha256=usVaL2tGnYVQ2W12eUhJYiXY-m55b_5e0tUOFcuDtkc,3607
94
- lionagi/ln/concurrency/__init__.py,sha256=Sv1LEvwN1hRESLtuYM5UltyJqx6DRsHvGmr8aof16cA,1286
95
- lionagi/ln/concurrency/cancel.py,sha256=TYLxQ1D7mqhs8J4qJ_yTqP0j01zBe-Qed8-YnJlgKi0,4018
96
- lionagi/ln/concurrency/errors.py,sha256=FhLgXGFSbKZYPNfXjdnkV-0ShPF_S34RBLyTO_Pk5C8,938
97
- lionagi/ln/concurrency/patterns.py,sha256=dlC7nhIYE-D5VySNAPsd6PYYlORRAqNX50oKJRR1PO8,7796
98
- lionagi/ln/concurrency/primitives.py,sha256=fgml37nggaEGuvAJHQY6-rpSuAuei56YVSjTlIieM2o,8996
99
- lionagi/ln/concurrency/resource_tracker.py,sha256=52Rq7yMWK7DlebBW90imSjYeEAp8Gp9nL0dG2PD8Ivs,5464
100
- lionagi/ln/concurrency/task.py,sha256=nVts_yPylkZVSk3l3I4MkUdC7rhoN2qQeFfrsvekVgE,3146
101
- lionagi/ln/concurrency/throttle.py,sha256=Ho5zh_3beSXi9cMDDj70xz447BLzBJVopnUlQ18k9Lc,2198
102
- lionagi/ln/concurrency/utils.py,sha256=4TvDnPKhtbesb6YWZ9QlhskiOb07ai_eJ-PrmqY14IE,346
88
+ lionagi/ln/_list_call.py,sha256=zvISmCeNAH7yjBcusQI1s17n556tILgePhRMdAM2plA,2831
89
+ lionagi/ln/_to_list.py,sha256=YOlrMplSpQhXDSTK4fkMF7Mhuw1wS0jGip5mS88Otro,6610
90
+ lionagi/ln/_utils.py,sha256=5Z_AsDxdtH5wNB-P4IiihhH0dYUcZMT-hTxFQBQPwL0,4303
91
+ lionagi/ln/types.py,sha256=MfLUa5iZnOdAJI4owNXA-w41l1ZL7Fs8DVE4OGXQPF8,8517
92
+ lionagi/ln/concurrency/__init__.py,sha256=xt_GLZ1Zb-nC-RnrNt8jOBWb_uf1md__B1R5cplMShg,1190
93
+ lionagi/ln/concurrency/_compat.py,sha256=itxdRzl95PLEBQvNY0zTriF39kymaNRpKncT8QsOomA,2065
94
+ lionagi/ln/concurrency/cancel.py,sha256=8JlWy_EVto4Fls1yQLBteCbpn4zP6ydnqIa_EL5kxZc,3313
95
+ lionagi/ln/concurrency/errors.py,sha256=Tg76ods-CG_9rz7TksTiRGqpTzWHi-Wm9JPotGB9iEM,869
96
+ lionagi/ln/concurrency/patterns.py,sha256=08eebVxbBxkcMFgJqZB-cXS7lRZduH1Y-zorb8fTTZs,9447
97
+ lionagi/ln/concurrency/primitives.py,sha256=-mXU-mUThbr9YUH2viw8mY5iOuKn5E5CoiTlG41NO3k,9543
98
+ lionagi/ln/concurrency/resource_tracker.py,sha256=ffLr0FkHyaHsUa4UDyWwse-8wGLaLMnAyfyeTDyzrDA,1512
99
+ lionagi/ln/concurrency/task.py,sha256=VS5keFI3Ct0fqCKbFl4kEWT5I2CgjIYizPU-S2YjGKo,2675
100
+ lionagi/ln/concurrency/throttle.py,sha256=yUAM4hnone6VzlFEos0fWERkZU9YC4J6TncZL-MqkG4,2319
101
+ lionagi/ln/concurrency/utils.py,sha256=MUWupnFtWxR15hWnligLZrS4Z1SAQ7j3cuCG08cK3GQ,431
102
+ lionagi/ln/fuzzy/__init__.py,sha256=_OE6Scyw99uU7gcCmYS4mB29LrpPayUJXeYlGhZTjlg,445
103
+ lionagi/ln/fuzzy/_extract_json.py,sha256=rYHaK36yzRpie8qO-T7mZKOue2yqCLx3ixiuKhsaKvg,2224
104
+ lionagi/ln/fuzzy/_fuzzy_json.py,sha256=S0lCkNvprn7XZHoYdRfzXueexSbjxTeLPkpyJ9IAO3A,3860
105
+ lionagi/ln/fuzzy/_fuzzy_match.py,sha256=MBL2qB180MsGkIvhiHQpVObfikBFjcLcFWG9T6vLZQ0,5915
106
+ lionagi/ln/fuzzy/_fuzzy_validate.py,sha256=ISC6EulV9VhIfR5Hh8JIq6WMcZOqt3AJPLUY6ZqpM1Y,1458
107
+ lionagi/ln/fuzzy/_string_similarity.py,sha256=axgLjDgDfBT-soxZFU2iH2bZYmGePSzc9Mxl3WlOxAA,8718
103
108
  lionagi/models/__init__.py,sha256=R7DEGWuhH-izP7eN6SOw24-I4Mr2IVPXF4gNysmF2zQ,457
104
109
  lionagi/models/field_model.py,sha256=JdmCp2pmwoy5HuduF21ivqyvMaJ04CTXu6Un-AeSwLU,23652
105
110
  lionagi/models/hashable_model.py,sha256=oOqR3OJCU9cJfWHiG0WaEw0GMqfE2WTt4cy7WsAsiRg,829
@@ -109,7 +114,7 @@ lionagi/models/operable_model.py,sha256=Zm_Hxdauqyh0za3_TJLCZ3g6nR4F45Rrnc0ZM3d5
109
114
  lionagi/models/schema_model.py,sha256=ghRIM8aBNaToAknwNlhQKpuKXcwzyCw5pDE31bVKxs0,667
110
115
  lionagi/operations/__init__.py,sha256=a1EqxC5jRgVM1z_srZsxXtTC2Q6iA79ofpcd7cyT3B8,632
111
116
  lionagi/operations/builder.py,sha256=tMl3zZkp-dQAdR27chrAmjmYVaJGshP7tf6AyNJyCUw,23177
112
- lionagi/operations/flow.py,sha256=JB0SnVZbqLJc9cRGHy_p7QKvTBcB63H9n1iDyhWJDRo,22202
117
+ lionagi/operations/flow.py,sha256=ZfCN_xlPuI2ZJAPL4opYNkTvNMaVQxTq-HKRZ4Lybjk,22248
113
118
  lionagi/operations/manager.py,sha256=YZr3VjPAZVVFd_bIjF1aoQqzzKZHNA1kcqefNi5QFFM,683
114
119
  lionagi/operations/node.py,sha256=qmjhv-8UzQMO5ocBlNWuv9nqQiLh5CV7AW_tno8jIUM,3183
115
120
  lionagi/operations/types.py,sha256=fM8HphnbBifMzhoKKvdl3JxGCBHlEGPJEYkLWj9b7vE,704
@@ -131,7 +136,7 @@ lionagi/operations/instruct/instruct.py,sha256=7pxhyP5jxwpgqjmQNb1rnGF4QAVlbMENp
131
136
  lionagi/operations/interpret/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
132
137
  lionagi/operations/interpret/interpret.py,sha256=yl1NSp2iOm3dbycVLEcnV3absnqKoubfH15v6lQgySU,1500
133
138
  lionagi/operations/operate/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
134
- lionagi/operations/operate/operate.py,sha256=G-VGjvhKxxgQLyoxigOYcYHMOazyM1ESQMfbrM33SPM,7233
139
+ lionagi/operations/operate/operate.py,sha256=SHk-BqjUWnN5aT7Xrm3lzR6yDppq_i2sbN8Iny8PelE,7512
135
140
  lionagi/operations/parse/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
136
141
  lionagi/operations/parse/parse.py,sha256=xS9uIxBzHLGD-1VpBVgGUhxF-tQDkF2KLmIpErM47RQ,6661
137
142
  lionagi/operations/plan/__init__.py,sha256=yGBPll6lOqVjadbTvDLGrTlMx3FfBW-e00z7AMvg7Uo,156
@@ -144,7 +149,9 @@ lionagi/operations/translate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
144
149
  lionagi/operations/translate/translate.py,sha256=6eBVoQRarGEJ8Tfcl6Z__PLHQTTIbM5MaPVYNeKHRIs,1397
145
150
  lionagi/protocols/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
146
151
  lionagi/protocols/_concepts.py,sha256=ZBN5OYpLMWLrl9uZqSg9GD4uwf60V4VHcxRnBTRWIRc,1555
147
- lionagi/protocols/types.py,sha256=rc1RZSxNEHSrOw72IIlWXI8vzgEmCGkZI98GIYG6sTU,2505
152
+ lionagi/protocols/contracts.py,sha256=ii7luaPJsEKOb3J-rcaNysPDGU3nEzpgy_8g1z5_CCA,1398
153
+ lionagi/protocols/ids.py,sha256=RM40pP_4waMJcfCGmEK_PfS8-k_DuDbC1fG-2Peuf6s,2472
154
+ lionagi/protocols/types.py,sha256=EEmgYcaMCbgLU2rk7lTyKyRh_B15BeMccciv097j3Eg,2828
148
155
  lionagi/protocols/action/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
149
156
  lionagi/protocols/action/function_calling.py,sha256=rfuzIowjJpyqO5Ynfs5fGnxsDIU5aKinTj1NI6bGlEU,5106
150
157
  lionagi/protocols/action/manager.py,sha256=XmdQIaVgSpmFBFW9kbW_rdwdQmlBteP4VRanxh_f918,8549
@@ -156,10 +163,10 @@ lionagi/protocols/forms/form.py,sha256=B4903km_Ljz-OxYkb1ZT_cpHZSaAYYJpZMsffWloo
156
163
  lionagi/protocols/forms/report.py,sha256=SvJJjOSCTfVuqK7AKaY8ldQIGJeSK2zoyPWUV41ge2c,1609
157
164
  lionagi/protocols/generic/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
158
165
  lionagi/protocols/generic/element.py,sha256=5R9cLodaPzSPbellgFEudRxZIOMJDiCV8emyQKuEbPI,18621
159
- lionagi/protocols/generic/event.py,sha256=Rwke4sNLddQlJ8PTu-dTPZYBy1qmwaLAERbOLd_udpg,6512
166
+ lionagi/protocols/generic/event.py,sha256=n5EraAJ5bPiwegTdkxsILs7-vFJwmnXhB2om4xMQnK0,6529
160
167
  lionagi/protocols/generic/log.py,sha256=Y06zAQewkNlaIWjut_c6c45KY_LJfLHwzUaDGLULaas,8212
161
168
  lionagi/protocols/generic/pile.py,sha256=mc10zh9RdqfozPEBOgRdkrTgIWUHBz8enAcQ-8pFhRQ,37046
162
- lionagi/protocols/generic/processor.py,sha256=GvHblXvOaZJ485L3bWcV3S4w9x0GYxWH-LkPXv00zMI,11700
169
+ lionagi/protocols/generic/processor.py,sha256=uiNIldAYPEujuboLFyrIJADMlhRghy3H86hYintj5D4,11705
163
170
  lionagi/protocols/generic/progression.py,sha256=HCV_EnQCFvjg6D7eF4ygGrZNQPEOtu75zvW1sJbAVrM,15190
164
171
  lionagi/protocols/graph/__init__.py,sha256=UPu3OmUpjSgX2aBuBJUdG2fppGlfqAH96hU0qIMBMp0,253
165
172
  lionagi/protocols/graph/_utils.py,sha256=mts4M2wcGKdY9hC-1917lxIJT5oycW9VnRgfRx8ydbI,605
@@ -203,12 +210,13 @@ lionagi/service/connections/api_calling.py,sha256=fY-fzwSJvQKpUT27TF0MTfE5TxroYK
203
210
  lionagi/service/connections/endpoint.py,sha256=UYjryqKF4uEaGzDP9vYrav-0Xr6tDR6J9FM_kwqR87Q,14832
204
211
  lionagi/service/connections/endpoint_config.py,sha256=6sA06uCzriT6p0kFxhDCFH8N6V6MVp8ytlOw5ctBhDI,5169
205
212
  lionagi/service/connections/header_factory.py,sha256=IYeTQQk7r8FXcdhmW7orCxHjNO-Nb1EOXhgNK7CAp-I,1821
206
- lionagi/service/connections/match_endpoint.py,sha256=kHAs6FmWJWjIn4CO7FwZVi8w1lYcvu2vGSf9ww2sCG4,2470
213
+ lionagi/service/connections/match_endpoint.py,sha256=Df5v3bprnJq5CqOzuK0KzwawOIfAsGZZM4CnE-sliu4,2850
207
214
  lionagi/service/connections/providers/__init__.py,sha256=3lzOakDoBWmMaNnT2g-YwktPKa_Wme4lnPRSmOQfayY,105
208
215
  lionagi/service/connections/providers/anthropic_.py,sha256=vok8mIyFiuV3K83tOjdYfruA6cv1h_57ML6RtpuW-bU,3157
209
216
  lionagi/service/connections/providers/claude_code_.py,sha256=dix4VoR2YwRabJ0F8I3mV8sVtRQEquExqP6mfbE_rGk,10435
210
217
  lionagi/service/connections/providers/claude_code_cli.py,sha256=kqEOnCUOOh2O_3NGi6W7r-gdLsbW-Jcp11tm30VEv4Q,4455
211
218
  lionagi/service/connections/providers/exa_.py,sha256=kuWD7yyYRqIa4ChSn0TsxFA5V5LwvFUD-w8TZ6mx4rk,1048
219
+ lionagi/service/connections/providers/nvidia_nim_.py,sha256=95vmo0DSONYBVHkR9SGJ5BiHNKFZNZBrjw4_7ShOXQA,3154
212
220
  lionagi/service/connections/providers/oai_.py,sha256=3x5d6Ei1hKu8Mix0N2V2K21O9dd-2jtAELHhHXj5iHk,6071
213
221
  lionagi/service/connections/providers/ollama_.py,sha256=oqYLWn81KrWoQgId4e4GD_bgrDjQLPOmhqlc5uBuFGk,4569
214
222
  lionagi/service/connections/providers/perplexity_.py,sha256=1GMmxAXsKGsB-xlqxO6hW-QdqoqkU2705NLyejetFSw,1646
@@ -235,7 +243,7 @@ lionagi/tools/types.py,sha256=XtJLY0m-Yi_ZLWhm0KycayvqMCZd--HxfQ0x9vFUYDE,230
235
243
  lionagi/tools/file/__init__.py,sha256=5y5joOZzfFWERl75auAcNcKC3lImVJ5ZZGvvHZUFCJM,112
236
244
  lionagi/tools/file/reader.py,sha256=2YKgU3VKo76zfL_buDAUQJoPLC56f6WJ4_mdJjlMDIM,9509
237
245
  lionagi/tools/memory/tools.py,sha256=earYkKxSOz_iXkqVZYTEDfE3dwZYIWPXZrqQ1DYGz4I,15941
238
- lionagi-0.15.13.dist-info/METADATA,sha256=gEYHcdvOzt-bHqXoLJsguGdJTqDtYkISaxtv5tKVdGE,23052
239
- lionagi-0.15.13.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
240
- lionagi-0.15.13.dist-info/licenses/LICENSE,sha256=VXFWsdoN5AAknBCgFqQNgPWYx7OPp-PFEP961zGdOjc,11288
241
- lionagi-0.15.13.dist-info/RECORD,,
246
+ lionagi-0.16.0.dist-info/METADATA,sha256=GGDAE5nFDfUE01hTZxmw1FWJ8XwSnPSsxNoNuHHQR1g,23119
247
+ lionagi-0.16.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
248
+ lionagi-0.16.0.dist-info/licenses/LICENSE,sha256=VXFWsdoN5AAknBCgFqQNgPWYx7OPp-PFEP961zGdOjc,11288
249
+ lionagi-0.16.0.dist-info/RECORD,,
lionagi/ln/_types.py DELETED
@@ -1,146 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from enum import Enum as _Enum
4
- from typing import Any, Final, Literal, TypeVar, Union
5
-
6
- from typing_extensions import TypedDict
7
-
8
- __all__ = (
9
- "Undefined",
10
- "Unset",
11
- "MaybeUndefined",
12
- "MaybeUnset",
13
- "MaybeSentinel",
14
- "SingletonType",
15
- "UndefinedType",
16
- "UnsetType",
17
- "KeysDict",
18
- "T",
19
- "Enum",
20
- "is_sentinel",
21
- "not_sentinel",
22
- )
23
-
24
- T = TypeVar("T")
25
-
26
-
27
- class _SingletonMeta(type):
28
- """Metaclass that guarantees exactly one instance per subclass.
29
-
30
- This ensures that sentinel values maintain identity across the entire application,
31
- allowing safe identity checks with 'is' operator.
32
- """
33
-
34
- _cache: dict[type, SingletonType] = {}
35
-
36
- def __call__(cls, *a, **kw):
37
- if cls not in cls._cache:
38
- cls._cache[cls] = super().__call__(*a, **kw)
39
- return cls._cache[cls]
40
-
41
-
42
- class SingletonType(metaclass=_SingletonMeta):
43
- """Base class for singleton sentinel types.
44
-
45
- Provides consistent interface for sentinel values with:
46
- - Identity preservation across deepcopy
47
- - Falsy boolean evaluation
48
- - Clear string representation
49
- """
50
-
51
- __slots__: tuple[str, ...] = ()
52
-
53
- def __deepcopy__(self, memo): # copy & deepcopy both noop
54
- return self
55
-
56
- def __copy__(self):
57
- return self
58
-
59
- # concrete classes *must* override the two methods below
60
- def __bool__(self) -> bool: ...
61
- def __repr__(self) -> str: ...
62
-
63
-
64
- class UndefinedType(SingletonType):
65
- """Sentinel for a key or field entirely missing from a namespace.
66
-
67
- Use this when:
68
- - A field has never been set
69
- - A key doesn't exist in a mapping
70
- - A value is conceptually undefined (not just unset)
71
-
72
- Example:
73
- >>> d = {"a": 1}
74
- >>> d.get("b", Undefined) is Undefined
75
- True
76
- """
77
-
78
- __slots__ = ()
79
-
80
- def __bool__(self) -> Literal[False]:
81
- return False
82
-
83
- def __repr__(self) -> Literal["Undefined"]:
84
- return "Undefined"
85
-
86
- def __str__(self) -> Literal["Undefined"]:
87
- return "Undefined"
88
-
89
-
90
- class UnsetType(SingletonType):
91
- """Sentinel for a key present but value not yet provided.
92
-
93
- Use this when:
94
- - A parameter exists but hasn't been given a value
95
- - Distinguishing between None and "not provided"
96
- - API parameters that are optional but need explicit handling
97
-
98
- Example:
99
- >>> def func(param=Unset):
100
- ... if param is not Unset:
101
- ... # param was explicitly provided
102
- ... process(param)
103
- """
104
-
105
- __slots__ = ()
106
-
107
- def __bool__(self) -> Literal[False]:
108
- return False
109
-
110
- def __repr__(self) -> Literal["Unset"]:
111
- return "Unset"
112
-
113
- def __str__(self) -> Literal["Unset"]:
114
- return "Unset"
115
-
116
-
117
- Undefined: Final = UndefinedType()
118
- """A key or field entirely missing from a namespace"""
119
- Unset: Final = UnsetType()
120
- """A key present but value not yet provided."""
121
-
122
- MaybeUndefined = Union[T, UndefinedType]
123
- MaybeUnset = Union[T, UnsetType]
124
- MaybeSentinel = Union[T, UndefinedType, UnsetType]
125
-
126
-
127
- def is_sentinel(value: Any) -> bool:
128
- """Check if a value is any sentinel (Undefined or Unset)."""
129
- return value is Undefined or value is Unset
130
-
131
-
132
- def not_sentinel(value: Any) -> bool:
133
- """Check if a value is NOT a sentinel. Useful for filtering operations."""
134
- return value is not Undefined and value is not Unset
135
-
136
-
137
- class Enum(_Enum):
138
- @classmethod
139
- def allowed(cls) -> tuple[str, ...]:
140
- return tuple(e.value for e in cls)
141
-
142
-
143
- class KeysDict(TypedDict, total=False):
144
- """TypedDict for keys dictionary."""
145
-
146
- key: Any # Represents any key-type pair