fabricatio 0.3.15.dev5__cp313-cp313-manylinux_2_34_x86_64.whl → 0.4.4__cp313-cp313-manylinux_2_34_x86_64.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 (65) hide show
  1. fabricatio/__init__.py +7 -8
  2. fabricatio/actions/__init__.py +69 -1
  3. fabricatio/capabilities/__init__.py +59 -1
  4. fabricatio/models/__init__.py +47 -0
  5. fabricatio/rust.cpython-313-x86_64-linux-gnu.so +0 -0
  6. fabricatio/toolboxes/__init__.py +2 -1
  7. fabricatio/toolboxes/arithmetic.py +1 -1
  8. fabricatio/toolboxes/fs.py +2 -2
  9. fabricatio/workflows/__init__.py +9 -0
  10. fabricatio-0.4.4.data/scripts/tdown +0 -0
  11. {fabricatio-0.3.15.dev5.dist-info → fabricatio-0.4.4.dist-info}/METADATA +48 -25
  12. fabricatio-0.4.4.dist-info/RECORD +15 -0
  13. fabricatio/actions/article.py +0 -415
  14. fabricatio/actions/article_rag.py +0 -407
  15. fabricatio/actions/fs.py +0 -25
  16. fabricatio/actions/output.py +0 -247
  17. fabricatio/actions/rag.py +0 -96
  18. fabricatio/actions/rules.py +0 -83
  19. fabricatio/capabilities/advanced_judge.py +0 -20
  20. fabricatio/capabilities/advanced_rag.py +0 -61
  21. fabricatio/capabilities/censor.py +0 -105
  22. fabricatio/capabilities/check.py +0 -212
  23. fabricatio/capabilities/correct.py +0 -228
  24. fabricatio/capabilities/extract.py +0 -74
  25. fabricatio/capabilities/propose.py +0 -65
  26. fabricatio/capabilities/rag.py +0 -264
  27. fabricatio/capabilities/rating.py +0 -404
  28. fabricatio/capabilities/review.py +0 -114
  29. fabricatio/capabilities/task.py +0 -113
  30. fabricatio/decorators.py +0 -253
  31. fabricatio/emitter.py +0 -177
  32. fabricatio/fs/__init__.py +0 -35
  33. fabricatio/fs/curd.py +0 -153
  34. fabricatio/fs/readers.py +0 -61
  35. fabricatio/journal.py +0 -12
  36. fabricatio/models/action.py +0 -263
  37. fabricatio/models/adv_kwargs_types.py +0 -63
  38. fabricatio/models/extra/__init__.py +0 -1
  39. fabricatio/models/extra/advanced_judge.py +0 -32
  40. fabricatio/models/extra/aricle_rag.py +0 -286
  41. fabricatio/models/extra/article_base.py +0 -488
  42. fabricatio/models/extra/article_essence.py +0 -98
  43. fabricatio/models/extra/article_main.py +0 -285
  44. fabricatio/models/extra/article_outline.py +0 -45
  45. fabricatio/models/extra/article_proposal.py +0 -52
  46. fabricatio/models/extra/patches.py +0 -20
  47. fabricatio/models/extra/problem.py +0 -165
  48. fabricatio/models/extra/rag.py +0 -98
  49. fabricatio/models/extra/rule.py +0 -51
  50. fabricatio/models/generic.py +0 -904
  51. fabricatio/models/kwargs_types.py +0 -121
  52. fabricatio/models/role.py +0 -156
  53. fabricatio/models/task.py +0 -310
  54. fabricatio/models/tool.py +0 -328
  55. fabricatio/models/usages.py +0 -791
  56. fabricatio/parser.py +0 -114
  57. fabricatio/rust.pyi +0 -846
  58. fabricatio/utils.py +0 -156
  59. fabricatio/workflows/articles.py +0 -24
  60. fabricatio/workflows/rag.py +0 -11
  61. fabricatio-0.3.15.dev5.data/scripts/tdown +0 -0
  62. fabricatio-0.3.15.dev5.data/scripts/ttm +0 -0
  63. fabricatio-0.3.15.dev5.dist-info/RECORD +0 -63
  64. {fabricatio-0.3.15.dev5.dist-info → fabricatio-0.4.4.dist-info}/WHEEL +0 -0
  65. {fabricatio-0.3.15.dev5.dist-info → fabricatio-0.4.4.dist-info}/licenses/LICENSE +0 -0
