lionagi 0.2.1__py3-none-any.whl → 0.2.3__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. lionagi/__init__.py +2 -1
  2. lionagi/core/engine/branch_engine.py +4 -4
  3. lionagi/core/generic/graph.py +10 -3
  4. lionagi/core/generic/node.py +5 -1
  5. lionagi/core/report/base.py +1 -0
  6. lionagi/core/work/work_edge.py +96 -0
  7. lionagi/core/work/work_function.py +29 -6
  8. lionagi/core/work/work_function_node.py +44 -0
  9. lionagi/core/work/work_queue.py +20 -18
  10. lionagi/core/work/work_task.py +155 -0
  11. lionagi/core/work/worker.py +164 -39
  12. lionagi/core/work/worker_engine.py +179 -0
  13. lionagi/core/work/worklog.py +5 -3
  14. lionagi/tests/api/__init__.py +0 -0
  15. lionagi/tests/api/aws/__init__.py +0 -0
  16. lionagi/tests/api/aws/conftest.py +28 -0
  17. lionagi/tests/api/aws/test_aws_s3.py +7 -0
  18. lionagi/tests/test_core/generic/test_structure.py +194 -0
  19. lionagi/tests/test_core/graph/__init__.py +0 -0
  20. lionagi/tests/test_core/graph/test_graph.py +71 -0
  21. lionagi/tests/test_core/graph/test_tree.py +76 -0
  22. lionagi/tests/test_core/mail/__init__.py +0 -0
  23. lionagi/tests/test_core/mail/test_mail.py +98 -0
  24. lionagi/tests/test_core/test_structure/__init__.py +0 -0
  25. lionagi/tests/test_core/test_structure/test_base_structure.py +198 -0
  26. lionagi/tests/test_core/test_structure/test_graph.py +55 -0
  27. lionagi/tests/test_core/test_structure/test_tree.py +49 -0
  28. lionagi/version.py +1 -1
  29. {lionagi-0.2.1.dist-info → lionagi-0.2.3.dist-info}/METADATA +9 -4
  30. {lionagi-0.2.1.dist-info → lionagi-0.2.3.dist-info}/RECORD +33 -15
  31. {lionagi-0.2.1.dist-info → lionagi-0.2.3.dist-info}/WHEEL +1 -1
  32. {lionagi-0.2.1.dist-info → lionagi-0.2.3.dist-info}/LICENSE +0 -0
  33. {lionagi-0.2.1.dist-info → lionagi-0.2.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,55 @@
1
+ #TODO
2
+ # import unittest
3
+ # from unittest.mock import MagicMock, patch
4
+ # from lionagi.core.generic import BaseNode, Edge
5
+ # from lionagi.new.schema.todo.graph import Graph
6
+ #
7
+ #
8
+ # class TestGraph(unittest.TestCase):
9
+ # def setUp(self):
10
+ # self.graph = Graph()
11
+ # self.node1 = BaseNode(id_="node1", content="Node 1")
12
+ # self.node2 = BaseNode(id_="node2", content="Node 2")
13
+ # self.edge1 = Edge(
14
+ # id_="edge1", source_node_id="node1", target_node_id="node2", label="Edge 1"
15
+ # )
16
+ # self.graph.structure_nodes = {"node1": self.node1, "node2": self.node2}
17
+ # self.graph.structure_edges = {"edge1": self.edge1}
18
+ #
19
+ # @patch("lionagi.libs.SysUtil.check_import")
20
+ # def test_to_networkx_success(self, mock_check_import):
21
+ # mock_check_import.return_value = None
22
+ # with patch("networkx.DiGraph") as mock_digraph:
23
+ # mock_graph = MagicMock()
24
+ # mock_digraph.return_value = mock_graph
25
+ #
26
+ # result = self.graph.to_networkx()
27
+ #
28
+ # self.assertEqual(result, mock_graph)
29
+ #
30
+ # @patch("lionagi.libs.SysUtil.check_import")
31
+ # def test_to_networkx_empty_graph(self, mock_check_import):
32
+ # mock_check_import.return_value = None
33
+ # with patch("networkx.DiGraph") as mock_digraph:
34
+ # mock_graph = MagicMock()
35
+ # mock_digraph.return_value = mock_graph
36
+ #
37
+ # self.graph.structure_nodes = {}
38
+ # self.graph.structure_edges = {}
39
+ # result = self.graph.to_networkx()
40
+ #
41
+ # self.assertEqual(result, mock_graph)
42
+ # mock_check_import.assert_called_once_with("networkx")
43
+ # mock_digraph.assert_called_once()
44
+ # mock_graph.add_node.assert_not_called()
45
+ # mock_graph.add_edge.assert_not_called()
46
+ #
47
+ # @patch("lionagi.libs.SysUtil.check_import", side_effect=ImportError)
48
+ # def test_to_networkx_import_error(self, mock_check_import):
49
+ # with self.assertRaises(ImportError):
50
+ # self.graph.to_networkx()
51
+ # mock_check_import.assert_called_once_with("networkx")
52
+ #
53
+ #
54
+ # if __name__ == "__main__":
55
+ # unittest.main()
@@ -0,0 +1,49 @@
1
+ #TODO
2
+ # import unittest
3
+ # from lionagi.new.schema.todo.tree import Tree
4
+ # from lionagi.core.generic import TreeNode
5
+ #
6
+ #
7
+ # class TestTree(unittest.TestCase):
8
+ # def setUp(self):
9
+ # self.tree = Tree()
10
+ # self.node1 = TreeNode(id_="node1", content="Node 1")
11
+ # self.node2 = TreeNode(id_="node2", content="Node 2")
12
+ # self.node3 = TreeNode(id_="node3", content="Node 3")
13
+ # self.tree.add_structure_node(self.node1)
14
+ # self.tree.add_structure_node(self.node2)
15
+ # self.tree.add_structure_node(self.node3)
16
+ #
17
+ # def test_add_parent_to_child(self):
18
+ # self.tree.add_parent_to_child(self.node1, self.node2)
19
+ # self.assertEqual(self.node2, self.node1.parent)
20
+ # self.assertIn(self.node1, self.node2.children)
21
+ #
22
+ # def test_add_child_to_parent(self):
23
+ # self.tree.add_child_to_parent(self.node3, self.node2)
24
+ # self.assertEqual(self.node2, self.node3.parent)
25
+ # self.assertIn(self.node3, self.node2.children)
26
+ #
27
+ # def test_find_parent(self):
28
+ # self.tree.add_parent_to_child(self.node1, self.node2)
29
+ # parent = self.tree.find_parent(self.node1)
30
+ # self.assertEqual(self.node2, parent)
31
+ #
32
+ # def test_find_child(self):
33
+ # self.tree.add_parent_to_child(self.node1, self.node2)
34
+ # children = self.tree.find_child(self.node2)
35
+ # self.assertIn(self.node1, children)
36
+ #
37
+ # def test_parent_child_relationship(self):
38
+ # self.tree.add_parent_to_child(self.node1, self.node2)
39
+ # self.tree.add_child_to_parent(self.node3, self.node2)
40
+ # self.assertIn(self.node1, self.node2.children)
41
+ # self.assertIn(self.node3, self.node2.children)
42
+ # self.assertEqual(self.node2, self.node1.parent)
43
+ # self.assertEqual(self.node2, self.node3.parent)
44
+ #
45
+ # # Add more tests as necessary to cover edge cases and other functionalities
46
+ #
47
+ #
48
+ # if __name__ == "__main__":
49
+ # unittest.main()
lionagi/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.2.1"
1
+ __version__ = "0.2.3"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lionagi
3
- Version: 0.2.1
3
+ Version: 0.2.3
4
4
  Summary: Towards automated general intelligence.
5
5
  Author: HaiyangLi
6
6
  Author-email: Haiyang Li <ocean@lionagi.ai>
@@ -222,17 +222,22 @@ Requires-Dist: tiktoken >=0.5.1
222
222
  Requires-Dist: pydantic >=2.6.0
223
223
  Requires-Dist: aiocache >=0.12.2
224
224
  Requires-Dist: pandas >=2.1.0
225
+ Requires-Dist: pytest >=8.2.2
226
+ Requires-Dist: moto >=5.0.9
227
+ Requires-Dist: PyYAML >=6.0.1
228
+ Requires-Dist: boto3 >=1.34.131
225
229
 
226
230
  ![PyPI - Version](https://img.shields.io/pypi/v/lionagi?labelColor=233476aa&color=231fc935) ![PyPI - Downloads](https://img.shields.io/pypi/dm/lionagi?color=blue)
227
231
 
228
232
 
229
- [PyPI](https://pypi.org/project/lionagi/) | [Documentation](https://ocean-lion.com/Welcome) | [Discord](https://discord.gg/xCkA5ErGmV)
233
+ [PyPI](https://pypi.org/project/lionagi/) | [Documentation](https://ocean-lion.com/Welcome) | [Discord](https://discord.gg/aqSJ2v46vu) | [Roadmap](https://trello.com/b/3seomsrI/lionagi)
230
234
 
231
235
 
232
236
  # Language InterOperable Network - LION
237
+ ### an AGentic Intelligence Operating System
233
238
 
234
239
  ```
235
- lionagi version 0.2.1
240
+ pip install lionagi==0.2.2
236
241
  ```
237
242
 
238
243
  **Powerful Intelligent Workflow Automation**
@@ -250,7 +255,7 @@ What goes inside of a LLM is more akin to a [black-box](https://pauldeepakraj-r.
250
255
 
251
256
  ### Community
252
257
 
253
- We encourage contributions to LionAGI and invite you to enrich its features and capabilities. Engage with us and other community members [Join Our Discord](https://discord.gg/7RGWqpSxze)
258
+ We encourage contributions to LionAGI and invite you to enrich its features and capabilities. Engage with us and other community members [Join Our Discord](https://discord.gg/aqSJ2v46vu)
254
259
 
255
260
  ### Citation
256
261
 
@@ -1,5 +1,5 @@
1
- lionagi/__init__.py,sha256=wQNFPZWiozZvEC6fQMtGbJHZ5iX5gxk95PUboWrMnKY,1926
2
- lionagi/version.py,sha256=HfjVOrpTnmZ-xVFCYSVmX50EXaBQeJteUHG-PD6iQs8,22
1
+ lionagi/__init__.py,sha256=amQal6CUIv4QDI4Qmb0M5qwTbn3_F430Wl5vaSNG6-U,1952
2
+ lionagi/version.py,sha256=PNiDER4qM19h9zdsdfgKt2_dT4WgYK7EguJ8RU2qA_g,22
3
3
  lionagi/core/__init__.py,sha256=Il5Q9ATdX8yXqVxtP_nYqUhExzxPC_qk_WXQ_4h0exg,16
4
4
  lionagi/core/_setting/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  lionagi/core/_setting/_setting.py,sha256=p23fHtrzIZlQ8s8CDZICn8C6k7mdB_088nIDx19JaqM,1907
@@ -36,7 +36,7 @@ lionagi/core/director/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
36
36
  lionagi/core/director/direct.py,sha256=AkSeam9wFjmFRhZtqTV3XU5bG1bOc7Cl2QpE9gugNlg,10111
37
37
  lionagi/core/director/director.py,sha256=E-zgbAj5gbUgDrfE0YzFoipZnr0WWGZwIreEGGY2KJc,103
38
38
  lionagi/core/engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- lionagi/core/engine/branch_engine.py,sha256=b1Isl4UBoHtUxdfBWAahnE5tmyV4g5UOQcyFZUjP0Yc,12187
39
+ lionagi/core/engine/branch_engine.py,sha256=6Xwm6dsdUtzvpL9Thq0PUkB-NqlZch-C8bq8XssH_Uo,12274
40
40
  lionagi/core/engine/instruction_map_engine.py,sha256=IXUgpK5dm9f2vD1UPo1aaIIfjgSaZrabx5qJuyNApgU,8532
41
41
  lionagi/core/engine/sandbox_.py,sha256=yjq8aznCEBeflus68VVQavy6ChfdIoZeVvPhUx_UzrI,459
42
42
  lionagi/core/engine/script_engine.py,sha256=4aL34i57ODmeZhdMjwt8HW3Xm0Qqk96VD_fqlNT06vg,3644
@@ -47,9 +47,9 @@ lionagi/core/executor/neo4j_executor.py,sha256=POPqYo1f86PT9JMgPvTQ4dgTCw5jS17cs
47
47
  lionagi/core/generic/__init__.py,sha256=YFIUtzKwabE4UIs9EySXMirz97vsD2aHoqEKBCpc0Z0,140
48
48
  lionagi/core/generic/edge.py,sha256=5JDzy4RAaj5UQea4vbvmoyMTVQU--PUQgtMy1OoJuBU,3987
49
49
  lionagi/core/generic/edge_condition.py,sha256=F1FUJNcQvksCZBMCyAaOTQNNzg4bnUi_t-O_NZOmsQk,374
50
- lionagi/core/generic/graph.py,sha256=kKL-CMrqcrz-Br6dKy74RyUn7mSxfzLMeuFheCZy4wE,7265
50
+ lionagi/core/generic/graph.py,sha256=U99JRyZldajngvTJeTasCsIwNms2bH9Nb1P_-2dWUxM,7599
51
51
  lionagi/core/generic/hyperedge.py,sha256=DkeLUlrb7rGx3nZ04aADU9HXXu5mZTf_DBwT0xhzIv4,7
52
- lionagi/core/generic/node.py,sha256=PU88Z-hGG3sEIxj2e4Kez-Np-3YWXj6SxxYV-NX1PWw,6909
52
+ lionagi/core/generic/node.py,sha256=CWfsaW4zb8IO8EQMJ9LKuk7uEouZTgNa53MMxQ6pDXM,7018
53
53
  lionagi/core/generic/tree.py,sha256=HOylit6dAcUoYsqDqPIcZ2IdO92bCiwDlq_mMTOM_f4,1540
54
54
  lionagi/core/generic/tree_node.py,sha256=dveu_LPUTP5LcLDuIOkWUgUqzrl8lr9HMupP66IZeAs,2411
55
55
  lionagi/core/mail/__init__.py,sha256=fHNlcHwPCUbnrf8ItQ6HJQwmAG9KrDKouKBXjbo7h78,203
@@ -66,7 +66,7 @@ lionagi/core/message/message.py,sha256=rskq_clQNQ9gzXCTqKzsuYiJDbadaLh2dBdIOukiS
66
66
  lionagi/core/message/system.py,sha256=4IGbtl3PzAFb-UYjNWPRAUYe9i9FCpLRIOrK5xDW7W8,2876
67
67
  lionagi/core/message/util.py,sha256=sTt1iV0LGvNXnPJUThxB78g5rVcuV6wPFAb8Fqc1f1s,9764
68
68
  lionagi/core/report/__init__.py,sha256=KqfJNaSx9fzRw3eyrlIlYIiueo-jVYMgjaOdfzTUAN4,80
69
- lionagi/core/report/base.py,sha256=9tENrzVLht3YdfwS7evhx--L0GB95fl6e_CiFoCQ6gE,7934
69
+ lionagi/core/report/base.py,sha256=R4MDMUFz4DEXi3rMr2qIGwfx1Z_1o0BBJfXVXoCairg,7977
70
70
  lionagi/core/report/form.py,sha256=wV-T-2SlkRAe2AQ_0CNKobiOSDcao_XUBw8paHvM08Q,7883
71
71
  lionagi/core/report/report.py,sha256=9_OKUduQFAn6tU6cXBv6_YwaMrSKrEuDFTSyLrX3YSQ,6103
72
72
  lionagi/core/report/util.py,sha256=s9TszoP9Qr0xic08Weg15IkgjcyKe1FIhWSWUk6sl9Q,894
@@ -107,10 +107,14 @@ lionagi/core/validator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
107
107
  lionagi/core/validator/validator.py,sha256=ngThQTzNSOa6N0mKrAQuhwM_gb_IWhF58OefOyUjTK8,12012
108
108
  lionagi/core/work/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
109
109
  lionagi/core/work/work.py,sha256=oVbx0b8arvXSjDZa2Rs1s37_Fiue6gbR0Tt4oL7Dzkk,2532
110
- lionagi/core/work/work_function.py,sha256=Rjck1lX3AuRvVdz5aQYY7Va_jTGNwF9L4X4dlHgKTYo,3261
111
- lionagi/core/work/work_queue.py,sha256=hOGXjQ2bMhBRUmcplLj0bLJe2MKReuQtIdzMHfIrnb0,3479
112
- lionagi/core/work/worker.py,sha256=CtVf6vdGjBiKjDSZBT7Xfl7cPs2JIVhkE7Lhyed9Qe8,9008
113
- lionagi/core/work/worklog.py,sha256=fHnmo21K7lcrE4Cwub8EWgmBOO9vOtENJT2zEoNRhgo,3437
110
+ lionagi/core/work/work_edge.py,sha256=OiJGqGV2rsRzYwmlIS9Hnf5yPAceY7gJeiHmd0Spdso,3403
111
+ lionagi/core/work/work_function.py,sha256=hFjkdTUchwnzN5DX3pe05ADKWWJktzetmH8YlPiWnaw,3971
112
+ lionagi/core/work/work_function_node.py,sha256=3X5CXtTuhhOspgZMlqt5haljCrp20vSIA59Tw8i-tLI,2069
113
+ lionagi/core/work/work_queue.py,sha256=_qbTL9M5NdAfnzUV14--dFZQXiVnqEgXP2KWB7hry60,3626
114
+ lionagi/core/work/work_task.py,sha256=t4ltNVOd1G1FLe1496H40V-kX8v22IdDHnR2VC8pAi4,5405
115
+ lionagi/core/work/worker.py,sha256=M3SSHIVf8BR-yaaqEm9xaX8EgVn4MGInn7ODwY6tXSk,14948
116
+ lionagi/core/work/worker_engine.py,sha256=1WF2aMBeQmWgfQ43-BS0PCuDmJxltznzNc-RvBx9iNw,7390
117
+ lionagi/core/work/worklog.py,sha256=R6UC7CUczne41msrV9ekvYIKkZnNUz6IT1XPZ3_Nd7I,3619
114
118
  lionagi/experimental/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
115
119
  lionagi/experimental/compressor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
120
  lionagi/experimental/compressor/base.py,sha256=1BKdA6rcj0ziFNstj8Xc70aG5dL-JTiZwiM8NnwoDns,2017
@@ -207,6 +211,10 @@ lionagi/lions/researcher/data_source/google_.py,sha256=V4tNn--_8k1A0FBPOD0mt5YmN
207
211
  lionagi/lions/researcher/data_source/wiki_.py,sha256=1RrrW-Ko6y0ssQguIYiWTOoZf0oVT4_JB9g9KK1N4-Y,3123
208
212
  lionagi/lions/researcher/data_source/yfinance_.py,sha256=snAf897J69MyAc6fcFjF0irrMjbAh81EZ3RvaFT3hxE,977
209
213
  lionagi/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
214
+ lionagi/tests/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
215
+ lionagi/tests/api/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
216
+ lionagi/tests/api/aws/conftest.py,sha256=9E8W_2a3jsm8fuQ30NBQ3-3TGQfEeJ9g5is0jV1nGlA,492
217
+ lionagi/tests/api/aws/test_aws_s3.py,sha256=ATdbq6AmswgvLHF3zXW7Ow18wpcEIG-uglD1Al_8hZg,136
210
218
  lionagi/tests/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
211
219
  lionagi/tests/libs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
212
220
  lionagi/tests/libs/test_api.py,sha256=wi8uEsV7vO-stJxvdajtOGBdnO76nGsZ_wjN0qXESEQ,1681
@@ -232,9 +240,19 @@ lionagi/tests/test_core/generic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
232
240
  lionagi/tests/test_core/generic/test_edge.py,sha256=_wSRz8r8bmIib-XgIVoEPSbtJ7vuuymS2mPpr4Sy01I,2532
233
241
  lionagi/tests/test_core/generic/test_graph.py,sha256=-vAg45cNx0CQczURgU8E0CW8lfXnBrqZwaq4OMuPUWA,3568
234
242
  lionagi/tests/test_core/generic/test_node.py,sha256=SIGKts5FURH84NEHWy1if39FeVx-RAoOryXOrtIWMFY,4417
243
+ lionagi/tests/test_core/generic/test_structure.py,sha256=w8fqNHDbjC-5x7xSK9RJ5NSg_r17Psw8ZcigCdXnsOA,8846
235
244
  lionagi/tests/test_core/generic/test_tree_node.py,sha256=a1aMpGDAgtPD1W1HYco7Z3X7gBih-pndTbebf-K7YTA,2934
236
- lionagi-0.2.1.dist-info/LICENSE,sha256=VXFWsdoN5AAknBCgFqQNgPWYx7OPp-PFEP961zGdOjc,11288
237
- lionagi-0.2.1.dist-info/METADATA,sha256=Gl9P37IoGnHMnbT7ECyFdAwfwGpZfLcSXo38aer2W_Q,16055
238
- lionagi-0.2.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
239
- lionagi-0.2.1.dist-info/top_level.txt,sha256=szvch_d2jE1Lu9ZIKsl26Ll6BGfYfbOgt5lm-UpFSo4,8
240
- lionagi-0.2.1.dist-info/RECORD,,
245
+ lionagi/tests/test_core/graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
246
+ lionagi/tests/test_core/graph/test_graph.py,sha256=JCvk7pn5hRBK8vBMm31tZgAv2kC9eDLn_8jJK0_2-Qs,2708
247
+ lionagi/tests/test_core/graph/test_tree.py,sha256=vdRH9fSazbox1ajRS5FByQGAVu-mwvS6YEFpepV3Fb8,3380
248
+ lionagi/tests/test_core/mail/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
249
+ lionagi/tests/test_core/mail/test_mail.py,sha256=PbxlTXXcPFe177TzUbpQOQiDV-XdzHE-Oorct_vuwnM,3063
250
+ lionagi/tests/test_core/test_structure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
251
+ lionagi/tests/test_core/test_structure/test_base_structure.py,sha256=Ik_G7lI8dV3Q1jw1f6mynoPQVYnvVTkOQrgAf7fpIxY,9387
252
+ lionagi/tests/test_core/test_structure/test_graph.py,sha256=uC68zubRVbwSZ5JGzld7LnlpPqfGMNMZ9FDu9mcHp60,2161
253
+ lionagi/tests/test_core/test_structure/test_tree.py,sha256=0vJMvG0YChCl7W2NwF0yl9ukSftlkuoMOZFrHwwMgL8,1943
254
+ lionagi-0.2.3.dist-info/LICENSE,sha256=VXFWsdoN5AAknBCgFqQNgPWYx7OPp-PFEP961zGdOjc,11288
255
+ lionagi-0.2.3.dist-info/METADATA,sha256=MsP8KgE5rTUtzc4IQPP1TIe78tXV4MqK13OtNoTMKKs,16276
256
+ lionagi-0.2.3.dist-info/WHEEL,sha256=-oYQCr74JF3a37z2nRlQays_SX2MqOANoqVjBBAP2yE,91
257
+ lionagi-0.2.3.dist-info/top_level.txt,sha256=szvch_d2jE1Lu9ZIKsl26Ll6BGfYfbOgt5lm-UpFSo4,8
258
+ lionagi-0.2.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (71.0.3)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5