fabricatio 0.3.15.dev4__cp312-cp312-manylinux_2_34_x86_64.whl → 0.4.4__cp312-cp312-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 (66) 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-312-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.dev4.dist-info → fabricatio-0.4.4.dist-info}/METADATA +49 -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 -248
  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/persist.py +0 -103
  26. fabricatio/capabilities/propose.py +0 -65
  27. fabricatio/capabilities/rag.py +0 -264
  28. fabricatio/capabilities/rating.py +0 -404
  29. fabricatio/capabilities/review.py +0 -114
  30. fabricatio/capabilities/task.py +0 -113
  31. fabricatio/decorators.py +0 -253
  32. fabricatio/emitter.py +0 -177
  33. fabricatio/fs/__init__.py +0 -35
  34. fabricatio/fs/curd.py +0 -153
  35. fabricatio/fs/readers.py +0 -61
  36. fabricatio/journal.py +0 -12
  37. fabricatio/models/action.py +0 -263
  38. fabricatio/models/adv_kwargs_types.py +0 -63
  39. fabricatio/models/extra/__init__.py +0 -1
  40. fabricatio/models/extra/advanced_judge.py +0 -32
  41. fabricatio/models/extra/aricle_rag.py +0 -286
  42. fabricatio/models/extra/article_base.py +0 -486
  43. fabricatio/models/extra/article_essence.py +0 -101
  44. fabricatio/models/extra/article_main.py +0 -286
  45. fabricatio/models/extra/article_outline.py +0 -46
  46. fabricatio/models/extra/article_proposal.py +0 -52
  47. fabricatio/models/extra/patches.py +0 -20
  48. fabricatio/models/extra/problem.py +0 -165
  49. fabricatio/models/extra/rag.py +0 -98
  50. fabricatio/models/extra/rule.py +0 -52
  51. fabricatio/models/generic.py +0 -812
  52. fabricatio/models/kwargs_types.py +0 -121
  53. fabricatio/models/role.py +0 -99
  54. fabricatio/models/task.py +0 -310
  55. fabricatio/models/tool.py +0 -328
  56. fabricatio/models/usages.py +0 -791
  57. fabricatio/parser.py +0 -114
  58. fabricatio/rust.pyi +0 -846
  59. fabricatio/utils.py +0 -156
  60. fabricatio/workflows/articles.py +0 -24
  61. fabricatio/workflows/rag.py +0 -11
  62. fabricatio-0.3.15.dev4.data/scripts/tdown +0 -0
  63. fabricatio-0.3.15.dev4.data/scripts/ttm +0 -0
  64. fabricatio-0.3.15.dev4.dist-info/RECORD +0 -64
  65. {fabricatio-0.3.15.dev4.dist-info → fabricatio-0.4.4.dist-info}/WHEEL +0 -0
  66. {fabricatio-0.3.15.dev4.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,33 +1,43 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fabricatio
3
- Version: 0.3.15.dev4
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
7
+ Classifier: Programming Language :: Python :: 3.13
7
8
  Classifier: Programming Language :: Python :: Implementation :: CPython
8
9
  Classifier: Framework :: AsyncIO
9
10
  Classifier: Framework :: Pydantic :: 2
10
11
  Classifier: Typing :: Typed
11
- Requires-Dist: asyncio>=3.4.3
12
- Requires-Dist: asyncstdlib>=3.13.0
13
- Requires-Dist: json-repair>=0.39.1
14
- Requires-Dist: litellm>=1.60.0
15
- Requires-Dist: loguru>=0.7.3
16
- Requires-Dist: more-itertools>=10.6.0
17
- Requires-Dist: pydantic>=2.10.6
18
- Requires-Dist: pymitter>=1.0.0
19
- Requires-Dist: rich>=13.9.4
20
- Requires-Dist: ujson>=5.10.0
21
- Requires-Dist: fabricatio[ftd,qa,rag,cli] ; extra == 'full'
22
- Requires-Dist: pymilvus>=2.5.4 ; extra == 'rag'
23
- Requires-Dist: questionary>=2.1.0 ; extra == 'qa'
24
- 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'
25
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'
26
27
  Provides-Extra: full
28
+ Provides-Extra: anki
29
+ Provides-Extra: memory
30
+ Provides-Extra: digest
27
31
  Provides-Extra: rag
28
- Provides-Extra: qa
29
- Provides-Extra: ftd
32
+ Provides-Extra: judge
33
+ Provides-Extra: rule
30
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
31
41
  License-File: LICENSE
32
42
  Summary: A LLM multi-agent framework.
33
43
  Keywords: ai,agents,multi-agent,llm,pyo3
@@ -40,7 +50,22 @@ Project-URL: Issues, https://github.com/Whth/fabricatio/issues
40
50
 
41
51
  # Fabricatio
42
52
 
43
- ![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
+ ---
44
69
 
45
70
  ## Overview
46
71
 
@@ -65,8 +90,11 @@ pip install uv
65
90
  git clone https://github.com/Whth/fabricatio.git
66
91
  cd fabricatio
67
92
 
68
- # Install the package in development mode with uv
69
- 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
70
98
  ```
71
99
 
72
100
  ### Building Distribution
@@ -153,17 +181,13 @@ max_tokens = 8192
153
181
  ```
154
182
  2. **Install Dependencies**:
155
183
  ```bash
156
- uv --with-editable . maturin develop --uv -r
184
+ make dev
157
185
  ```
158
186
  3. **Run Tests**:
159
187
  ```bash
160
188
  make test
161
189
  ```
162
190
 
163
- ## TODO
164
-
165
- - Add an element based format strategy
166
-
167
191
  ## Contributing
168
192
 
169
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=gzt-5vue_7eKPs3lJK5QXBaD3_YckFhZq_AMbrvy1E4,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-312-x86_64-linux-gnu.so,sha256=m7WyN6rAoFDGFJTi_qZ0K3NKTaAi-AQJwQf7424jPKg,397032
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,,