fabricatio/__init__.py CHANGED
@@ -1,12 +1,12 @@
1
1
  """Fabricatio is a Python library for building llm app using event-based agent structure."""
2
2
 
3
- from fabricatio import actions, capabilities, fs, models, parser, toolboxes, utils, workflows
4
- from fabricatio.journal import logger
5
- from fabricatio.models.action import Action, WorkFlow
6
- from fabricatio.models.role import Role
7
- from fabricatio.models.task import Task
8
- from fabricatio.models.tool import ToolBox
9
- from fabricatio.rust import CONFIG, TEMPLATE_MANAGER, Event
3
+ from fabricatio_core import fs, parser, utils
4
+ from fabricatio_core.journal import logger
5
+ from fabricatio_core.models.action import Action, WorkFlow
6
+ from fabricatio_core.models.role import Role
7
+ from fabricatio_core.models.task import Task
8
+ from fabricatio_core.models.tool import ToolBox
9
+ from fabricatio_core.rust import CONFIG, TEMPLATE_MANAGER, Event
10
10
 
11
11
  __all__ = [
12
12
  "CONFIG",
@@ -18,7 +18,6 @@ __all__ = [
18
18
  "ToolBox",
19
19
  "WorkFlow",
20
20
  "actions",
21
- "capabilities",
22
21
  "fs",
23
22
  "logger",
24
23
  "models",
@@ -1 +1,69 @@
1
- """A module containing some builtin actins."""
1
+ """This is the initialization file for the 'fabricatio.actions' package.
2
+
3
+ It imports various action classes from different modules based on the availability of certain packages.
4
+ The imported classes are then added to the '__all__' list, making them accessible when the package is imported.
5
+ """
6
+
7
+ from importlib.util import find_spec
8
+
9
+ __all__ = []
10
+
11
+ if find_spec("fabricatio_typst"):
12
+ from fabricatio_typst.actions.article import (
13
+ ExtractArticleEssence,
14
+ ExtractOutlineFromRaw,
15
+ FixArticleEssence,
16
+ GenerateArticle,
17
+ GenerateArticleProposal,
18
+ GenerateInitialOutline,
19
+ WriteChapterSummary,
20
+ WriteResearchContentSummary,
21
+ )
22
+
23
+ __all__ += [
24
+ "ExtractArticleEssence",
25
+ "ExtractOutlineFromRaw",
26
+ "FixArticleEssence",
27
+ "GenerateArticle",
28
+ "GenerateArticleProposal",
29
+ "GenerateInitialOutline",
30
+ "WriteChapterSummary",
31
+ "WriteResearchContentSummary",
32
+ ]
33
+
34
+ if find_spec("fabricatio_rag"):
35
+ from fabricatio_typst.actions.article_rag import (
36
+ ArticleConsultRAG,
37
+ ChunkArticle,
38
+ TweakArticleRAG,
39
+ WriteArticleContentRAG,
40
+ )
41
+
42
+ __all__ += ["ArticleConsultRAG", "ChunkArticle", "TweakArticleRAG", "WriteArticleContentRAG"]
43
+ if find_spec("fabricatio_rag"):
44
+ from fabricatio_rag.actions.rag import InjectToDB, RAGTalk
45
+
46
+ __all__ += ["InjectToDB", "RAGTalk"]
47
+
48
+ if find_spec("fabricatio_actions"):
49
+ from fabricatio_actions.actions.fs import ReadText
50
+ from fabricatio_actions.actions.output import (
51
+ DumpFinalizedOutput,
52
+ Forward,
53
+ GatherAsList,
54
+ PersistentAll,
55
+ RenderedDump,
56
+ RetrieveFromLatest,
57
+ RetrieveFromPersistent,
58
+ )
59
+
60
+ __all__ += [
61
+ "DumpFinalizedOutput",
62
+ "Forward",
63
+ "GatherAsList",
64
+ "PersistentAll",
65
+ "ReadText",
66
+ "RenderedDump",
67
+ "RetrieveFromLatest",
68
+ "RetrieveFromPersistent",
69
+ ]
@@ -1 +1,59 @@
1
- """A module containing some high level capabilities."""
1
+ """A module containing all the capabilities of the Fabricatio framework."""
2
+
3
+ from importlib.util import find_spec
4
+
5
+ __all__ = []
6
+
7
+ if find_spec("fabricatio_capabilities"):
8
+ from fabricatio_capabilities.capabilities.extract import Extract
9
+ from fabricatio_capabilities.capabilities.propose import Propose
10
+ from fabricatio_capabilities.capabilities.rating import Rating
11
+ from fabricatio_capabilities.capabilities.task import ProposeTask
12
+
13
+ __all__ += ["Extract", "Propose", "ProposeTask", "Rating"]
14
+
15
+ if find_spec("fabricatio_rag"):
16
+ from fabricatio_rag.capabilities.rag import RAG
17
+
18
+ __all__ += ["RAG"]
19
+ if find_spec("fabricatio_write"):
20
+ from fabricatio_typst.capabilities.citation_rag import CitationRAG
21
+
22
+ __all__ += [
23
+ "CitationRAG",
24
+ ]
25
+
26
+ if find_spec("fabricatio_rule"):
27
+ from fabricatio_rule.capabilities.censor import Censor
28
+ from fabricatio_rule.capabilities.check import Check
29
+
30
+ __all__ += ["Censor", "Check"]
31
+
32
+ if find_spec("fabricatio_improve"):
33
+ from fabricatio_improve.capabilities.correct import Correct
34
+ from fabricatio_improve.capabilities.review import Review
35
+
36
+ __all__ += [
37
+ "Correct",
38
+ "Review",
39
+ ]
40
+
41
+ if find_spec("fabricatio_judge"):
42
+ from fabricatio_judge.capabilities.advanced_judge import AdvancedJudge
43
+
44
+ __all__ += ["AdvancedJudge"]
45
+
46
+ if find_spec("fabricatio_digest"):
47
+ from fabricatio_digest.capabilities.digest import Digest
48
+
49
+ __all__ += ["Digest"]
50
+
51
+ if find_spec("fabricatio_anki"):
52
+ from fabricatio_anki.capabilities.generate_deck import GenerateDeck
53
+
54
+ __all__ += ["GenerateDeck"]
55
+
56
+ if find_spec("fabricatio_tagging"):
57
+ from fabricatio_tagging.capabilities.tagging import Tagging
58
+
59
+ __all__ += ["Tagging"]
@@ -0,0 +1,47 @@
1
+ """A module for the usage of the fabricatio package."""
2
+
3
+ from importlib.util import find_spec
4
+
5
+ from fabricatio_core.models.usages import EmbeddingUsage, LLMUsage, ToolBoxUsage
6
+
7
+ __all__ = [
8
+ "EmbeddingUsage",
9
+ "LLMUsage",
10
+ "ToolBoxUsage",
11
+ ]
12
+
13
+ if find_spec("fabricatio_typst"):
14
+ from fabricatio_typst.models.article_essence import ArticleEssence
15
+ from fabricatio_typst.models.article_main import Article
16
+ from fabricatio_typst.models.article_outline import ArticleOutline
17
+ from fabricatio_typst.models.article_proposal import ArticleProposal
18
+
19
+ __all__ += [
20
+ "Article",
21
+ "ArticleEssence",
22
+ "ArticleOutline",
23
+ "ArticleProposal",
24
+ ]
25
+
26
+ if find_spec("fabricatio_typst"):
27
+ from fabricatio_typst.models.aricle_rag import ArticleChunk
28
+
29
+ __all__ += ["ArticleChunk"]
30
+
31
+ if find_spec("fabricatio_judge"):
32
+ from fabricatio_judge.models.advanced_judge import JudgeMent
33
+
34
+ __all__ += ["JudgeMent"]
35
+
36
+ if find_spec("fabricatio_digest"):
37
+ from fabricatio_digest.models.tasklist import TaskList
38
+
39
+ __all__ += ["TaskList"]
40
+
41
+
42
+ if find_spec("fabricatio_anki"):
43
+ from fabricatio_anki.models.deck import Deck, Model
44
+ from fabricatio_anki.models.template import Template
45
+
46
+ __all__ += ["Deck","Model","Template"]
47
+
@@ -2,7 +2,8 @@
2
2
 
3
3
  from typing import Set
4
4
 
5
- from fabricatio.models.tool import ToolBox
5
+ from fabricatio_core.models.tool import ToolBox
6
+
6
7
  from fabricatio.toolboxes.arithmetic import arithmetic_toolbox
7
8
  from fabricatio.toolboxes.fs import fs_toolbox
8
9
 
@@ -1,6 +1,6 @@
1
1
  """Arithmetic tools for Fabricatio."""
2
2
 
3
- from fabricatio.models.tool import ToolBox
3
+ from fabricatio_core.models.tool import ToolBox
4
4
 
5
5
  arithmetic_toolbox = ToolBox(name="ArithmeticToolBox", description="A toolbox for arithmetic operations.")
6
6
 
@@ -1,6 +1,6 @@
1
1
  """File system tool box."""
2
2
 
3
- from fabricatio.fs import (
3
+ from fabricatio_core.fs import (
4
4
  absolute_path,
5
5
  copy_file,
6
6
  create_directory,
@@ -13,7 +13,7 @@ from fabricatio.fs import (
13
13
  safe_text_read,
14
14
  tree,
15
15
  )
16
- from fabricatio.models.tool import ToolBox
16
+ from fabricatio_core.models.tool import ToolBox
17
17
 
18
18
  fs_toolbox = (
19
19
  ToolBox(name="FsToolBox", description="A toolbox for basic file system operations.")
@@ -1 +1,10 @@
1
1
  """A module containing some builtin workflows."""
2
+
3
+ __all__ = []
4
+
5
+ from importlib.util import find_spec
6
+
7
+ if find_spec("fabricatio_typst") and find_spec("fabricatio_actions"):
8
+ from fabricatio_typst.workflows.articles import WriteOutlineCorrectedWorkFlow
9
+
10
+ __all__ += ["WriteOutlineCorrectedWorkFlow"]
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fabricatio
3
- Version: 0.3.15.dev5
3
+ Version: 0.4.4
4
4
  Classifier: License :: OSI Approved :: MIT License
5
5
  Classifier: Programming Language :: Rust
6
6
  Classifier: Programming Language :: Python :: 3.12
@@ -9,26 +9,35 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
9
9
  Classifier: Framework :: AsyncIO
10
10
  Classifier: Framework :: Pydantic :: 2
11
11
  Classifier: Typing :: Typed
12
- Requires-Dist: asyncio>=3.4.3
13
- Requires-Dist: asyncstdlib>=3.13.0
14
- Requires-Dist: json-repair>=0.39.1
15
- Requires-Dist: litellm>=1.60.0
16
- Requires-Dist: loguru>=0.7.3
17
- Requires-Dist: more-itertools>=10.6.0
18
- Requires-Dist: pydantic>=2.10.6
19
- Requires-Dist: pymitter>=1.0.0
20
- Requires-Dist: rich>=13.9.4
21
- Requires-Dist: ujson>=5.10.0
22
- Requires-Dist: fabricatio[ftd,qa,rag,cli] ; extra == 'full'
23
- Requires-Dist: pymilvus>=2.5.4 ; extra == 'rag'
24
- Requires-Dist: questionary>=2.1.0 ; extra == 'qa'
25
- Requires-Dist: magika>=0.6.1 ; extra == 'ftd'
12
+ Requires-Dist: fabricatio-core
13
+ Requires-Dist: fabricatio[rag,cli,typst,rule,judge,capabilities,actions,improve,digest,memory,anki,question,tagging] ; extra == 'full'
14
+ Requires-Dist: fabricatio-anki ; extra == 'anki'
15
+ Requires-Dist: fabricatio-memory ; extra == 'memory'
16
+ Requires-Dist: fabricatio-digest ; extra == 'digest'
17
+ Requires-Dist: fabricatio-rag ; extra == 'rag'
18
+ Requires-Dist: fabricatio-judge ; extra == 'judge'
19
+ Requires-Dist: fabricatio-rule ; extra == 'rule'
26
20
  Requires-Dist: typer-slim[standard]>=0.15.2 ; extra == 'cli'
21
+ Requires-Dist: fabricatio-typst ; extra == 'typst'
22
+ Requires-Dist: fabricatio-improve ; extra == 'improve'
23
+ Requires-Dist: fabricatio-capabilities ; extra == 'capabilities'
24
+ Requires-Dist: fabricatio-actions ; extra == 'actions'
25
+ Requires-Dist: fabricatio-question ; extra == 'question'
26
+ Requires-Dist: fabricatio-tagging ; extra == 'tagging'
27
27
  Provides-Extra: full
28
+ Provides-Extra: anki
29
+ Provides-Extra: memory
30
+ Provides-Extra: digest
28
31
  Provides-Extra: rag
29
- Provides-Extra: qa
30
- Provides-Extra: ftd
32
+ Provides-Extra: judge
33
+ Provides-Extra: rule
31
34
  Provides-Extra: cli
35
+ Provides-Extra: typst
36
+ Provides-Extra: improve
37
+ Provides-Extra: capabilities
38
+ Provides-Extra: actions
39
+ Provides-Extra: question
40
+ Provides-Extra: tagging
32
41
  License-File: LICENSE
33
42
  Summary: A LLM multi-agent framework.
34
43
  Keywords: ai,agents,multi-agent,llm,pyo3
@@ -41,7 +50,22 @@ Project-URL: Issues, https://github.com/Whth/fabricatio/issues
41
50
 
42
51
  # Fabricatio
43
52
 
44
- ![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)
53
+ [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
54
+ [![Python Versions](https://img.shields.io/pypi/pyversions/fabricatio)](https://pypi.org/project/fabricatio/)
55
+ [![PyPI Version](https://img.shields.io/pypi/v/fabricatio)](https://pypi.org/project/fabricatio/)
56
+ [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/Whth/fabricatio)
57
+ [![PyPI Downloads](https://static.pepy.tech/badge/fabricatio/week)](https://pepy.tech/projects/fabricatio)
58
+ [![PyPI Downloads](https://static.pepy.tech/badge/fabricatio)](https://pepy.tech/projects/fabricatio)
59
+ [![Bindings: PyO3](https://img.shields.io/badge/bindings-pyo3-green)](https://github.com/PyO3/pyo3)
60
+ [![Powered by LiteLLM](https://img.shields.io/badge/Powered%20by-LiteLLM-blue)](https://github.com/BerriAI/litellm)
61
+ [![Build Tool: uv + maturin](https://img.shields.io/badge/built%20with-uv%20%2B%20maturin-orange)](https://github.com/astral-sh/uv)
62
+ [![Build Package](https://github.com/Whth/fabricatio/actions/workflows/build-package.yaml/badge.svg)](https://github.com/Whth/fabricatio/actions/workflows/build-package.yaml)
63
+ [![Ruff Lint](https://github.com/Whth/fabricatio/actions/workflows/ruff.yaml/badge.svg)](https://github.com/Whth/fabricatio/actions/workflows/ruff.yaml)
64
+ [![Tests](https://github.com/Whth/fabricatio/actions/workflows/tests.yaml/badge.svg)](https://github.com/Whth/fabricatio/actions/workflows/tests.yaml)
65
+ ![GitHub Issues](https://img.shields.io/github/issues/Whth/fabricatio)
66
+ ![GitHub Pull Requests](https://img.shields.io/github/issues-pr/Whth/fabricatio)
67
+ ![GitHub Stars](https://img.shields.io/github/stars/Whth/fabricatio)
68
+ ---
45
69
 
46
70
  ## Overview
47
71
 
@@ -66,8 +90,11 @@ pip install uv
66
90
  git clone https://github.com/Whth/fabricatio.git
67
91
  cd fabricatio
68
92
 
69
- # Install the package in development mode with uv
70
- uv --with-editable . maturin develop --uv -r
93
+ # Install the package in development mode with uvx
94
+ uvx --with-editable . maturin develop --uv -r
95
+
96
+ # Or, with make
97
+ make dev
71
98
  ```
72
99
 
73
100
  ### Building Distribution
@@ -154,17 +181,13 @@ max_tokens = 8192
154
181
  ```
155
182
  2. **Install Dependencies**:
156
183
  ```bash
157
- uv --with-editable . maturin develop --uv -r
184
+ make dev
158
185
  ```
159
186
  3. **Run Tests**:
160
187
  ```bash
161
188
  make test
162
189
  ```
163
190
 
164
- ## TODO
165
-
166
- - Add an element based format strategy
167
-
168
191
  ## Contributing
169
192
 
170
193
  Contributions are welcome! Follow these steps:
@@ -0,0 +1,15 @@
1
+ fabricatio-0.4.4.data/scripts/tdown,sha256=cuGkRkFXmX_cJc2_zvV2sbwE8AdPoUyIUr8jPPU92e0,5146248
2
+ fabricatio-0.4.4.dist-info/METADATA,sha256=SkhQZiSIuR8vBU8E8xpp3UFhYN0wotEYOfRfct6KPY8,7076
3
+ fabricatio-0.4.4.dist-info/WHEEL,sha256=OZYXF4emuP5o7uCHyen8StXv3k74AF7eDhQe1rxgOqQ,108
4
+ fabricatio-0.4.4.dist-info/licenses/LICENSE,sha256=yDZaTLnOi03bi3Dk6f5IjhLUc5old2yOsihHWU0z-i0,1067
5
+ fabricatio/__init__.py,sha256=RuDz5JHlGrYWvMm9H08prJxhwVQFr6-SpKWA3FB9JWg,694
6
+ fabricatio/actions/__init__.py,sha256=i-LBb4pF29XVnaKfdMJwcF914WPu2B_DdZVfba_T4kg,1990
7
+ fabricatio/capabilities/__init__.py,sha256=qYq3HWeEuXqgc3zyAmWcnmO3yDyyEkIPe3X3WJ6UX4Q,1724
8
+ fabricatio/models/__init__.py,sha256=W02VRfVau4mee2Y6QcGMZz34kUuJhIdom0pdR2G0joM,1273
9
+ fabricatio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ fabricatio/rust.cpython-313-x86_64-linux-gnu.so,sha256=q4364HuaROfd7GgaTR3V0dmPP_08N0JgU_S7GB3PrlM,396880
11
+ fabricatio/toolboxes/__init__.py,sha256=_Snn7bB7pBsRYNgqzBzVL8jgka0FdgK6Lme8UnDsBjM,386
12
+ fabricatio/toolboxes/arithmetic.py,sha256=kiX83WRfFyqNavpz9Wd0fPxa2HQbi_VTMRNp4B8ErNQ,1312
13
+ fabricatio/toolboxes/fs.py,sha256=lipQP6I8HR08ujucsbMR_qBHxlLzMu4O38qPFitZtHc,715
14
+ fabricatio/workflows/__init__.py,sha256=sr-0tgpNPdN5t2pDQa-gp-KUE7K0QDtjP9QGvWYLZ9A,305
15
+ fabricatio-0.4.4.dist-info/RECORD,,