fabricatio 0.3.14.dev2__tar.gz → 0.3.14.dev4__tar.gz

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 (161) hide show
  1. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/.github/workflows/build-package.yaml +3 -2
  2. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/PKG-INFO +3 -7
  3. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/pyproject.toml +3 -9
  4. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/__init__.py +5 -5
  5. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/action.py +2 -2
  6. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/extra/article_main.py +14 -13
  7. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/tool.py +5 -6
  8. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/usages.py +7 -3
  9. fabricatio-0.3.14.dev4/templates.tar.gz +0 -0
  10. fabricatio-0.3.14.dev4/uv.lock +1914 -0
  11. fabricatio-0.3.14.dev2/templates.tar.gz +0 -0
  12. fabricatio-0.3.14.dev2/uv.lock +0 -1682
  13. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/.github/workflows/ruff.yaml +0 -0
  14. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/.github/workflows/tests.yaml +0 -0
  15. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/.gitignore +0 -0
  16. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/.python-version +0 -0
  17. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/Cargo.lock +0 -0
  18. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/Cargo.toml +0 -0
  19. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/LICENSE +0 -0
  20. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/Makefile +0 -0
  21. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/README.md +0 -0
  22. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/build.rs +0 -0
  23. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/correct/correct.py +0 -0
  24. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/correct/correct_loop.py +0 -0
  25. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/extract_and_inject/.gitignore +0 -0
  26. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/extract_and_inject/article_rag.py +0 -0
  27. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/extract_and_inject/ask.py +0 -0
  28. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/extract_and_inject/chunk_article.py +0 -0
  29. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/extract_and_inject/extract_and_inject.py +0 -0
  30. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/extract_article/extract.py +0 -0
  31. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/llm_usages/llm_usage.py +0 -0
  32. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/make_a_rating/rating.py +0 -0
  33. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/make_diary/commits.json +0 -0
  34. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/make_diary/diary.py +0 -0
  35. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/minor/hello_fabricatio.py +0 -0
  36. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/minor/write_a_poem.py +0 -0
  37. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/propose_task/.gitignore +0 -0
  38. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/propose_task/propose.py +0 -0
  39. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/reviewer/censor.py +0 -0
  40. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/reviewer/review.py +0 -0
  41. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/rules/.gitignore +0 -0
  42. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/rules/draft_ruleset.py +0 -0
  43. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/search_bibtex/.gitignore +0 -0
  44. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/search_bibtex/search.py +0 -0
  45. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/simple_chat/chat.py +0 -0
  46. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/simple_rag/simple_rag.py +0 -0
  47. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/task_handle/handle_task.py +0 -0
  48. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/write_article/.gitignore +0 -0
  49. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/write_article/article_rag.py +0 -0
  50. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/write_article/post_process.py +0 -0
  51. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/write_article/write_article.py +0 -0
  52. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/write_outline/.gitignore +0 -0
  53. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/write_outline/write_outline.py +0 -0
  54. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/examples/write_outline/write_outline_corrected.py +0 -0
  55. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/proto/tei.proto +0 -0
  56. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/actions/__init__.py +0 -0
  57. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/actions/article.py +0 -0
  58. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/actions/article_rag.py +0 -0
  59. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/actions/fs.py +0 -0
  60. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/actions/output.py +0 -0
  61. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/actions/rag.py +0 -0
  62. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/actions/rules.py +0 -0
  63. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/capabilities/__init__.py +0 -0
  64. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/capabilities/advanced_judge.py +0 -0
  65. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/capabilities/advanced_rag.py +0 -0
  66. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/capabilities/censor.py +0 -0
  67. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/capabilities/check.py +0 -0
  68. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/capabilities/correct.py +0 -0
  69. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/capabilities/extract.py +0 -0
  70. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/capabilities/persist.py +0 -0
  71. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/capabilities/propose.py +0 -0
  72. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/capabilities/rag.py +0 -0
  73. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/capabilities/rating.py +0 -0
  74. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/capabilities/review.py +0 -0
  75. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/capabilities/task.py +0 -0
  76. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/decorators.py +0 -0
  77. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/emitter.py +0 -0
  78. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/fs/__init__.py +0 -0
  79. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/fs/curd.py +0 -0
  80. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/fs/readers.py +0 -0
  81. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/journal.py +0 -0
  82. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/adv_kwargs_types.py +0 -0
  83. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/extra/__init__.py +0 -0
  84. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/extra/advanced_judge.py +0 -0
  85. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/extra/aricle_rag.py +0 -0
  86. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/extra/article_base.py +0 -0
  87. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/extra/article_essence.py +0 -0
  88. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/extra/article_outline.py +0 -0
  89. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/extra/article_proposal.py +0 -0
  90. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/extra/patches.py +0 -0
  91. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/extra/problem.py +0 -0
  92. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/extra/rag.py +0 -0
  93. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/extra/rule.py +0 -0
  94. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/generic.py +0 -0
  95. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/kwargs_types.py +0 -0
  96. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/role.py +0 -0
  97. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/models/task.py +0 -0
  98. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/parser.py +0 -0
  99. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/py.typed +0 -0
  100. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/rust.pyi +0 -0
  101. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/toolboxes/__init__.py +0 -0
  102. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/toolboxes/arithmetic.py +0 -0
  103. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/toolboxes/fs.py +0 -0
  104. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/utils.py +0 -0
  105. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/workflows/__init__.py +0 -0
  106. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/workflows/articles.py +0 -0
  107. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/python/fabricatio/workflows/rag.py +0 -0
  108. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/src/bib_tools.rs +0 -0
  109. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/src/config.rs +0 -0
  110. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/src/event.rs +0 -0
  111. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/src/hash.rs +0 -0
  112. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/src/hbs_helpers.rs +0 -0
  113. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/src/language.rs +0 -0
  114. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/src/lib.rs +0 -0
  115. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/src/macro_utils/Cargo.toml +0 -0
  116. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/src/macro_utils/src/lib.rs +0 -0
  117. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/src/tei_client.rs +0 -0
  118. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/src/templates.rs +0 -0
  119. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/src/typst_tools.rs +0 -0
  120. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/src/word_split.rs +0 -0
  121. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/as_prompt.hbs +0 -0
  122. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/binary-exploitation-ctf-solver.hbs +0 -0
  123. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/chap_summary.hbs +0 -0
  124. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/check_string.hbs +0 -0
  125. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/claude-xml.hbs +0 -0
  126. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/clean-up-code.hbs +0 -0
  127. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/co_validation.hbs +0 -0
  128. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/create_json_obj.hbs +0 -0
  129. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/cryptography-ctf-solver.hbs +0 -0
  130. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/dependencies.hbs +0 -0
  131. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/document-the-code.hbs +0 -0
  132. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/draft_rating_criteria.hbs +0 -0
  133. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/draft_rating_manual.hbs +0 -0
  134. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/draft_rating_weights_klee.hbs +0 -0
  135. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/draft_tool_usage_code.hbs +0 -0
  136. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/extract.hbs +0 -0
  137. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/extract_criteria_from_reasons.hbs +0 -0
  138. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/extract_reasons_from_examples.hbs +0 -0
  139. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/find-security-vulnerabilities.hbs +0 -0
  140. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/fix-bugs.hbs +0 -0
  141. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/fix_troubled_obj.hbs +0 -0
  142. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/fix_troubled_string.hbs +0 -0
  143. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/generic_string.hbs +0 -0
  144. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/improve-performance.hbs +0 -0
  145. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/liststr.hbs +0 -0
  146. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/make_choice.hbs +0 -0
  147. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/make_judgment.hbs +0 -0
  148. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/pathstr.hbs +0 -0
  149. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/rate_fine_grind.hbs +0 -0
  150. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/refactor.hbs +0 -0
  151. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/refined_query.hbs +0 -0
  152. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/retrieved_display.hbs +0 -0
  153. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/reverse-engineering-ctf-solver.hbs +0 -0
  154. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/review_string.hbs +0 -0
  155. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/rule_requirement.hbs +0 -0
  156. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/ruleset_requirement_breakdown.hbs +0 -0
  157. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/task_briefing.hbs +0 -0
  158. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/web-ctf-solver.hbs +0 -0
  159. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/write-git-commit.hbs +0 -0
  160. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/write-github-pull-request.hbs +0 -0
  161. {fabricatio-0.3.14.dev2 → fabricatio-0.3.14.dev4}/templates/built-in/write-github-readme.hbs +0 -0
