lionagi 0.17.6__tar.gz → 0.17.7__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 (322) hide show
  1. {lionagi-0.17.6 → lionagi-0.17.7}/PKG-INFO +1 -1
  2. lionagi-0.17.7/benchmarks/comparisons/README.md +167 -0
  3. lionagi-0.17.7/benchmarks/comparisons/benchmark_detailed_20250920_225646.csv +401 -0
  4. lionagi-0.17.7/benchmarks/comparisons/benchmark_professional.py +540 -0
  5. lionagi-0.17.7/benchmarks/comparisons/benchmark_results_20250920_225646.json +5534 -0
  6. lionagi-0.17.7/benchmarks/comparisons/benchmark_summary_20250920_225646.csv +21 -0
  7. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/__init__.py +5 -2
  8. lionagi-0.17.7/lionagi/service/__init__.py +99 -0
  9. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/hooks/_types.py +4 -4
  10. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/hooks/hook_registry.py +11 -11
  11. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/hooks/hooked_event.py +2 -2
  12. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/imodel.py +9 -4
  13. lionagi-0.17.7/lionagi/version.py +1 -0
  14. {lionagi-0.17.6 → lionagi-0.17.7}/pyproject.toml +1 -1
  15. {lionagi-0.17.6 → lionagi-0.17.7}/uv.lock +1 -1
  16. lionagi-0.17.6/lionagi/service/__init__.py +0 -40
  17. lionagi-0.17.6/lionagi/version.py +0 -1
  18. {lionagi-0.17.6 → lionagi-0.17.7}/.coveragerc +0 -0
  19. {lionagi-0.17.6 → lionagi-0.17.7}/.env.example +0 -0
  20. {lionagi-0.17.6 → lionagi-0.17.7}/.github/FUNDING.yml +0 -0
  21. {lionagi-0.17.6 → lionagi-0.17.7}/.github/dependabot.yml +0 -0
  22. {lionagi-0.17.6 → lionagi-0.17.7}/.github/workflows/benchmarks.yml +0 -0
  23. {lionagi-0.17.6 → lionagi-0.17.7}/.github/workflows/ci.yml +0 -0
  24. {lionagi-0.17.6 → lionagi-0.17.7}/.github/workflows/codeql.yml +0 -0
  25. {lionagi-0.17.6 → lionagi-0.17.7}/.github/workflows/docs-deploy.yml +0 -0
  26. {lionagi-0.17.6 → lionagi-0.17.7}/.github/workflows/refresh-bench-baselines.yml +0 -0
  27. {lionagi-0.17.6 → lionagi-0.17.7}/.github/workflows/release.yml +0 -0
  28. {lionagi-0.17.6 → lionagi-0.17.7}/.gitignore +0 -0
  29. {lionagi-0.17.6 → lionagi-0.17.7}/.pre-commit-config.yaml +0 -0
  30. {lionagi-0.17.6 → lionagi-0.17.7}/.python-version +0 -0
  31. {lionagi-0.17.6 → lionagi-0.17.7}/CODE_OF_CONDUCT.md +0 -0
  32. {lionagi-0.17.6 → lionagi-0.17.7}/CONTRIBUTING.md +0 -0
  33. {lionagi-0.17.6 → lionagi-0.17.7}/LICENSE +0 -0
  34. {lionagi-0.17.6 → lionagi-0.17.7}/README.md +0 -0
  35. {lionagi-0.17.6 → lionagi-0.17.7}/assets/operation_builder.gif +0 -0
  36. {lionagi-0.17.6 → lionagi-0.17.7}/benchmarks/README.md +0 -0
  37. {lionagi-0.17.6 → lionagi-0.17.7}/benchmarks/baselines/.gitkeep +0 -0
  38. {lionagi-0.17.6 → lionagi-0.17.7}/benchmarks/baselines/concurrency-asyncio.json +0 -0
  39. {lionagi-0.17.6 → lionagi-0.17.7}/benchmarks/baselines/concurrency-trio.json +0 -0
  40. {lionagi-0.17.6 → lionagi-0.17.7}/benchmarks/baselines/fuzzy.json +0 -0
  41. {lionagi-0.17.6 → lionagi-0.17.7}/benchmarks/baselines/ln-asyncio.json +0 -0
  42. {lionagi-0.17.6 → lionagi-0.17.7}/benchmarks/baselines/ln-trio.json +0 -0
  43. {lionagi-0.17.6 → lionagi-0.17.7}/benchmarks/ci_compare.py +0 -0
  44. {lionagi-0.17.6 → lionagi-0.17.7}/benchmarks/concurrency_bench.py +0 -0
  45. {lionagi-0.17.6 → lionagi-0.17.7}/benchmarks/fuzzy_bench.py +0 -0
  46. {lionagi-0.17.6 → lionagi-0.17.7}/benchmarks/ln_bench.py +0 -0
  47. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/001_branch_converse.ipynb +0 -0
  48. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/002_branch_interact.ipynb +0 -0
  49. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/003_branch_info.ipynb +0 -0
  50. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/004_conversation_patterns.ipynb +0 -0
  51. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/005_react_basics.ipynb +0 -0
  52. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/006_operation_graphs_claim_extraction.ipynb +0 -0
  53. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/007_fan_out_in.py +0 -0
  54. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/data/002_comedian.json +0 -0
  55. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/data/002_critic.json +0 -0
  56. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/data/006_lion_proof_ch2.md +0 -0
  57. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/using_claude_code/claude_proxy/README.md +0 -0
  58. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/using_claude_code/claude_proxy/claude_code_proxy.py +0 -0
  59. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/using_claude_code/claude_proxy/run_w_claude_code_proxy.ipynb +0 -0
  60. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/using_claude_code/using_claude_code.py +0 -0
  61. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/using_mcp/.mcp.json +0 -0
  62. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/using_mcp/README.md +0 -0
  63. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/using_mcp/react_mcp_with_schema.py +0 -0
  64. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/using_mcp/search_group.py +0 -0
  65. {lionagi-0.17.6 → lionagi-0.17.7}/cookbooks/using_mcp/search_group_config.json +0 -0
  66. {lionagi-0.17.6 → lionagi-0.17.7}/docs/DOCUMENTATION_STANDARDS.md +0 -0
  67. {lionagi-0.17.6 → lionagi-0.17.7}/docs/advanced/custom-operations.md +0 -0
  68. {lionagi-0.17.6 → lionagi-0.17.7}/docs/advanced/error-handling.md +0 -0
  69. {lionagi-0.17.6 → lionagi-0.17.7}/docs/advanced/flow-composition.md +0 -0
  70. {lionagi-0.17.6 → lionagi-0.17.7}/docs/advanced/index.md +0 -0
  71. {lionagi-0.17.6 → lionagi-0.17.7}/docs/advanced/observability.md +0 -0
  72. {lionagi-0.17.6 → lionagi-0.17.7}/docs/advanced/performance.md +0 -0
  73. {lionagi-0.17.6 → lionagi-0.17.7}/docs/code-of-conduct.md +0 -0
  74. {lionagi-0.17.6 → lionagi-0.17.7}/docs/comparisons/langgraph.md +0 -0
  75. {lionagi-0.17.6 → lionagi-0.17.7}/docs/contributing.md +0 -0
  76. {lionagi-0.17.6 → lionagi-0.17.7}/docs/cookbook/brainstorming.md +0 -0
  77. {lionagi-0.17.6 → lionagi-0.17.7}/docs/cookbook/claim-extraction.md +0 -0
  78. {lionagi-0.17.6 → lionagi-0.17.7}/docs/cookbook/code-review-crew.md +0 -0
  79. {lionagi-0.17.6 → lionagi-0.17.7}/docs/cookbook/data-persistence.md +0 -0
  80. {lionagi-0.17.6 → lionagi-0.17.7}/docs/cookbook/hr-automation.md +0 -0
  81. {lionagi-0.17.6 → lionagi-0.17.7}/docs/cookbook/index.md +0 -0
  82. {lionagi-0.17.6 → lionagi-0.17.7}/docs/cookbook/research-synthesis.md +0 -0
  83. {lionagi-0.17.6 → lionagi-0.17.7}/docs/core-concepts/index.md +0 -0
  84. {lionagi-0.17.6 → lionagi-0.17.7}/docs/core-concepts/lionagi-philosophy.md +0 -0
  85. {lionagi-0.17.6 → lionagi-0.17.7}/docs/core-concepts/messages-and-memory.md +0 -0
  86. {lionagi-0.17.6 → lionagi-0.17.7}/docs/core-concepts/models-and-providers.md +0 -0
  87. {lionagi-0.17.6 → lionagi-0.17.7}/docs/core-concepts/operations.md +0 -0
  88. {lionagi-0.17.6 → lionagi-0.17.7}/docs/core-concepts/sessions-and-branches.md +0 -0
  89. {lionagi-0.17.6 → lionagi-0.17.7}/docs/core-concepts/tools-and-functions.md +0 -0
  90. {lionagi-0.17.6 → lionagi-0.17.7}/docs/for-ai-agents/claude-code-usage.md +0 -0
  91. {lionagi-0.17.6 → lionagi-0.17.7}/docs/for-ai-agents/index.md +0 -0
  92. {lionagi-0.17.6 → lionagi-0.17.7}/docs/for-ai-agents/orchestration-guide.md +0 -0
  93. {lionagi-0.17.6 → lionagi-0.17.7}/docs/for-ai-agents/pattern-selection.md +0 -0
  94. {lionagi-0.17.6 → lionagi-0.17.7}/docs/for-ai-agents/self-improvement.md +0 -0
  95. {lionagi-0.17.6 → lionagi-0.17.7}/docs/includes/abbreviations.md +0 -0
  96. {lionagi-0.17.6 → lionagi-0.17.7}/docs/index.md +0 -0
  97. {lionagi-0.17.6 → lionagi-0.17.7}/docs/integrations/databases.md +0 -0
  98. {lionagi-0.17.6 → lionagi-0.17.7}/docs/integrations/dspy-optimization.md +0 -0
  99. {lionagi-0.17.6 → lionagi-0.17.7}/docs/integrations/index.md +0 -0
  100. {lionagi-0.17.6 → lionagi-0.17.7}/docs/integrations/llamaindex-rag.md +0 -0
  101. {lionagi-0.17.6 → lionagi-0.17.7}/docs/integrations/llm-providers.md +0 -0
  102. {lionagi-0.17.6 → lionagi-0.17.7}/docs/integrations/mcp-servers.md +0 -0
  103. {lionagi-0.17.6 → lionagi-0.17.7}/docs/integrations/tools.md +0 -0
  104. {lionagi-0.17.6 → lionagi-0.17.7}/docs/integrations/vector-stores.md +0 -0
  105. {lionagi-0.17.6 → lionagi-0.17.7}/docs/marketing/language-interoperability-manifesto.md +0 -0
  106. {lionagi-0.17.6 → lionagi-0.17.7}/docs/migration/from-autogen.md +0 -0
  107. {lionagi-0.17.6 → lionagi-0.17.7}/docs/migration/from-crewai.md +0 -0
  108. {lionagi-0.17.6 → lionagi-0.17.7}/docs/migration/from-langchain.md +0 -0
  109. {lionagi-0.17.6 → lionagi-0.17.7}/docs/migration/index.md +0 -0
  110. {lionagi-0.17.6 → lionagi-0.17.7}/docs/patterns/conditional-flows.md +0 -0
  111. {lionagi-0.17.6 → lionagi-0.17.7}/docs/patterns/fan-out-in.md +0 -0
  112. {lionagi-0.17.6 → lionagi-0.17.7}/docs/patterns/index.md +0 -0
  113. {lionagi-0.17.6 → lionagi-0.17.7}/docs/patterns/react-with-rag.md +0 -0
  114. {lionagi-0.17.6 → lionagi-0.17.7}/docs/patterns/sequential-analysis.md +0 -0
  115. {lionagi-0.17.6 → lionagi-0.17.7}/docs/patterns/tournament-validation.md +0 -0
  116. {lionagi-0.17.6 → lionagi-0.17.7}/docs/problem-statement.md +0 -0
  117. {lionagi-0.17.6 → lionagi-0.17.7}/docs/quickstart/claude-code-integration.md +0 -0
  118. {lionagi-0.17.6 → lionagi-0.17.7}/docs/quickstart/index.md +0 -0
  119. {lionagi-0.17.6 → lionagi-0.17.7}/docs/quickstart/installation.md +0 -0
  120. {lionagi-0.17.6 → lionagi-0.17.7}/docs/quickstart/orchestration-first.md +0 -0
  121. {lionagi-0.17.6 → lionagi-0.17.7}/docs/quickstart/your-first-flow.md +0 -0
  122. {lionagi-0.17.6 → lionagi-0.17.7}/docs/reference/api/index.md +0 -0
  123. {lionagi-0.17.6 → lionagi-0.17.7}/docs/reference/changelog.md +0 -0
  124. {lionagi-0.17.6 → lionagi-0.17.7}/docs/reference/troubleshooting.md +0 -0
  125. {lionagi-0.17.6 → lionagi-0.17.7}/docs/stylesheets/extra.css +0 -0
  126. {lionagi-0.17.6 → lionagi-0.17.7}/docs/thinking-in-lionagi/branches-as-agents.md +0 -0
  127. {lionagi-0.17.6 → lionagi-0.17.7}/docs/thinking-in-lionagi/builder-pattern.md +0 -0
  128. {lionagi-0.17.6 → lionagi-0.17.7}/docs/thinking-in-lionagi/graphs-over-chains.md +0 -0
  129. {lionagi-0.17.6 → lionagi-0.17.7}/docs/thinking-in-lionagi/index.md +0 -0
  130. {lionagi-0.17.6 → lionagi-0.17.7}/docs/thinking-in-lionagi/why-lionagi.md +0 -0
  131. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/_class_registry.py +0 -0
  132. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/_errors.py +0 -0
  133. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/_types.py +0 -0
  134. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/adapters/__init__.py +0 -0
  135. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/adapters/_utils.py +0 -0
  136. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/adapters/async_postgres_adapter.py +0 -0
  137. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/config.py +0 -0
  138. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/fields/__init__.py +0 -0
  139. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/fields/action.py +0 -0
  140. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/fields/base.py +0 -0
  141. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/fields/code.py +0 -0
  142. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/fields/file.py +0 -0
  143. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/fields/instruct.py +0 -0
  144. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/fields/reason.py +0 -0
  145. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/fields/research.py +0 -0
  146. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/__init__.py +0 -0
  147. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/file/__init__.py +0 -0
  148. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/file/chunk.py +0 -0
  149. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/file/process.py +0 -0
  150. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/schema/__init__.py +0 -0
  151. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/schema/as_readable.py +0 -0
  152. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/schema/breakdown_pydantic_annotation.py +0 -0
  153. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/schema/extract_code_block.py +0 -0
  154. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/schema/extract_docstring.py +0 -0
  155. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/schema/function_to_schema.py +0 -0
  156. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/schema/load_pydantic_model_from_schema.py +0 -0
  157. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/validate/__init__.py +0 -0
  158. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/validate/common_field_validators.py +0 -0
  159. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/validate/to_num.py +0 -0
  160. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/libs/validate/validate_boolean.py +0 -0
  161. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/__init__.py +0 -0
  162. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/_async_call.py +0 -0
  163. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/_hash.py +0 -0
  164. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/_json_dump.py +0 -0
  165. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/_list_call.py +0 -0
  166. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/_to_list.py +0 -0
  167. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/_utils.py +0 -0
  168. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/concurrency/__init__.py +0 -0
  169. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/concurrency/_compat.py +0 -0
  170. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/concurrency/cancel.py +0 -0
  171. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/concurrency/errors.py +0 -0
  172. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/concurrency/patterns.py +0 -0
  173. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/concurrency/primitives.py +0 -0
  174. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/concurrency/resource_tracker.py +0 -0
  175. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/concurrency/task.py +0 -0
  176. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/concurrency/utils.py +0 -0
  177. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/fuzzy/__init__.py +0 -0
  178. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/fuzzy/_extract_json.py +0 -0
  179. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/fuzzy/_fuzzy_json.py +0 -0
  180. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/fuzzy/_fuzzy_match.py +0 -0
  181. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/fuzzy/_fuzzy_validate.py +0 -0
  182. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/fuzzy/_string_similarity.py +0 -0
  183. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/fuzzy/_to_dict.py +0 -0
  184. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/ln/types.py +0 -0
  185. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/models/__init__.py +0 -0
  186. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/models/field_model.py +0 -0
  187. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/models/hashable_model.py +0 -0
  188. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/models/model_params.py +0 -0
  189. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/models/operable_model.py +0 -0
  190. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/models/schema_model.py +0 -0
  191. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/ReAct/ReAct.py +0 -0
  192. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/ReAct/__init__.py +0 -0
  193. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/ReAct/utils.py +0 -0
  194. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/__init__.py +0 -0
  195. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/_act/__init__.py +0 -0
  196. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/_act/act.py +0 -0
  197. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/_visualize_graph.py +0 -0
  198. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/brainstorm/__init__.py +0 -0
  199. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/brainstorm/brainstorm.py +0 -0
  200. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/brainstorm/prompt.py +0 -0
  201. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/builder.py +0 -0
  202. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/chat/__init__.py +0 -0
  203. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/chat/chat.py +0 -0
  204. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/communicate/__init__.py +0 -0
  205. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/communicate/communicate.py +0 -0
  206. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/flow.py +0 -0
  207. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/instruct/__init__.py +0 -0
  208. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/instruct/instruct.py +0 -0
  209. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/interpret/__init__.py +0 -0
  210. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/interpret/interpret.py +0 -0
  211. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/manager.py +0 -0
  212. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/node.py +0 -0
  213. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/operate/__init__.py +0 -0
  214. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/operate/operate.py +0 -0
  215. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/parse/__init__.py +0 -0
  216. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/parse/parse.py +0 -0
  217. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/plan/__init__.py +0 -0
  218. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/plan/plan.py +0 -0
  219. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/plan/prompt.py +0 -0
  220. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/select/__init__.py +0 -0
  221. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/select/select.py +0 -0
  222. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/select/utils.py +0 -0
  223. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/types.py +0 -0
  224. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/operations/utils.py +0 -0
  225. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/__init__.py +0 -0
  226. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/_concepts.py +0 -0
  227. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/action/__init__.py +0 -0
  228. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/action/function_calling.py +0 -0
  229. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/action/manager.py +0 -0
  230. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/action/tool.py +0 -0
  231. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/contracts.py +0 -0
  232. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/forms/__init__.py +0 -0
  233. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/forms/base.py +0 -0
  234. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/forms/flow.py +0 -0
  235. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/forms/form.py +0 -0
  236. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/forms/report.py +0 -0
  237. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/generic/__init__.py +0 -0
  238. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/generic/element.py +0 -0
  239. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/generic/event.py +0 -0
  240. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/generic/log.py +0 -0
  241. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/generic/pile.py +0 -0
  242. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/generic/processor.py +0 -0
  243. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/generic/progression.py +0 -0
  244. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/graph/__init__.py +0 -0
  245. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/graph/edge.py +0 -0
  246. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/graph/graph.py +0 -0
  247. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/graph/node.py +0 -0
  248. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/ids.py +0 -0
  249. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/mail/__init__.py +0 -0
  250. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/mail/exchange.py +0 -0
  251. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/mail/mail.py +0 -0
  252. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/mail/mailbox.py +0 -0
  253. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/mail/manager.py +0 -0
  254. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/mail/package.py +0 -0
  255. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/__init__.py +0 -0
  256. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/action_request.py +0 -0
  257. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/action_response.py +0 -0
  258. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/assistant_response.py +0 -0
  259. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/base.py +0 -0
  260. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/instruction.py +0 -0
  261. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/manager.py +0 -0
  262. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/message.py +0 -0
  263. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/system.py +0 -0
  264. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/templates/README.md +0 -0
  265. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/templates/action_request.jinja2 +0 -0
  266. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/templates/action_response.jinja2 +0 -0
  267. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/templates/assistant_response.jinja2 +0 -0
  268. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/templates/instruction_message.jinja2 +0 -0
  269. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/templates/system_message.jinja2 +0 -0
  270. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/messages/templates/tool_schemas.jinja2 +0 -0
  271. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/operatives/__init__.py +0 -0
  272. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/operatives/operative.py +0 -0
  273. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/operatives/step.py +0 -0
  274. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/protocols/types.py +0 -0
  275. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/py.typed +0 -0
  276. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/broadcaster.py +0 -0
  277. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/__init__.py +0 -0
  278. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/api_calling.py +0 -0
  279. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/endpoint.py +0 -0
  280. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/endpoint_config.py +0 -0
  281. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/header_factory.py +0 -0
  282. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/match_endpoint.py +0 -0
  283. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/mcp/__init__.py +0 -0
  284. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/mcp/wrapper.py +0 -0
  285. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/providers/__init__.py +0 -0
  286. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/providers/anthropic_.py +0 -0
  287. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/providers/claude_code_cli.py +0 -0
  288. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/providers/exa_.py +0 -0
  289. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/providers/nvidia_nim_.py +0 -0
  290. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/providers/oai_.py +0 -0
  291. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/providers/ollama_.py +0 -0
  292. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/providers/perplexity_.py +0 -0
  293. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/connections/providers/types.py +0 -0
  294. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/hooks/__init__.py +0 -0
  295. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/hooks/_utils.py +0 -0
  296. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/hooks/hook_event.py +0 -0
  297. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/manager.py +0 -0
  298. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/rate_limited_processor.py +0 -0
  299. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/resilience.py +0 -0
  300. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/third_party/README.md +0 -0
  301. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/third_party/__init__.py +0 -0
  302. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/third_party/anthropic_models.py +0 -0
  303. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/third_party/claude_code.py +0 -0
  304. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/third_party/exa_models.py +0 -0
  305. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/third_party/openai_model_names.py +0 -0
  306. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/third_party/pplx_models.py +0 -0
  307. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/token_calculator.py +0 -0
  308. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/service/types.py +0 -0
  309. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/session/__init__.py +0 -0
  310. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/session/branch.py +0 -0
  311. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/session/prompts.py +0 -0
  312. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/session/session.py +0 -0
  313. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/tools/__init__.py +0 -0
  314. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/tools/base.py +0 -0
  315. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/tools/file/__init__.py +0 -0
  316. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/tools/file/reader.py +0 -0
  317. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/tools/types.py +0 -0
  318. {lionagi-0.17.6 → lionagi-0.17.7}/lionagi/utils.py +0 -0
  319. {lionagi-0.17.6 → lionagi-0.17.7}/main.py +0 -0
  320. {lionagi-0.17.6 → lionagi-0.17.7}/mkdocs.yml +0 -0
  321. {lionagi-0.17.6 → lionagi-0.17.7}/scripts/README.md +0 -0
  322. {lionagi-0.17.6 → lionagi-0.17.7}/scripts/update_openai_models.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lionagi
