fabricatio 0.2.0.dev19__cp312-cp312-win_amd64.whl → 0.2.1__cp312-cp312-win_amd64.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.
@@ -0,0 +1,35 @@
1
+ fabricatio-0.2.1.dist-info/METADATA,sha256=bQ4yh5N5OZooH3vu2c3vqRN5saKBshhgFwygs2liYsc,12366
2
+ fabricatio-0.2.1.dist-info/WHEEL,sha256=tpW5AN9B-9qsM9WW2FXG2r193YXiqexDadpKp0A2daI,96
3
+ fabricatio-0.2.1.dist-info/licenses/LICENSE,sha256=do7J7EiCGbq0QPbMAL_FqLYufXpHnCnXBOuqVPwSV8Y,1088
4
+ fabricatio/actions/communication.py,sha256=NZxIIncKgJSDyBrqNebUtH_haqtxHa8ld2TZxT3CMdU,429
5
+ fabricatio/actions/transmission.py,sha256=xpvKqbXqgpi1BWy-vUUvmd8NZ1GhRNfsYUBp-l2jLyk,862
6
+ fabricatio/actions/__init__.py,sha256=eFmFVPQvtNgFynIXBVr3eP-vWQDWCPng60YY5LXvZgg,115
7
+ fabricatio/config.py,sha256=TVge_fujKzvEZhOZYiYOMXdVn0YZ9SL5L1_mDzyeFUg,10260
8
+ fabricatio/core.py,sha256=yQK2ZrbPYDJOaNDp0Bky3muTkB-ZaQ1ld_Qfflm2dY0,5938
9
+ fabricatio/decorators.py,sha256=uzsP4tFKQNjDHBkofsjjoJA0IUAaYOtt6YVedoyOqlo,6551
10
+ fabricatio/fs/curd.py,sha256=faMstgGUiQ4k2AW3OXfvvWWTldTtKXco7QINYaMjmyA,3981
11
+ fabricatio/fs/readers.py,sha256=eDL9QhKEd6xfJBZaiwraObpGJWWpUd9NVYHoIvWgVqY,551
12
+ fabricatio/fs/__init__.py,sha256=lWcKYg0v3mv2LnnSegOQaTtlVDODU0vtw_s6iKU5IqQ,122
13
+ fabricatio/journal.py,sha256=siqimKF0M_QaaOCMxtjr_BJVNyUIAQWILzE9Q4T6-7c,781
14
+ fabricatio/models/action.py,sha256=1V3upL79e3ekyGXA4bSY70N60yeL0aWak7ZPBVsFE3A,5652
15
+ fabricatio/models/advanced.py,sha256=xAt0rgxzpw-gw-1LwRhvIbYKoNI8kzzcYPvcL7Q1z1U,5027
16
+ fabricatio/models/events.py,sha256=mrihNEFgQ5o7qFWja1z_qX8dnaTLwPBoJdVlzxQV5oM,2719
17
+ fabricatio/models/generic.py,sha256=HRslLNvP6v6wWag0tGda1FtAbjbjn096583u_IrixWs,4823
18
+ fabricatio/models/kwargs_types.py,sha256=lSZAxOnhFdQwRkm-NrbJVMSyBbfdeuVNx807LvJpEOo,901
19
+ fabricatio/models/role.py,sha256=RPdOcjmM6KNyH310Vx4524JQG94P5sXl_3doSrRpiKQ,1802
20
+ fabricatio/models/task.py,sha256=hogTBx74IAKfKDWghhWFR7i-LVQAn7L9PQM5tyOA5Rk,9257
21
+ fabricatio/models/tool.py,sha256=WTFnpF6xZ1nJbmIOonLsGQcM-kkDCeZiAFqyil9xg2U,6988
22
+ fabricatio/models/usages.py,sha256=JwVanhu5v87LUbnPjwFPriFI5O3HG4SppesYvYLAb50,23636
23
+ fabricatio/models/utils.py,sha256=i_kpcQpct04mQFk1nbcVGV-pl1YThWu4Qk3wbewzKkc,2535
24
+ fabricatio/parser.py,sha256=uLabsvF07wRKW1PoTGuGEENCx3P4mhmuO8JkmOEkKko,3522
25
+ fabricatio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
+ fabricatio/toolboxes/arithmetic.py,sha256=WLqhY-Pikv11Y_0SGajwZx3WhsLNpHKf9drzAqOf_nY,1369
27
+ fabricatio/toolboxes/fs.py,sha256=YkNgon5-bvCiPVEND9971W-6wj8btKNL6nGry2otn9I,498
28
+ fabricatio/toolboxes/task.py,sha256=kU4a501awIDV7GwNDuSlK3_Ym-5OhCp5sS-insTmUmQ,269
29
+ fabricatio/toolboxes/__init__.py,sha256=b13KmASO8q5fBLwew964fn9oH86ER5g-S1PgA4fZ_xs,482
30
+ fabricatio/_rust.pyi,sha256=0wCqtwWkVxxoqprvk8T27T8QYKIAKHS7xgsmdMNjQKc,1756
31
+ fabricatio/_rust_instances.py,sha256=dl0-yZ4UvT5g20tQgnPJpmqtkjFGXNG_YK4eLfi_ugQ,279
32
+ fabricatio/__init__.py,sha256=opIrN8lGyT-h2If4Qez0bRuWBa3uIT9GsM9CZy7_XJ0,1100
33
+ fabricatio/_rust.cp312-win_amd64.pyd,sha256=1FSNJyozquENXStFKoEoWdzIG8DnMM6UNayAdJFNCiA,1260544
34
+ fabricatio-0.2.1.data/scripts/tdown.exe,sha256=KzEhiBOO48Gya_cksOger07SXIDmMS7KSv2dmvmCj6k,3396608
35
+ fabricatio-0.2.1.dist-info/RECORD,,
@@ -1,233 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: fabricatio
3
- Version: 0.2.0.dev19
4
- Classifier: License :: OSI Approved :: MIT License
5
- Classifier: Programming Language :: Rust
6
- Classifier: Programming Language :: Python :: 3.12
7
- Classifier: Programming Language :: Python :: Implementation :: CPython
8
- Classifier: Framework :: AsyncIO
9
- Classifier: Framework :: Pydantic :: 2
10
- Classifier: Typing :: Typed
11
- Requires-Dist: appdirs>=1.4.4
12
- Requires-Dist: asyncio>=3.4.3
13
- Requires-Dist: code2prompt
14
- Requires-Dist: gitpython>=3.1.44
15
- Requires-Dist: litellm>=1.60.0
16
- Requires-Dist: loguru>=0.7.3
17
- Requires-Dist: magika>=0.5.1
18
- Requires-Dist: orjson>=3.10.15
19
- Requires-Dist: pydantic>=2.10.6
20
- Requires-Dist: pydantic-settings>=2.7.1
21
- Requires-Dist: pymitter>=1.0.0
22
- Requires-Dist: questionary>=2.1.0
23
- Requires-Dist: regex>=2024.11.6
24
- Requires-Dist: rich>=13.9.4
25
- Requires-Dist: faiss-cpu>=1.10.0 ; extra == 'rag'
26
- Requires-Dist: pymilvus>=2.5.4 ; extra == 'rag'
27
- Requires-Dist: fabricatio[rag] ; extra == 'full'
28
- Provides-Extra: rag
29
- Provides-Extra: full
30
- License-File: LICENSE
31
- Summary: A LLM multi-agent framework.
32
- Keywords: ai,agents,multi-agent,llm,pyo3
33
- Author-email: Whth <zettainspector@foxmail.com>
34
- Requires-Python: >=3.12
35
- Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
36
- Project-URL: Homepage, https://github.com/Whth/fabricatio
37
- Project-URL: Repository, https://github.com/Whth/fabricatio
38
- Project-URL: Issues, https://github.com/Whth/fabricatio/issues
39
-
40
- # Fabricatio
41
-
42
- ---
43
-
44
- Fabricatio is a powerful framework designed to facilitate the creation and management of tasks, actions, and workflows. It leverages modern Python features and libraries to provide a robust and flexible environment for building applications that require task automation and orchestration.
45
-
46
- ## Table of Contents
47
-
48
- - [Installation](#installation)
49
- - [Usage](#usage)
50
- - [Defining a Task](#defining-a-task)
51
- - [Creating an Action](#creating-an-action)
52
- - [Assigning a Role](#assigning-a-role)
53
- - [Logging](#logging)
54
- - [Configuration](#configuration)
55
- - [LLM Configuration](#llm-configuration)
56
- - [Debug Configuration](#debug-configuration)
57
- - [Examples](#examples)
58
- - [Simple Task Example](#simple-task-example)
59
- - [Complex Workflow Example](#complex-workflow-example)
60
- - [Contributing](#contributing)
61
- - [License](#license)
62
-
63
- ## Installation
64
- To install Fabricatio, you can use pip:
65
-
66
- ```bash
67
- pip install fabricatio
68
- ```
69
-
70
- Alternatively, you can clone the repository and install it manually:
71
-
72
- ```bash
73
- git clone https://github.com/your-repo/fabricatio.git
74
- cd fabricatio
75
- pip install .
76
- ```
77
-
78
-
79
- ## Usage
80
-
81
- ### Defining a Task
82
-
83
- A task in Fabricatio is defined using the `Task` class. You can specify the name, goal, and description of the task.
84
-
85
- ```python
86
- from fabricatio.models.task import Task
87
-
88
- task = Task(name="say hello", goal="say hello", description="say hello to the world")
89
- ```
90
-
91
-
92
- ### Creating an Action
93
-
94
- Actions are the building blocks of workflows. They perform specific tasks and can be asynchronous.
95
-
96
- ```python
97
- from fabricatio import Action, logger
98
- from fabricatio.models.task import Task
99
-
100
- class Talk(Action):
101
- async def _execute(self, task_input: Task[str], **_) -> str:
102
- ret = "Hello fabricatio!"
103
- logger.info("executing talk action")
104
- return ret
105
- ```
106
-
107
-
108
- ### Assigning a Role
109
-
110
- Roles in Fabricatio are responsible for executing workflows. You can define a role with a set of actions.
111
-
112
- ```python
113
- from fabricatio.models.role import Role
114
- from fabricatio.models.action import WorkFlow
115
-
116
- class TestWorkflow(WorkFlow):
117
- pass
118
-
119
- role = Role(name="Test Role", actions=[TestWorkflow()])
120
- ```
121
-
122
-
123
- ### Logging
124
-
125
- Fabricatio uses Loguru for logging. You can configure the log level and file in the `config.py` file.
126
-
127
- ```python
128
- from fabricatio.config import DebugConfig
129
-
130
- debug_config = DebugConfig(log_level="DEBUG", log_file="fabricatio.log")
131
- ```
132
-
133
-
134
- ## Configuration
135
-
136
- Fabricatio uses Pydantic for configuration management. You can define your settings in the `config.py` file.
137
-
138
- ### LLM Configuration
139
-
140
- The Large Language Model (LLM) configuration is managed by the `LLMConfig` class.
141
-
142
- ```python
143
- from fabricatio.config import LLMConfig
144
-
145
- llm_config = LLMConfig(api_endpoint="https://api.example.com")
146
- ```
147
-
148
-
149
- ### Debug Configuration
150
-
151
- The debug configuration is managed by the `DebugConfig` class.
152
-
153
- ```python
154
- from fabricatio.config import DebugConfig
155
-
156
- debug_config = DebugConfig(log_level="DEBUG", log_file="fabricatio.log")
157
- ```
158
-
159
-
160
- ## Examples
161
-
162
- ### Simple Task Example
163
-
164
- Here is a simple example of a task that prints "Hello fabricatio!".
165
-
166
- ```python
167
- import asyncio
168
- from fabricatio import Action, Role, Task, WorkFlow, logger
169
-
170
- task = Task(name="say hello", goal="say hello", description="say hello to the world")
171
-
172
- class Talk(Action):
173
- async def _execute(self, task_input: Task[str], **_) -> Any:
174
- ret = "Hello fabricatio!"
175
- logger.info("executing talk action")
176
- return ret
177
-
178
- class TestWorkflow(WorkFlow):
179
- pass
180
-
181
- role = Role(name="Test Role", actions=[TestWorkflow()])
182
-
183
- async def main() -> None:
184
- await role.act(task)
185
-
186
- if __name__ == "__main__":
187
- asyncio.run(main())
188
- ```
189
-
190
-
191
- ### Complex Workflow Example
192
-
193
- Here is a more complex example that demonstrates how to create a workflow with multiple actions.
194
-
195
- ```python
196
- import asyncio
197
- from fabricatio import Action, Role, Task, WorkFlow, logger
198
-
199
- task = Task(name="complex task", goal="perform complex operations", description="a task with multiple actions")
200
-
201
- class ActionOne(Action):
202
- async def _execute(self, task_input: Task[str], **_) -> Any:
203
- ret = "Action One executed"
204
- logger.info(ret)
205
- return ret
206
-
207
- class ActionTwo(Action):
208
- async def _execute(self, task_input: Task[str], **_) -> Any:
209
- ret = "Action Two executed"
210
- logger.info(ret)
211
- return ret
212
-
213
- class ComplexWorkflow(WorkFlow):
214
- actions = [ActionOne(), ActionTwo()]
215
-
216
- role = Role(name="Complex Role", actions=[ComplexWorkflow()])
217
-
218
- async def main() -> None:
219
- await role.act(task)
220
-
221
- if __name__ == "__main__":
222
- asyncio.run(main())
223
- ```
224
-
225
-
226
- ## Contributing
227
-
228
- Contributions to Fabricatio are welcome! Please submit a pull request with your changes.
229
-
230
- ## License
231
-
232
- Fabricatio is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information.
233
-
@@ -1,35 +0,0 @@
1
- fabricatio-0.2.0.dev19.dist-info/METADATA,sha256=ALJNEQ6R6ZRAKlAmf9sAaA_oy0DFRBAbpZjKUVSPLjQ,6386
2
- fabricatio-0.2.0.dev19.dist-info/WHEEL,sha256=tpW5AN9B-9qsM9WW2FXG2r193YXiqexDadpKp0A2daI,96
3
- fabricatio-0.2.0.dev19.dist-info/licenses/LICENSE,sha256=do7J7EiCGbq0QPbMAL_FqLYufXpHnCnXBOuqVPwSV8Y,1088
4
- fabricatio/actions/communication.py,sha256=uNZY0YBJzWNPWjoKeX5Gks9MI4k9uOwjTuvkYzfm6ws,488
5
- fabricatio/actions/transmission.py,sha256=fU-xL8fDG3oRDD9x7Q94OU2Sb9G6xQfrj5IMlMYsgiM,1240
6
- fabricatio/actions/__init__.py,sha256=eFmFVPQvtNgFynIXBVr3eP-vWQDWCPng60YY5LXvZgg,115
7
- fabricatio/config.py,sha256=Qyb5jqRNjsuzc5gvNvciJ2rHOPF6tPDwPAeI3eC_EE4,9715
8
- fabricatio/core.py,sha256=yQK2ZrbPYDJOaNDp0Bky3muTkB-ZaQ1ld_Qfflm2dY0,5938
9
- fabricatio/decorators.py,sha256=XCnFmBoQMBB2rrJe58Kg8UP3lAyWwH9cGL7myh4FJNA,2630
10
- fabricatio/fs/curd.py,sha256=wBBAxZqTNdjLL5y0b61_YoAT9X0cQDhokrk96muqiA4,3569
11
- fabricatio/fs/readers.py,sha256=eDL9QhKEd6xfJBZaiwraObpGJWWpUd9NVYHoIvWgVqY,551
12
- fabricatio/fs/__init__.py,sha256=lWcKYg0v3mv2LnnSegOQaTtlVDODU0vtw_s6iKU5IqQ,122
13
- fabricatio/journal.py,sha256=z5K5waad9xmGr1hGrqSgFDRH3wiDQ5Oqfe0o98DaM-k,707
14
- fabricatio/models/action.py,sha256=fwAKhXqgkI1brRTsWuToUAF8CV4HfPDdutLjNcQ4oiU,5319
15
- fabricatio/models/advanced.py,sha256=VJJTWItMC-fDBdpJ7wx2tAlNq9NsXceexAb8AHZNL1E,4725
16
- fabricatio/models/events.py,sha256=mrihNEFgQ5o7qFWja1z_qX8dnaTLwPBoJdVlzxQV5oM,2719
17
- fabricatio/models/generic.py,sha256=s6E1CHwKZfZHnaq6p7f6H3-CI6tyIiGvd8-aoFv7D2w,4069
18
- fabricatio/models/kwargs_types.py,sha256=lSZAxOnhFdQwRkm-NrbJVMSyBbfdeuVNx807LvJpEOo,901
19
- fabricatio/models/role.py,sha256=Uqkqp06J3dSvrniGouonRA1ZRWjj8bKUGQwhuDq3b3A,1856
20
- fabricatio/models/task.py,sha256=vYZBGCc1g9wY66k9WGgDzXn7ZWrDNIRGiYKmOuIa2lQ,8908
21
- fabricatio/models/tool.py,sha256=mD0rlG7hpMxTd_pI6JfRxAVsqPaXGdw1VLThAlbrqFE,6385
22
- fabricatio/models/usages.py,sha256=QQcslV1ZaHEY3yBVctFqw1R1mtQLmzx48OJIh3qfONU,21093
23
- fabricatio/models/utils.py,sha256=i_kpcQpct04mQFk1nbcVGV-pl1YThWu4Qk3wbewzKkc,2535
24
- fabricatio/parser.py,sha256=R4dKANSacrt6StUWtlHyVVvFLivlXmdGD3v6HI62xh8,3358
25
- fabricatio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- fabricatio/toolboxes/arithmetic.py,sha256=WLqhY-Pikv11Y_0SGajwZx3WhsLNpHKf9drzAqOf_nY,1369
27
- fabricatio/toolboxes/fs.py,sha256=q5weqzAPv4RddC73blEeYYMTeXoIZjHuK55Us1yVlj0,455
28
- fabricatio/toolboxes/task.py,sha256=kU4a501awIDV7GwNDuSlK3_Ym-5OhCp5sS-insTmUmQ,269
29
- fabricatio/toolboxes/__init__.py,sha256=b13KmASO8q5fBLwew964fn9oH86ER5g-S1PgA4fZ_xs,482
30
- fabricatio/_rust.pyi,sha256=0kJ16N4fZ5rGMb4yo1rATD6z2GJf2C-V_wykjceVwp8,1751
31
- fabricatio/_rust_instances.py,sha256=dl0-yZ4UvT5g20tQgnPJpmqtkjFGXNG_YK4eLfi_ugQ,279
32
- fabricatio/__init__.py,sha256=opIrN8lGyT-h2If4Qez0bRuWBa3uIT9GsM9CZy7_XJ0,1100
33
- fabricatio/_rust.cp312-win_amd64.pyd,sha256=1tg7RZFBvzftLcwqx1Ef6Kb7u-4-n7Zzs8WU_JZqPvw,1261568
34
- fabricatio-0.2.0.dev19.data/scripts/tdown.exe,sha256=m3qWPWleaZk-_8XXQGCH8xrA5WPqn78Fts6ZnJ0OCCo,3378176
35
- fabricatio-0.2.0.dev19.dist-info/RECORD,,