@@ -14,6 +14,7 @@ jobs:
14
14
  strategy:
15
15
  matrix:
16
16
  os: [ windows-latest, ubuntu-latest ]
17
+ python-version: [ "3.12", "3.13" ]
17
18
  steps:
18
19
  - name: Checkout repository
19
20
  uses: actions/checkout@v4
@@ -65,7 +66,7 @@ jobs:
65
66
  uv sync --no-install-project --all-extras --index https://pypi.org/simple
66
67
  - name: Build
67
68
  run: |
68
- make
69
+ make PY=${{ matrix.python-version }}
69
70
 
70
71
  - name: Packing templates
71
72
  if: ${{ steps.check_version_change.outputs.VERSION_CHANGED == 'true' }}
@@ -90,7 +91,7 @@ jobs:
90
91
  - name: Upload to PyPI
91
92
  if: ${{ steps.check_version_change.outputs.VERSION_CHANGED == 'true' }}
92
93
  run: |
93
- make publish
94
+ make publish PY=${{ matrix.python-version }}
94
95
  env:
95
96
  MATURIN_USERNAME: __token__
96
97
  MATURIN_PASSWORD: ${{ secrets.PYPI_TOKEN }}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fabricatio
3
- Version: 0.3.14.dev2
3
+ Version: 0.3.14.dev4
4
4
  Classifier: License :: OSI Approved :: MIT License