3
- Version: 0.17.6
3
+ Version: 0.17.7
4
4
  Summary: An Intelligence Operating System.
5
5
  Author-email: HaiyangLi <quantocean.li@gmail.com>
6
6
  License: Apache License
@@ -0,0 +1,167 @@
1
+ # Agentic AI Framework Performance Benchmarks
2
+
3
+ Comparative performance analysis of major Python agentic AI frameworks, focusing on cold-start performance and memory usage.
4
+
5
+ ## Executive Summary
6
+
7
+ Benchmark comparison of five Python agentic AI frameworks measuring cold-start performance and memory usage.
8
+
9
+ Key findings:
10
+ - Core object creation: LionAGI 158ms, LangGraph 266ms, AutoGen 898ms
11
+ - Practical setup time: LionAGI 276ms, AutoGen 904ms, LangChain 1925ms
12
+ - Memory usage: LionAGI 27-50MB, LangGraph 45-49MB, AutoGen 125-145MB
13
+ - Import performance: LangGraph 0.1ms, LionAGI 35ms, AutoGen 882ms
14
+
15
+ ## Benchmark Results
16
+
17
+ *20 runs per test • Python 3.10.15 • Process isolation per run*
18
+
19
+ ### Import Performance
20
+ | Framework | Median (ms) | Range | Memory (MB) |
21
+ |-----------|-------------|-------|-------------|
22
+ | **LangGraph** | 0.1 | 0.1-0.1 | 0.0 |
23
+ | **LionAGI** | 34.9 | 32.4-55.5 | 10.1 |
24
+ | **LangChain** | 59.3 | 57.2-72.5 | 15.6 |
25
+ | **LlamaIndex** | 535.0 | 504.9-784.5 | 92.9 |
26
+ | **AutoGen** | 881.6 | 857.2-1314.7 | 130.6 |
27
+
28
+ ### Core Object Creation
29
+ | Framework | Median (ms) | Relative | Memory (MB) | Use Case |
30
+ |-----------|-------------|----------|-------------|----------|
31
+ | **LionAGI** | 158.0 | 1.0x | 26.6 | AI model abstraction |
32
+ | **LangGraph** | 266.4 | 1.7x | 48.5 | State machine |
33
+ | **LlamaIndex** | 540.7 | 3.4x | 91.0 | Document processing |
34
+ | **AutoGen** | 898.3 | 5.7x | 125.6 | Agent conversation |
35
+ | **LangChain** | 2030.0 | 12.8x | 245.7 | Prompt template |
36
+
37
+ ### High-Level Orchestration
38
+ | Framework | Median (ms) | Relative | Memory (MB) | Capabilities |
39
+ |-----------|-------------|----------|-------------|--------------|
40
+ | **LangGraph** | 250.4 | 0.89x | 45.3 | Graph compilation |
41
+ | **LionAGI** | 280.8 | 1.0x | 44.0 | Builder + Session |
42
+ | **AutoGen** | 844.3 | 3.0x | 121.3 | Group chat setup |
43
+ | **LangChain** | 1931.0 | 6.9x | 242.9 | Runnable sequence |
44
+ | **LlamaIndex** | 2258.5 | 8.0x | 282.6 | Settings config |
45
+
46
+ ### Practical Setup
47
+ | Framework | Median (ms) | Relative | Memory (MB) | Lines of Code |
48
+ |-----------|-------------|----------|-------------|---------------|
49
+ | **LionAGI** | 276.3 | 1.0x | 42.6 | 6 lines |
50
+ | **AutoGen** | 904.2 | 3.3x | 129.4 | 8 lines |
51
+ | **LangGraph** | 1921.6 | 7.0x | 241.6 | 15 lines |
52
+ | **LangChain** | 1924.7 | 7.0x | 240.6 | 7 lines |
53
+ | **LlamaIndex** | 2504.1 | 9.1x | 323.5 | 9 lines |
54
+
55
+ ## Performance Analysis
56
+
57
+ ### Observations
58
+
59
+ **Import Performance**
60
+ - LangGraph: 0.1ms
61
+ - LionAGI and LangChain: 35-59ms
62
+ - LlamaIndex: 535ms
63
+ - AutoGen: 882ms
64
+
65
+ **Object Creation Patterns**
66
+ - LionAGI: 158ms for core iModel object
67
+ - LangGraph: 266ms for state machine setup
68
+ - LlamaIndex: 541ms for document indexing setup
69
+ - AutoGen: 898ms for conversation agent
70
+ - LangChain: 2030ms for prompt template
71
+
72
+ **Memory Footprint**
73
+ - LionAGI: 27-50MB
74
+ - LangGraph: 45-49MB
75
+ - AutoGen: 120-145MB
76
+ - LangChain: 240-250MB
77
+ - LlamaIndex: 280-340MB
78
+
79
+ **Practical Setup Times**
80
+ - LionAGI: 276ms (6 lines)
81
+ - AutoGen: 904ms (8 lines)
82
+ - LangGraph: 1922ms (15 lines)
83
+ - LangChain: 1925ms (7 lines)
84
+ - LlamaIndex: 2504ms (9 lines)
85
+
86
+ ### Framework Characteristics
87
+
88
+ | Framework | Primary Use Case | Strengths | Considerations |
89
+ |-----------|-----------------|-----------|----------------|
90
+ | **LionAGI** | Multi-model orchestration | Consistent performance, low memory | Moderate import time |
91
+ | **LangGraph** | State-based workflows | Minimal import overhead | Higher setup complexity |
92
+ | **LangChain** | Ecosystem integration | Extensive tooling | Performance overhead |
93
+ | **AutoGen** | Multi-agent systems | Conversation patterns | High resource usage |
94
+ | **LlamaIndex** | Document processing | Specialized for RAG | Large memory footprint |
95
+
96
+ ## Methodology
97
+
98
+ ### Test Environment
99
+ - **Platform**: macOS
100
+ - **Python Version**: 3.10.15
101
+ - **Runs Per Test**: 20 independent runs
102
+ - **Process Isolation**: Fresh Python interpreter per run
103
+ - **Memory Measurement**: RSS (Resident Set Size) tracked within subprocess
104
+ - **Cache Management**: Module cache cleared between runs
105
+
106
+ ### Test Scenarios
107
+
108
+ 1. **Import Performance**: Time to import the framework module
109
+ 2. **Core Object Creation**: Initialization of fundamental framework objects
110
+ 3. **High-Level Orchestration**: Setup of production-ready components
111
+ 4. **Practical Setup**: Minimal code to send message to AI
112
+
113
+ ### Statistical Approach
114
+ - Median values reported as primary metric (more stable than mean)
115
+ - Standard deviation included to show consistency
116
+ - Min/max range provided for worst-case analysis
117
+
118
+ ## Reproducing Results
119
+
120
+ ```bash
121
+ # Clone and setup
122
+ git clone https://github.com/lion-agi/lionagi.git
123
+ cd lionagi/benchmarks/comparisons
124
+
125
+ # Install dependencies
126
+ uv add --dev langgraph langchain langchain-community
127
+ uv add --dev llama-index-core pyautogen psutil
128
+
129
+ # Run benchmark (20 runs, ~10 minutes)
130
+ uv run benchmark_professional.py
131
+
132
+ # View results
133
+ ls benchmark_*
134
+ ```
135
+
136
+ ## Use Case Considerations
137
+
138
+ ### Serverless Deployments
139
+ - Import time and memory usage directly impact cold start performance and costs
140
+ - Frameworks with sub-100ms import times suitable for latency-sensitive applications
141
+ - Memory footprint affects container sizing and concurrent execution limits
142
+
143
+ ### Development Workflow
144
+ - Faster initialization times provide quicker feedback during development
145
+ - Lower memory usage allows running more tests in parallel
146
+ - Code complexity (lines required) affects maintainability
147
+
148
+ ## Summary
149
+
150
+ The benchmarks show distinct performance profiles across frameworks:
151
+
152
+ - **LangGraph**: Minimal import overhead (0.1ms) with moderate setup times
153
+ - **LionAGI**: Low setup times (158-276ms) with moderate memory usage (27-50MB)
154
+ - **AutoGen**: Higher initialization costs (900ms) focused on multi-agent conversations
155
+ - **LangChain**: Extensive ecosystem with corresponding performance overhead (2000ms+)
156
+ - **LlamaIndex**: Document-processing specialized with largest resource requirements
157
+
158
+ Framework selection should consider specific use case requirements including cold-start sensitivity, memory constraints, feature needs, and development complexity.
159
+
160
+ ---
161
+
162
+ ### Raw Data
163
+ - **Summary CSV**: Statistical analysis across all frameworks
164
+ - **Detailed CSV**: Individual run data with memory tracking
165
+ - **JSON Export**: Complete benchmark metadata and results
166
+
167
+ *Last updated: September 2025 • LionAGI v1.0 • [Benchmark methodology](./benchmark_professional.py)*