5
5
  Classifier: Programming Language :: Rust
6
6
  Classifier: Programming Language :: Python :: 3.12
@@ -18,17 +18,13 @@ Requires-Dist: pydantic>=2.10.6
18
18
  Requires-Dist: pymitter>=1.0.0
19
19
  Requires-Dist: rich>=13.9.4
20
20
  Requires-Dist: ujson>=5.10.0
21
- Requires-Dist: fabricatio[calc,ftd,plot,qa,rag,cli] ; extra == 'full'
21
+ Requires-Dist: fabricatio[ftd,qa,rag,cli] ; extra == 'full'
22
22
  Requires-Dist: pymilvus>=2.5.4 ; extra == 'rag'
23
- Requires-Dist: sympy>=1.13.3 ; extra == 'calc'
24
- Requires-Dist: matplotlib>=3.10.1 ; extra == 'plot'
25
23
  Requires-Dist: questionary>=2.1.0 ; extra == 'qa'
26
24
  Requires-Dist: magika>=0.6.1 ; extra == 'ftd'
27
25
  Requires-Dist: typer-slim[standard]>=0.15.2 ; extra == 'cli'
28
26
  Provides-Extra: full
29
27
  Provides-Extra: rag
30
- Provides-Extra: calc
31
- Provides-Extra: plot
32
28
  Provides-Extra: qa
33
29
  Provides-Extra: ftd
34
30
  Provides-Extra: cli
@@ -36,7 +32,7 @@ License-File: LICENSE
36
32
  Summary: A LLM multi-agent framework.
37
33
  Keywords: ai,agents,multi-agent,llm,pyo3
38
34
  Author-email: Whth <zettainspector@foxmail.com>
39
- Requires-Python: >=3.12, <3.13
35
+ Requires-Python: >=3.12, <3.14
40
36
  Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
41
37
  Project-URL: Homepage, https://github.com/Whth/fabricatio
42
38
  Project-URL: Repository, https://github.com/Whth/fabricatio
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "fabricatio"
3
- version = "0.3.14-dev2"
3
+ version = "0.3.14-dev4"
4
4
  description = "A LLM multi-agent framework."
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -25,7 +25,7 @@ keywords = [
25
25
  ]
26
26
 
27
27
 
28
- requires-python = ">=3.12,<3.13"
28
+ requires-python = ">=3.12,<3.14"
29
29
  dependencies = [
30
30
  "asyncio>=3.4.3",
31
31
  "asyncstdlib>=3.13.0",
@@ -72,18 +72,12 @@ dev = [
72
72
 
73
73
  [project.optional-dependencies]
74
74
  full = [
75
- "fabricatio[calc,ftd,plot,qa,rag,cli]",
75
+ "fabricatio[ftd,qa,rag,cli]",
76
76
  ]
77
77
  rag = [
78
78
  "pymilvus>=2.5.4",
79
79
  ]
80
80
 
81
- calc = [
82
- "sympy>=1.13.3",
83
- ]
84
- plot = [
85
- "matplotlib>=3.10.1",
86
- ]
87
81
  qa = [
88
82
  "questionary>=2.1.0",
89
83
  ]
@@ -1,19 +1,17 @@
1
1
  """Fabricatio is a Python library for building llm app using event-based agent structure."""
2
2
 
3
- from fabricatio import actions, capabilities, parser, toolboxes, workflows
3
+ from fabricatio import actions, capabilities, fs, models, parser, toolboxes, utils, workflows
4
4
  from fabricatio.journal import logger
5
- from fabricatio.models import extra
6
5
  from fabricatio.models.action import Action, WorkFlow
7
6
  from fabricatio.models.role import Role
8
7
  from fabricatio.models.task import Task
9
8
  from fabricatio.models.tool import ToolBox
10
- from fabricatio.rust import CONFIG, TEMPLATE_MANAGER, BibManager, Event
9
+ from fabricatio.rust import CONFIG, TEMPLATE_MANAGER, Event
11
10
 
12
11
  __all__ = [
13
12
  "CONFIG",
14
13
  "TEMPLATE_MANAGER",
15
14
  "Action",
16
- "BibManager",
17
15
  "Event",
18
16
  "Role",
19
17
  "Task",
@@ -21,9 +19,11 @@ __all__ = [
21
19
  "WorkFlow",
22
20
  "actions",
23
21
  "capabilities",
24
- "extra",
22
+ "fs",
25
23
  "logger",
24
+ "models",
26
25
  "parser",
27
26
  "toolboxes",
27
+ "utils",
28
28
  "workflows",
29
29
  ]
@@ -125,10 +125,10 @@ class WorkFlow(WithBriefing):
125
125
  steps: Sequence[Union[Type[Action], Action]] = Field(frozen=True)
126
126
  """The sequence of actions to be executed, can be action classes or instances."""
127
127
 
128
- task_input_key: ClassVar[str] = Field(default=INPUT_KEY)
128
+ task_input_key: ClassVar[str] = INPUT_KEY
129
129
  """Key used to store the input task in the context dictionary."""
130
130
 
131
- task_output_key: ClassVar[str] = Field(default=OUTPUT_KEY)
131
+ task_output_key: ClassVar[str] = OUTPUT_KEY
132
132
  """Key used to extract the final result from the context dictionary."""
133
133
 
134
134
  extra_init_context: Dict[str, Any] = Field(default_factory=dict, frozen=True)
@@ -2,6 +2,15 @@
2
2
 
3
3
  from typing import ClassVar, Dict, Generator, List, Self, Tuple, Type, override
4
4
 
5
+ from fabricatio.rust import (
6
+ convert_all_block_tex,
7
+ convert_all_inline_tex,
8
+ fix_misplaced_labels,
9
+ split_out_metadata,
10
+ word_count,
11
+ )
12
+ from pydantic import Field, NonNegativeInt
13
+
5
14
  from fabricatio.capabilities.persist import PersistentAble
6
15
  from fabricatio.decorators import precheck_package
7
16
  from fabricatio.journal import logger
@@ -18,16 +27,8 @@ from fabricatio.models.extra.article_outline import (
18
27
  ArticleSubsectionOutline,
19
28
  )
20
29
  from fabricatio.models.generic import Described, SequencePatch, SketchedAble, WithRef, WordCount
21
- from fabricatio.rust import (
22
- convert_all_block_tex,
23
- convert_all_inline_tex,
24
- fix_misplaced_labels,
25
- split_out_metadata,
26
- word_count,
27
- )
28
- from pydantic import Field, NonNegativeInt
29
30
 
30
- PARAGRAPH_SEP = "\n\n// - - -\n\n"
31
+ PARAGRAPH_SEP = "// - - -"
31
32
 
32
33
 
33
34
  class Paragraph(SketchedAble, WordCount, Described):
@@ -50,7 +51,7 @@ class Paragraph(SketchedAble, WordCount, Described):
50
51
  @classmethod
51
52
  def from_content(cls, content: str) -> Self:
52
53
  """Create a Paragraph object from the given content."""
53
- return cls(elaboration="", aims=[], expected_word_count=word_count(content), content=content)
54
+ return cls(elaboration="", aims=[], expected_word_count=word_count(content), content=content.strip())
54
55
 
55
56
  @property
56
57
  def exact_wordcount(self) -> int:
@@ -82,8 +83,8 @@ class ArticleSubsection(SubSectionBase):
82
83
  if len(self.paragraphs) == 0:
83
84
  summary += f"`{self.__class__.__name__}` titled `{self.title}` have no paragraphs, You should add some!\n"
84
85
  if (
85
- abs((wc := self.word_count) - self.expected_word_count) / self.expected_word_count
86
- > self._max_word_count_deviation
86
+ abs((wc := self.word_count) - self.expected_word_count) / self.expected_word_count
87
+ > self._max_word_count_deviation
87
88
  ):
88
89
  summary += f"`{self.__class__.__name__}` titled `{self.title}` have {wc} words, expected {self.expected_word_count} words!"
89
90
 
@@ -103,7 +104,7 @@ class ArticleSubsection(SubSectionBase):
103
104
  Returns:
104
105
  str: Typst code snippet for rendering.
105
106
  """
106
- return super().to_typst_code() + PARAGRAPH_SEP.join(p.content for p in self.paragraphs)
107
+ return super().to_typst_code() + f"\n\n{PARAGRAPH_SEP}\n\n".join(p.content for p in self.paragraphs)
107
108
 
108
109
  @classmethod
109
110
  def from_typst_code(cls, title: str, body: str, **kwargs) -> Self:
@@ -3,18 +3,18 @@
3
3
  This module provides classes for defining tools and toolboxes, which can be used to manage and execute callable functions
4
4
  with additional functionalities such as logging, execution info, and briefing.
5
5
  """
6
-
7
6
  from importlib.machinery import ModuleSpec
8
7
  from importlib.util import module_from_spec
9
8
  from inspect import iscoroutinefunction, signature
10
9
  from types import CodeType, ModuleType
11
10
  from typing import Any, Callable, Dict, List, Optional, Self, cast, overload
12
11
 
12
+ from fabricatio.rust import CONFIG
13
+ from pydantic import Field
14
+
13
15
  from fabricatio.decorators import logging_execution_info, use_temp_module
14
16
  from fabricatio.journal import logger
15
- from fabricatio.models.generic import WithBriefing
16
- from fabricatio.rust import CONFIG
17
- from pydantic import BaseModel, ConfigDict, Field
17
+ from fabricatio.models.generic import Base, WithBriefing
18
18
 
19
19
 
20
20
  class Tool[**P, R](WithBriefing):
@@ -181,7 +181,7 @@ class ToolBox(WithBriefing):
181
181
  return hash(self.briefing)
182
182
 
183
183
 
184
- class ToolExecutor(BaseModel):
184
+ class ToolExecutor(Base):
185
185
  """A class representing a tool executor with a sequence of tools to execute.
186
186
 
187
187
  This class manages a sequence of tools and provides methods to inject tools and data into a module, execute the tools,
@@ -192,7 +192,6 @@ class ToolExecutor(BaseModel):
192
192
  data (Dict[str, Any]): The data that could be used when invoking the tools.
193
193
  """
194
194
 
195
- model_config = ConfigDict(use_attribute_docstrings=True)
196
195
  candidates: List[Tool] = Field(default_factory=list, frozen=True)
197
196
  """The sequence of tools to execute."""
198
197
 
@@ -6,7 +6,6 @@ from asyncio import gather
6
6
  from typing import Callable, Dict, Iterable, List, Literal, Optional, Self, Sequence, Set, Union, Unpack, overload
7
7
 
8
8
  import asyncstdlib
9
- import litellm
10
9
  from fabricatio.decorators import logging_exec_time
11
10
  from fabricatio.journal import logger
12
11
  from fabricatio.models.generic import ScopedConfig, WithBriefing
@@ -15,7 +14,12 @@ from fabricatio.models.task import Task
15
14
  from fabricatio.models.tool import Tool, ToolBox
16
15
  from fabricatio.rust import CONFIG, TEMPLATE_MANAGER
17
16
  from fabricatio.utils import first_available, ok
18
- from litellm import RateLimitError, Router, stream_chunk_builder # pyright: ignore [reportPrivateImportUsage]
17
+ from litellm import ( # pyright: ignore [reportPrivateImportUsage]
18
+ RateLimitError,
19
+ Router,
20
+ aembedding,
21
+ stream_chunk_builder,
22
+ )
19
23
  from litellm.types.router import Deployment, LiteLLM_Params, ModelInfo
20
24
  from litellm.types.utils import (
21
25
  Choices,
@@ -534,7 +538,7 @@ class EmbeddingUsage(LLMUsage, ABC):
534
538
  logger.error(err := f"Input text exceeds maximum sequence length {max_len}, got {length}.")
535
539
  raise ValueError(err)
536
540
 
537
- return await litellm.aembedding(
541
+ return await aembedding(
538
542
  input=input_text,
539
543
  caching=caching or self.embedding_caching or CONFIG.embedding.caching,
540
544
  dimensions=dimensions or self.embedding_dimensions or CONFIG.embedding.dimensions,
Binary file