hexdag 0.5.0.dev1__py3-none-any.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 (261) hide show
  1. hexdag/__init__.py +116 -0
  2. hexdag/__main__.py +30 -0
  3. hexdag/adapters/executors/__init__.py +5 -0
  4. hexdag/adapters/executors/local_executor.py +316 -0
  5. hexdag/builtin/__init__.py +6 -0
  6. hexdag/builtin/adapters/__init__.py +51 -0
  7. hexdag/builtin/adapters/anthropic/__init__.py +5 -0
  8. hexdag/builtin/adapters/anthropic/anthropic_adapter.py +151 -0
  9. hexdag/builtin/adapters/database/__init__.py +6 -0
  10. hexdag/builtin/adapters/database/csv/csv_adapter.py +249 -0
  11. hexdag/builtin/adapters/database/pgvector/__init__.py +5 -0
  12. hexdag/builtin/adapters/database/pgvector/pgvector_adapter.py +478 -0
  13. hexdag/builtin/adapters/database/sqlalchemy/sqlalchemy_adapter.py +252 -0
  14. hexdag/builtin/adapters/database/sqlite/__init__.py +5 -0
  15. hexdag/builtin/adapters/database/sqlite/sqlite_adapter.py +410 -0
  16. hexdag/builtin/adapters/local/README.md +59 -0
  17. hexdag/builtin/adapters/local/__init__.py +7 -0
  18. hexdag/builtin/adapters/local/local_observer_manager.py +696 -0
  19. hexdag/builtin/adapters/memory/__init__.py +47 -0
  20. hexdag/builtin/adapters/memory/file_memory_adapter.py +297 -0
  21. hexdag/builtin/adapters/memory/in_memory_memory.py +216 -0
  22. hexdag/builtin/adapters/memory/schemas.py +57 -0
  23. hexdag/builtin/adapters/memory/session_memory.py +178 -0
  24. hexdag/builtin/adapters/memory/sqlite_memory_adapter.py +215 -0
  25. hexdag/builtin/adapters/memory/state_memory.py +280 -0
  26. hexdag/builtin/adapters/mock/README.md +89 -0
  27. hexdag/builtin/adapters/mock/__init__.py +15 -0
  28. hexdag/builtin/adapters/mock/hexdag.toml +50 -0
  29. hexdag/builtin/adapters/mock/mock_database.py +225 -0
  30. hexdag/builtin/adapters/mock/mock_embedding.py +223 -0
  31. hexdag/builtin/adapters/mock/mock_llm.py +177 -0
  32. hexdag/builtin/adapters/mock/mock_tool_adapter.py +192 -0
  33. hexdag/builtin/adapters/mock/mock_tool_router.py +232 -0
  34. hexdag/builtin/adapters/openai/__init__.py +5 -0
  35. hexdag/builtin/adapters/openai/openai_adapter.py +634 -0
  36. hexdag/builtin/adapters/secret/__init__.py +7 -0
  37. hexdag/builtin/adapters/secret/local_secret_adapter.py +248 -0
  38. hexdag/builtin/adapters/unified_tool_router.py +280 -0
  39. hexdag/builtin/macros/__init__.py +17 -0
  40. hexdag/builtin/macros/conversation_agent.py +390 -0
  41. hexdag/builtin/macros/llm_macro.py +151 -0
  42. hexdag/builtin/macros/reasoning_agent.py +423 -0
  43. hexdag/builtin/macros/tool_macro.py +380 -0
  44. hexdag/builtin/nodes/__init__.py +38 -0
  45. hexdag/builtin/nodes/_discovery.py +123 -0
  46. hexdag/builtin/nodes/agent_node.py +696 -0
  47. hexdag/builtin/nodes/base_node_factory.py +242 -0
  48. hexdag/builtin/nodes/composite_node.py +926 -0
  49. hexdag/builtin/nodes/data_node.py +201 -0
  50. hexdag/builtin/nodes/expression_node.py +487 -0
  51. hexdag/builtin/nodes/function_node.py +454 -0
  52. hexdag/builtin/nodes/llm_node.py +491 -0
  53. hexdag/builtin/nodes/loop_node.py +920 -0
  54. hexdag/builtin/nodes/mapped_input.py +518 -0
  55. hexdag/builtin/nodes/port_call_node.py +269 -0
  56. hexdag/builtin/nodes/tool_call_node.py +195 -0
  57. hexdag/builtin/nodes/tool_utils.py +390 -0
  58. hexdag/builtin/prompts/__init__.py +68 -0
  59. hexdag/builtin/prompts/base.py +422 -0
  60. hexdag/builtin/prompts/chat_prompts.py +303 -0
  61. hexdag/builtin/prompts/error_correction_prompts.py +320 -0
  62. hexdag/builtin/prompts/tool_prompts.py +160 -0
  63. hexdag/builtin/tools/builtin_tools.py +84 -0
  64. hexdag/builtin/tools/database_tools.py +164 -0
  65. hexdag/cli/__init__.py +17 -0
  66. hexdag/cli/__main__.py +7 -0
  67. hexdag/cli/commands/__init__.py +27 -0
  68. hexdag/cli/commands/build_cmd.py +812 -0
  69. hexdag/cli/commands/create_cmd.py +208 -0
  70. hexdag/cli/commands/docs_cmd.py +293 -0
  71. hexdag/cli/commands/generate_types_cmd.py +252 -0
  72. hexdag/cli/commands/init_cmd.py +188 -0
  73. hexdag/cli/commands/pipeline_cmd.py +494 -0
  74. hexdag/cli/commands/plugin_dev_cmd.py +529 -0
  75. hexdag/cli/commands/plugins_cmd.py +441 -0
  76. hexdag/cli/commands/studio_cmd.py +101 -0
  77. hexdag/cli/commands/validate_cmd.py +221 -0
  78. hexdag/cli/main.py +84 -0
  79. hexdag/core/__init__.py +83 -0
  80. hexdag/core/config/__init__.py +20 -0
  81. hexdag/core/config/loader.py +479 -0
  82. hexdag/core/config/models.py +150 -0
  83. hexdag/core/configurable.py +294 -0
  84. hexdag/core/context/__init__.py +37 -0
  85. hexdag/core/context/execution_context.py +378 -0
  86. hexdag/core/docs/__init__.py +26 -0
  87. hexdag/core/docs/extractors.py +678 -0
  88. hexdag/core/docs/generators.py +890 -0
  89. hexdag/core/docs/models.py +120 -0
  90. hexdag/core/domain/__init__.py +10 -0
  91. hexdag/core/domain/dag.py +1225 -0
  92. hexdag/core/exceptions.py +234 -0
  93. hexdag/core/expression_parser.py +569 -0
  94. hexdag/core/logging.py +449 -0
  95. hexdag/core/models/__init__.py +17 -0
  96. hexdag/core/models/base.py +138 -0
  97. hexdag/core/orchestration/__init__.py +46 -0
  98. hexdag/core/orchestration/body_executor.py +481 -0
  99. hexdag/core/orchestration/components/__init__.py +97 -0
  100. hexdag/core/orchestration/components/adapter_lifecycle_manager.py +113 -0
  101. hexdag/core/orchestration/components/checkpoint_manager.py +134 -0
  102. hexdag/core/orchestration/components/execution_coordinator.py +360 -0
  103. hexdag/core/orchestration/components/health_check_manager.py +176 -0
  104. hexdag/core/orchestration/components/input_mapper.py +143 -0
  105. hexdag/core/orchestration/components/lifecycle_manager.py +583 -0
  106. hexdag/core/orchestration/components/node_executor.py +377 -0
  107. hexdag/core/orchestration/components/secret_manager.py +202 -0
  108. hexdag/core/orchestration/components/wave_executor.py +158 -0
  109. hexdag/core/orchestration/constants.py +17 -0
  110. hexdag/core/orchestration/events/README.md +312 -0
  111. hexdag/core/orchestration/events/__init__.py +104 -0
  112. hexdag/core/orchestration/events/batching.py +330 -0
  113. hexdag/core/orchestration/events/decorators.py +139 -0
  114. hexdag/core/orchestration/events/events.py +573 -0
  115. hexdag/core/orchestration/events/observers/__init__.py +30 -0
  116. hexdag/core/orchestration/events/observers/core_observers.py +690 -0
  117. hexdag/core/orchestration/events/observers/models.py +111 -0
  118. hexdag/core/orchestration/events/taxonomy.py +269 -0
  119. hexdag/core/orchestration/hook_context.py +237 -0
  120. hexdag/core/orchestration/hooks.py +437 -0
  121. hexdag/core/orchestration/models.py +418 -0
  122. hexdag/core/orchestration/orchestrator.py +910 -0
  123. hexdag/core/orchestration/orchestrator_factory.py +275 -0
  124. hexdag/core/orchestration/port_wrappers.py +327 -0
  125. hexdag/core/orchestration/prompt/__init__.py +32 -0
  126. hexdag/core/orchestration/prompt/template.py +332 -0
  127. hexdag/core/pipeline_builder/__init__.py +21 -0
  128. hexdag/core/pipeline_builder/component_instantiator.py +386 -0
  129. hexdag/core/pipeline_builder/include_tag.py +265 -0
  130. hexdag/core/pipeline_builder/pipeline_config.py +133 -0
  131. hexdag/core/pipeline_builder/py_tag.py +223 -0
  132. hexdag/core/pipeline_builder/tag_discovery.py +268 -0
  133. hexdag/core/pipeline_builder/yaml_builder.py +1196 -0
  134. hexdag/core/pipeline_builder/yaml_validator.py +569 -0
  135. hexdag/core/ports/__init__.py +65 -0
  136. hexdag/core/ports/api_call.py +133 -0
  137. hexdag/core/ports/database.py +489 -0
  138. hexdag/core/ports/embedding.py +215 -0
  139. hexdag/core/ports/executor.py +237 -0
  140. hexdag/core/ports/file_storage.py +117 -0
  141. hexdag/core/ports/healthcheck.py +87 -0
  142. hexdag/core/ports/llm.py +551 -0
  143. hexdag/core/ports/memory.py +70 -0
  144. hexdag/core/ports/observer_manager.py +130 -0
  145. hexdag/core/ports/secret.py +145 -0
  146. hexdag/core/ports/tool_router.py +94 -0
  147. hexdag/core/ports_builder.py +623 -0
  148. hexdag/core/protocols.py +273 -0
  149. hexdag/core/resolver.py +304 -0
  150. hexdag/core/schema/__init__.py +9 -0
  151. hexdag/core/schema/generator.py +742 -0
  152. hexdag/core/secrets.py +242 -0
  153. hexdag/core/types.py +413 -0
  154. hexdag/core/utils/async_warnings.py +206 -0
  155. hexdag/core/utils/schema_conversion.py +78 -0
  156. hexdag/core/utils/sql_validation.py +86 -0
  157. hexdag/core/validation/secure_json.py +148 -0
  158. hexdag/core/yaml_macro.py +517 -0
  159. hexdag/mcp_server.py +3120 -0
  160. hexdag/studio/__init__.py +10 -0
  161. hexdag/studio/build_ui.py +92 -0
  162. hexdag/studio/server/__init__.py +1 -0
  163. hexdag/studio/server/main.py +100 -0
  164. hexdag/studio/server/routes/__init__.py +9 -0
  165. hexdag/studio/server/routes/execute.py +208 -0
  166. hexdag/studio/server/routes/export.py +558 -0
  167. hexdag/studio/server/routes/files.py +207 -0
  168. hexdag/studio/server/routes/plugins.py +419 -0
  169. hexdag/studio/server/routes/validate.py +220 -0
  170. hexdag/studio/ui/index.html +13 -0
  171. hexdag/studio/ui/package-lock.json +2992 -0
  172. hexdag/studio/ui/package.json +31 -0
  173. hexdag/studio/ui/postcss.config.js +6 -0
  174. hexdag/studio/ui/public/hexdag.svg +5 -0
  175. hexdag/studio/ui/src/App.tsx +251 -0
  176. hexdag/studio/ui/src/components/Canvas.tsx +408 -0
  177. hexdag/studio/ui/src/components/ContextMenu.tsx +187 -0
  178. hexdag/studio/ui/src/components/FileBrowser.tsx +123 -0
  179. hexdag/studio/ui/src/components/Header.tsx +181 -0
  180. hexdag/studio/ui/src/components/HexdagNode.tsx +193 -0
  181. hexdag/studio/ui/src/components/NodeInspector.tsx +512 -0
  182. hexdag/studio/ui/src/components/NodePalette.tsx +262 -0
  183. hexdag/studio/ui/src/components/NodePortsSection.tsx +403 -0
  184. hexdag/studio/ui/src/components/PluginManager.tsx +347 -0
  185. hexdag/studio/ui/src/components/PortsEditor.tsx +481 -0
  186. hexdag/studio/ui/src/components/PythonEditor.tsx +195 -0
  187. hexdag/studio/ui/src/components/ValidationPanel.tsx +105 -0
  188. hexdag/studio/ui/src/components/YamlEditor.tsx +196 -0
  189. hexdag/studio/ui/src/components/index.ts +8 -0
  190. hexdag/studio/ui/src/index.css +92 -0
  191. hexdag/studio/ui/src/main.tsx +10 -0
  192. hexdag/studio/ui/src/types/index.ts +123 -0
  193. hexdag/studio/ui/src/vite-env.d.ts +1 -0
  194. hexdag/studio/ui/tailwind.config.js +29 -0
  195. hexdag/studio/ui/tsconfig.json +37 -0
  196. hexdag/studio/ui/tsconfig.node.json +13 -0
  197. hexdag/studio/ui/vite.config.ts +35 -0
  198. hexdag/visualization/__init__.py +69 -0
  199. hexdag/visualization/dag_visualizer.py +1020 -0
  200. hexdag-0.5.0.dev1.dist-info/METADATA +369 -0
  201. hexdag-0.5.0.dev1.dist-info/RECORD +261 -0
  202. hexdag-0.5.0.dev1.dist-info/WHEEL +4 -0
  203. hexdag-0.5.0.dev1.dist-info/entry_points.txt +4 -0
  204. hexdag-0.5.0.dev1.dist-info/licenses/LICENSE +190 -0
  205. hexdag_plugins/.gitignore +43 -0
  206. hexdag_plugins/README.md +73 -0
  207. hexdag_plugins/__init__.py +1 -0
  208. hexdag_plugins/azure/LICENSE +21 -0
  209. hexdag_plugins/azure/README.md +414 -0
  210. hexdag_plugins/azure/__init__.py +21 -0
  211. hexdag_plugins/azure/azure_blob_adapter.py +450 -0
  212. hexdag_plugins/azure/azure_cosmos_adapter.py +383 -0
  213. hexdag_plugins/azure/azure_keyvault_adapter.py +314 -0
  214. hexdag_plugins/azure/azure_openai_adapter.py +415 -0
  215. hexdag_plugins/azure/pyproject.toml +107 -0
  216. hexdag_plugins/azure/tests/__init__.py +1 -0
  217. hexdag_plugins/azure/tests/test_azure_blob_adapter.py +350 -0
  218. hexdag_plugins/azure/tests/test_azure_cosmos_adapter.py +323 -0
  219. hexdag_plugins/azure/tests/test_azure_keyvault_adapter.py +330 -0
  220. hexdag_plugins/azure/tests/test_azure_openai_adapter.py +329 -0
  221. hexdag_plugins/hexdag_etl/README.md +168 -0
  222. hexdag_plugins/hexdag_etl/__init__.py +53 -0
  223. hexdag_plugins/hexdag_etl/examples/01_simple_pandas_transform.py +270 -0
  224. hexdag_plugins/hexdag_etl/examples/02_simple_pandas_only.py +149 -0
  225. hexdag_plugins/hexdag_etl/examples/03_file_io_pipeline.py +109 -0
  226. hexdag_plugins/hexdag_etl/examples/test_pandas_transform.py +84 -0
  227. hexdag_plugins/hexdag_etl/hexdag.toml +25 -0
  228. hexdag_plugins/hexdag_etl/hexdag_etl/__init__.py +48 -0
  229. hexdag_plugins/hexdag_etl/hexdag_etl/nodes/__init__.py +13 -0
  230. hexdag_plugins/hexdag_etl/hexdag_etl/nodes/api_extract.py +230 -0
  231. hexdag_plugins/hexdag_etl/hexdag_etl/nodes/base_node_factory.py +181 -0
  232. hexdag_plugins/hexdag_etl/hexdag_etl/nodes/file_io.py +415 -0
  233. hexdag_plugins/hexdag_etl/hexdag_etl/nodes/outlook.py +492 -0
  234. hexdag_plugins/hexdag_etl/hexdag_etl/nodes/pandas_transform.py +563 -0
  235. hexdag_plugins/hexdag_etl/hexdag_etl/nodes/sql_extract_load.py +112 -0
  236. hexdag_plugins/hexdag_etl/pyproject.toml +82 -0
  237. hexdag_plugins/hexdag_etl/test_transform.py +54 -0
  238. hexdag_plugins/hexdag_etl/tests/test_plugin_integration.py +62 -0
  239. hexdag_plugins/mysql_adapter/LICENSE +21 -0
  240. hexdag_plugins/mysql_adapter/README.md +224 -0
  241. hexdag_plugins/mysql_adapter/__init__.py +6 -0
  242. hexdag_plugins/mysql_adapter/mysql_adapter.py +408 -0
  243. hexdag_plugins/mysql_adapter/pyproject.toml +93 -0
  244. hexdag_plugins/mysql_adapter/tests/test_mysql_adapter.py +259 -0
  245. hexdag_plugins/storage/README.md +184 -0
  246. hexdag_plugins/storage/__init__.py +19 -0
  247. hexdag_plugins/storage/file/__init__.py +5 -0
  248. hexdag_plugins/storage/file/local.py +325 -0
  249. hexdag_plugins/storage/ports/__init__.py +5 -0
  250. hexdag_plugins/storage/ports/vector_store.py +236 -0
  251. hexdag_plugins/storage/sql/__init__.py +7 -0
  252. hexdag_plugins/storage/sql/base.py +187 -0
  253. hexdag_plugins/storage/sql/mysql.py +27 -0
  254. hexdag_plugins/storage/sql/postgresql.py +27 -0
  255. hexdag_plugins/storage/tests/__init__.py +1 -0
  256. hexdag_plugins/storage/tests/test_local_file_storage.py +161 -0
  257. hexdag_plugins/storage/tests/test_sql_adapters.py +212 -0
  258. hexdag_plugins/storage/vector/__init__.py +7 -0
  259. hexdag_plugins/storage/vector/chromadb.py +223 -0
  260. hexdag_plugins/storage/vector/in_memory.py +285 -0
  261. hexdag_plugins/storage/vector/pgvector.py +502 -0
@@ -0,0 +1,369 @@
1
+ Metadata-Version: 2.4
2
+ Name: hexdag
3
+ Version: 0.5.0.dev1
4
+ Summary: Lightweight DAG orchestration framework with enterprise pipeline capabilities
5
+ Project-URL: Homepage, https://hexdag.ai
6
+ Project-URL: Repository, https://github.com/omniviser/hexdag
7
+ Project-URL: Documentation, https://hexdag.ai/docs
8
+ Author-email: hexDAG Team <developers@omniviser.ai>
9
+ License: Apache-2.0
10
+ License-File: LICENSE
11
+ Keywords: async,dag,hexagonal-architecture,orchestration,pipeline,workflow
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: Apache Software License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
18
+ Requires-Python: ~=3.12.0
19
+ Requires-Dist: jinja2>=3.1.0
20
+ Requires-Dist: loguru>=0.7.0
21
+ Requires-Dist: orjson>=3.9.0
22
+ Requires-Dist: pydantic~=2.0
23
+ Requires-Dist: pyyaml~=6.0
24
+ Requires-Dist: rich>=13.0.0
25
+ Requires-Dist: typer>=0.9.0
26
+ Provides-Extra: all
27
+ Requires-Dist: aiofiles>=23.0.0; extra == 'all'
28
+ Requires-Dist: aiomysql>=0.2.0; extra == 'all'
29
+ Requires-Dist: aiosqlite>=0.19.0; extra == 'all'
30
+ Requires-Dist: aiosqlite>=0.20.0; extra == 'all'
31
+ Requires-Dist: anthropic>=0.25.0; extra == 'all'
32
+ Requires-Dist: asyncpg>=0.29.0; extra == 'all'
33
+ Requires-Dist: chromadb>=0.4.0; extra == 'all'
34
+ Requires-Dist: fastapi>=0.109.0; extra == 'all'
35
+ Requires-Dist: graphviz<0.21,>=0.20.0; extra == 'all'
36
+ Requires-Dist: ipykernel>=6.25.0; extra == 'all'
37
+ Requires-Dist: jupyter>=1.0.0; extra == 'all'
38
+ Requires-Dist: matplotlib>=3.8.0; extra == 'all'
39
+ Requires-Dist: mcp>=1.0.0; extra == 'all'
40
+ Requires-Dist: nbconvert>=7.0.0; extra == 'all'
41
+ Requires-Dist: nbformat>=5.9.0; extra == 'all'
42
+ Requires-Dist: openai>=1.0.0; extra == 'all'
43
+ Requires-Dist: pandas>=2.1.0; extra == 'all'
44
+ Requires-Dist: pgvector>=0.3.0; extra == 'all'
45
+ Requires-Dist: sqlalchemy>=2.0.0; extra == 'all'
46
+ Requires-Dist: uvicorn>=0.27.0; extra == 'all'
47
+ Requires-Dist: watchfiles>=0.21.0; extra == 'all'
48
+ Provides-Extra: anthropic
49
+ Requires-Dist: anthropic>=0.25.0; extra == 'anthropic'
50
+ Provides-Extra: database
51
+ Requires-Dist: aiofiles>=23.0.0; extra == 'database'
52
+ Requires-Dist: aiosqlite>=0.19.0; extra == 'database'
53
+ Provides-Extra: mcp
54
+ Requires-Dist: mcp>=1.0.0; extra == 'mcp'
55
+ Provides-Extra: notebooks
56
+ Requires-Dist: ipykernel>=6.25.0; extra == 'notebooks'
57
+ Requires-Dist: jupyter>=1.0.0; extra == 'notebooks'
58
+ Requires-Dist: matplotlib>=3.8.0; extra == 'notebooks'
59
+ Requires-Dist: nbconvert>=7.0.0; extra == 'notebooks'
60
+ Requires-Dist: nbformat>=5.9.0; extra == 'notebooks'
61
+ Requires-Dist: pandas>=2.1.0; extra == 'notebooks'
62
+ Provides-Extra: openai
63
+ Requires-Dist: openai>=1.0.0; extra == 'openai'
64
+ Provides-Extra: storage-all
65
+ Requires-Dist: aiomysql>=0.2.0; extra == 'storage-all'
66
+ Requires-Dist: aiosqlite>=0.20.0; extra == 'storage-all'
67
+ Requires-Dist: asyncpg>=0.29.0; extra == 'storage-all'
68
+ Requires-Dist: chromadb>=0.4.0; extra == 'storage-all'
69
+ Requires-Dist: pgvector>=0.3.0; extra == 'storage-all'
70
+ Requires-Dist: sqlalchemy>=2.0.0; extra == 'storage-all'
71
+ Provides-Extra: storage-chromadb
72
+ Requires-Dist: chromadb>=0.4.0; extra == 'storage-chromadb'
73
+ Provides-Extra: storage-mysql
74
+ Requires-Dist: aiomysql>=0.2.0; extra == 'storage-mysql'
75
+ Requires-Dist: sqlalchemy>=2.0.0; extra == 'storage-mysql'
76
+ Provides-Extra: storage-postgresql
77
+ Requires-Dist: asyncpg>=0.29.0; extra == 'storage-postgresql'
78
+ Requires-Dist: pgvector>=0.3.0; extra == 'storage-postgresql'
79
+ Requires-Dist: sqlalchemy>=2.0.0; extra == 'storage-postgresql'
80
+ Provides-Extra: storage-sqlite
81
+ Requires-Dist: aiosqlite>=0.20.0; extra == 'storage-sqlite'
82
+ Requires-Dist: sqlalchemy>=2.0.0; extra == 'storage-sqlite'
83
+ Provides-Extra: studio
84
+ Requires-Dist: fastapi>=0.109.0; extra == 'studio'
85
+ Requires-Dist: uvicorn>=0.27.0; extra == 'studio'
86
+ Requires-Dist: watchfiles>=0.21.0; extra == 'studio'
87
+ Provides-Extra: viz
88
+ Requires-Dist: graphviz<0.21,>=0.20.0; extra == 'viz'
89
+ Description-Content-Type: text/markdown
90
+
91
+ # 🤖 hexDAG - AI Agent Orchestration Framework
92
+
93
+ [![PyPI version](https://img.shields.io/pypi/v/hexdag.svg)](https://pypi.org/project/hexdag/)
94
+ [![Python 3.12](https://img.shields.io/badge/python-3.12.*-blue.svg)](https://www.python.org/downloads/)
95
+ [![uv: Python package manager](https://img.shields.io/badge/uv-fastest--python--installer-blueviolet?logo=python&logoColor=white)](https://github.com/astral-sh/uv)
96
+ [![Pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
97
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-yellow.svg)](https://opensource.org/licenses/Apache-2.0)
98
+
99
+ > **Enterprise-ready AI agent orchestration with low-code declarative workflows and powerful macro system**
100
+
101
+ hexDAG revolutionizes AI development by making agent orchestration and data science workflows accessible through declarative YAML configurations, reusable macro templates, and advanced conversation patterns, while maintaining the power and flexibility needed for enterprise deployments.
102
+
103
+ ## ✨ Why hexDAG?
104
+
105
+ Traditional AI frameworks force you to choose between simplicity and power. hexDAG delivers both through:
106
+
107
+ - **🤖 Agent-First Design**: Build complex multi-agent systems with simple YAML
108
+ - **📊 Data Science Ready**: Mix AI agents with traditional data processing seamlessly
109
+ - **🌊 Real-Time Streaming**: See agent thoughts and memory operations as they happen
110
+ - **🔧 Low-Code Development**: Non-technical users can create sophisticated workflows
111
+ - **🏢 Enterprise Grade**: Production-ready with comprehensive monitoring and control
112
+ - **🎭 Macro System**: Reusable pipeline templates that expand into full workflows
113
+ - **💬 Conversation Patterns**: Built-in support for multi-turn conversations with memory
114
+
115
+ ## 🎯 The Six Pillars
116
+
117
+ 1. **Async-First Architecture** - Non-blocking execution for maximum performance
118
+ 2. **Event-Driven Observability** - Real-time monitoring of agent actions
119
+ 3. **Pydantic Validation Everywhere** - Type safety and runtime validation
120
+ 4. **Hexagonal Architecture** - Clean separation of business logic and infrastructure
121
+ 5. **Composable Declarative Files** - Build complex workflows from simple components
122
+ 6. **DAG-Based Orchestration** - Intelligent dependency management and parallelization
123
+
124
+ ## 🚀 Quick Start
125
+
126
+ ### Installation
127
+
128
+ ```bash
129
+ # Install from PyPI
130
+ pip install hexdag
131
+
132
+ # Or with uv (recommended)
133
+ uv pip install hexdag
134
+
135
+ # With optional dependencies
136
+ pip install hexdag[openai] # OpenAI LLM support
137
+ pip install hexdag[anthropic] # Anthropic Claude support
138
+ pip install hexdag[all] # All optional dependencies
139
+ ```
140
+
141
+ #### Development Installation
142
+
143
+ ```bash
144
+ # Clone and install for development
145
+ git clone https://github.com/omniviser/hexdag.git
146
+ cd hexdag
147
+ uv sync
148
+ ```
149
+
150
+ ### MCP Server for LLM Editors
151
+
152
+ hexDAG includes a built-in MCP (Model Context Protocol) server that exposes pipeline building capabilities to Claude Code, Cursor, and other LLM-powered editors:
153
+
154
+ ```bash
155
+ # Development: Install MCP dependencies
156
+ uv sync --extra mcp
157
+
158
+ # Production: Install from PyPI with MCP support
159
+ uv pip install "hexdag[mcp]"
160
+
161
+ # Configure in Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json)
162
+ {
163
+ "mcpServers": {
164
+ "hexdag": {
165
+ "command": "uv",
166
+ "args": ["run", "python", "-m", "hexdag", "--mcp"]
167
+ }
168
+ }
169
+ }
170
+ ```
171
+
172
+ The MCP server provides LLMs with tools to:
173
+ - List available nodes, adapters, tools, and macros from your registry
174
+ - Build and validate YAML pipelines interactively
175
+ - Get component schemas and documentation
176
+ - Auto-discover custom plugins from your `pyproject.toml`
177
+
178
+ See [examples/mcp/](examples/mcp/) for detailed configuration guides.
179
+
180
+ ### Your First Agent Workflow
181
+
182
+ Create a simple AI agent workflow with YAML:
183
+
184
+ ```yaml
185
+ # research_agent.yaml
186
+ name: research_workflow
187
+ description: AI-powered research assistant
188
+
189
+ nodes:
190
+ - type: agent
191
+ id: researcher
192
+ params:
193
+ initial_prompt_template: "Research the topic: {{topic}}"
194
+ max_steps: 5
195
+ available_tools: ["web_search", "summarize"]
196
+ depends_on: []
197
+
198
+ - type: agent
199
+ id: analyst
200
+ params:
201
+ initial_prompt_template: |
202
+ Analyze the research findings: {{researcher.results}}
203
+ Provide actionable insights.
204
+ max_steps: 3
205
+ depends_on: [researcher]
206
+
207
+ - type: function
208
+ id: formatter
209
+ params:
210
+ fn: format_report
211
+ input_mapping:
212
+ title: "researcher.topic"
213
+ findings: "researcher.results"
214
+ insights: "analyst.insights"
215
+ depends_on: [researcher, analyst]
216
+ ```
217
+
218
+ Run it with Python:
219
+
220
+ ```python
221
+ from hexdag import Orchestrator, YamlPipelineBuilder
222
+
223
+ # Load and execute the workflow
224
+ builder = YamlPipelineBuilder()
225
+ graph, metadata = builder.build_from_yaml_file("research_agent.yaml")
226
+
227
+ orchestrator = Orchestrator()
228
+ result = await orchestrator.run(graph, {"topic": "AI trends 2024"})
229
+
230
+ ## 📚 Documentation & Learning
231
+
232
+ ### 📓 Interactive Notebooks (Recommended Start)
233
+ Learn hexDAG through comprehensive, working Jupyter notebooks:
234
+
235
+ **Core Concepts:**
236
+ - **[01. Introduction](notebooks/01_introduction.ipynb)** - Your first pipeline (15 min)
237
+ - **[02. YAML Pipelines](notebooks/02_yaml_pipelines.ipynb)** - Declarative workflows (25 min)
238
+ - **[03. Practical Workflow](notebooks/03_practical_workflow.ipynb)** - Real-world patterns (30 min)
239
+
240
+ **Advanced Features:**
241
+ - **[06. Dynamic Reasoning Agent](notebooks/06_dynamic_reasoning_agent.ipynb)** - Advanced agent patterns
242
+ - **[Advanced Few-shot & Retry](notebooks/advanced_fewshot_and_retry.ipynb)** - Error handling and examples
243
+ - **[Composable LLM Architecture](notebooks/composable_llm_architecture.ipynb)** - Modular AI systems
244
+
245
+ **All notebooks execute successfully:** `✅ All notebook(s) validated successfully!`
246
+
247
+ ### 📚 Complete Documentation
248
+ - **[📖 Documentation Hub](docs/README.md)** - Complete navigation with learning paths
249
+ - **[🤔 Philosophy & Design](docs/PHILOSOPHY.md)** - Six pillars and design principles
250
+ - **[🔧 Implementation Guide](docs/IMPLEMENTATION_GUIDE.md)** - Production-ready workflows
251
+ - **[⌨️ CLI Reference](docs/CLI_REFERENCE.md)** - Complete CLI documentation
252
+ - **[🔌 Plugin System](docs/PLUGIN_SYSTEM.md)** - Custom component development
253
+ - **[🗺️ Roadmap](docs/ROADMAP.md)** - Future vision and features
254
+
255
+ ### 📝 Additional Resources
256
+ - **[Demo Directory](examples/demo/)** - Live demonstration scripts
257
+ - **[Integration Tests](tests/integration/)** - Production test scenarios
258
+
259
+ ## 🎪 Interactive Notebooks
260
+
261
+ Explore comprehensive Jupyter notebooks for hands-on learning:
262
+
263
+ ```bash
264
+ # Start Jupyter to explore notebooks
265
+ jupyter notebook notebooks/
266
+
267
+ # Or run specific notebooks
268
+ jupyter notebook notebooks/01_introduction.ipynb # Getting started
269
+ jupyter notebook notebooks/02_yaml_pipelines.ipynb # YAML workflows
270
+ jupyter notebook notebooks/03_practical_workflow.ipynb # Real-world patterns
271
+ jupyter notebook notebooks/06_dynamic_reasoning_agent.ipynb # Advanced agents
272
+ ```
273
+
274
+ ### Running the Demo
275
+
276
+ ```bash
277
+ # Run the startup pitch demo
278
+ uv run python examples/demo/run_demo_pitch.py
279
+
280
+ # Or explore the YAML configuration
281
+ cat examples/demo/demo_startup_pitch.yaml
282
+ ```
283
+
284
+ ## 🛠️ Development
285
+
286
+ ```bash
287
+ # Setup development environment
288
+ uv run pre-commit install
289
+
290
+ # Run tests
291
+ uv run pytest
292
+
293
+ # Code quality checks
294
+ uv run pre-commit run --all-files
295
+
296
+ # Build documentation
297
+ uv run docs-build # Build HTML documentation
298
+ uv run docs-clean # Clean build directory
299
+ uv run docs-rebuild # Clean and rebuild
300
+ uv run docs-check # Build with warnings as errors
301
+ uv run docs-autobuild # Auto-rebuild on file changes
302
+
303
+ # Documentation will be in docs/build/html/
304
+ ```
305
+
306
+ ## 🌟 Key Features
307
+
308
+ ### 🤖 Multi-Agent Orchestration
309
+ - Sequential agent chains for complex reasoning
310
+ - Parallel specialist agents for diverse perspectives
311
+ - Hierarchical agent networks with supervisor patterns
312
+
313
+ ### 📊 Data Science Integration
314
+ - Mix AI agents with traditional data processing
315
+ - Real-time streaming for Jupyter notebooks
316
+ - Built-in support for popular ML frameworks
317
+
318
+ ### 🌊 Real-Time Streaming
319
+ - WebSocket-based agent action streaming
320
+ - Memory operation visualization
321
+ - Interactive debugging and control
322
+
323
+ ### 🔧 Low-Code Development
324
+ - YAML-based workflow definitions
325
+ - Template system for reusable patterns
326
+ - Automatic field mapping between nodes
327
+ - Visual workflow editor (coming soon)
328
+
329
+ ### 🔄 Smart Data Mapping
330
+ - **Automatic Input Mapping**: Define how data flows between nodes with simple mappings
331
+ - **Nested Field Extraction**: Access deeply nested data with dot notation
332
+ - **Type Inference**: Automatic type detection from Pydantic models
333
+ - **Flexible Patterns**: Support for passthrough, rename, and prefixed mappings
334
+
335
+ ### 🎭 Powerful Macro System
336
+ - **Reusable Templates**: Define pipeline patterns once, use everywhere
337
+ - **Built-in Macros**: ConversationMacro, LLMMacro, ToolMacro, ReasoningAgentMacro
338
+ - **YAML Integration**: Seamlessly use macros in declarative pipelines
339
+ - **Dynamic Expansion**: Macros expand at runtime into full DAG subgraphs
340
+ - **Configuration Inheritance**: Override macro defaults per invocation
341
+
342
+ ## 🔒 Production Security
343
+
344
+ ### Docker Build Command
345
+
346
+ The `hexdag build` command generates containerized deployments from YAML pipelines.
347
+
348
+ ⚠️ **IMPORTANT**: This command is designed for **development and trusted pipelines only**.
349
+
350
+ **Production Safety:**
351
+ ```bash
352
+ # Disable build command in production environments
353
+ export HEXDAG_DISABLE_BUILD=1
354
+ ```
355
+
356
+ **For detailed documentation**, including security threat model, hardening checklist, and Docker Compose patterns, see the [CLI Reference](docs/CLI_REFERENCE.md#build---build-docker-containers).
357
+
358
+ ## 🤝 Community
359
+
360
+ - **Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md)
361
+
362
+
363
+ ## 📄 License
364
+
365
+ Apache License 2.0 - see [LICENSE](LICENSE) for details.
366
+
367
+ ---
368
+
369
+ **Built with ❤️ for the AI community by the hexDAG team**
@@ -0,0 +1,261 @@
1
+ hexdag/__init__.py,sha256=yp-0TCwqS6cmquBBoVC_A18lRRx2SGMfWc8LZ3MJTSg,3347
2
+ hexdag/__main__.py,sha256=XZqLRUonOfRidf6Ym-kedngE31YlcMXjOMxCjDts71E,639
3
+ hexdag/mcp_server.py,sha256=Cvi9MDg7z0c8gOF6Roa-vaSbYse4qO4cPUkbDXRTe_I,89059
4
+ hexdag/adapters/executors/__init__.py,sha256=2zUQCupqMtLc2i6sa9JUqZmp25swpcVK2IOzWsh0oE4,157
5
+ hexdag/adapters/executors/local_executor.py,sha256=irNI_Jf2-Y5xDGSb6yXFoBFN6eSijsWF01NviWGZhnM,10530
6
+ hexdag/builtin/__init__.py,sha256=y0tjy5IQpJA2QyXKFJzqX5JYtStQwyORBGa8PP6m7eQ,244
7
+ hexdag/builtin/adapters/__init__.py,sha256=mdEYLQNhiAbT55H31icgf2q-UIKWhbFirxjER_acRMc,1323
8
+ hexdag/builtin/adapters/unified_tool_router.py,sha256=yR0ietu7_yh6rA7Q8utq7zUlKRpkPWZY-02522MVFaE,10430
9
+ hexdag/builtin/adapters/anthropic/__init__.py,sha256=tosbDCkmQIo_J_HrNw5T3BSjpvLuRaYsIZQ_VpMXmEA,151
10
+ hexdag/builtin/adapters/anthropic/anthropic_adapter.py,sha256=ToEYTMhBaddQK8ZMk_ixEb9bbLqDusjs4cVRyivp3-0,5064
11
+ hexdag/builtin/adapters/database/__init__.py,sha256=Yit_7qUlggBjU3nxT9Lue9ztx1XEWt7YOBmpdIxCssY,253
12
+ hexdag/builtin/adapters/database/csv/csv_adapter.py,sha256=QQXiuw-Ff0gBgPlxgfhZ47LSWlk3frcWfqwOWQwQ5fw,8708
13
+ hexdag/builtin/adapters/database/pgvector/__init__.py,sha256=-NtMtilLdjQz3QBQqwaNyNsQYTqVR0ctOFzZQLxTS7Q,188
14
+ hexdag/builtin/adapters/database/pgvector/pgvector_adapter.py,sha256=Aw-3Jh7GKuG2EX6FeeG5IDVchrSsoH_Wp0xy1NRev9w,16670
15
+ hexdag/builtin/adapters/database/sqlalchemy/sqlalchemy_adapter.py,sha256=rVz4le7iGWF0g4UB0m1fku9LumD04wsio0wbkyT6qRg,8514
16
+ hexdag/builtin/adapters/database/sqlite/__init__.py,sha256=VTMrZ0FLOD8Poq85NLz7MpbQ4iRbfFOzi5kyvmSxuOo,144
17
+ hexdag/builtin/adapters/database/sqlite/sqlite_adapter.py,sha256=P4kgcIUyGEHvmj0g2vSU6jQYbdTYJsTbYgA9P_wyNTU,14297
18
+ hexdag/builtin/adapters/local/README.md,sha256=P1yPNQhqN1PKWneJuvevdABT9RW1pbx8pmIu-A5Wssc,1237
19
+ hexdag/builtin/adapters/local/__init__.py,sha256=gRmcx3KmaBIHCdSksDng0VJdw0jlC_7ZlnqyAaCzonw,158
20
+ hexdag/builtin/adapters/local/local_observer_manager.py,sha256=ElelfyfsU-LHrYfHtH9fS82TCatTOjwfuL5u10YxtDU,24433
21
+ hexdag/builtin/adapters/memory/__init__.py,sha256=P3h2MJjWp_EIkTNCconSabyFB5hwzcQ1mr0U5vk1p_A,1380
22
+ hexdag/builtin/adapters/memory/file_memory_adapter.py,sha256=hSOF1FW869ZkHCrgMAO5p2ZXlud1IhosuIZxPmGEUTE,8837
23
+ hexdag/builtin/adapters/memory/in_memory_memory.py,sha256=sD0yjZtVyxkKQebTyisgBHRX2GlJ-gJ33XOuqrzghPs,5927
24
+ hexdag/builtin/adapters/memory/schemas.py,sha256=KkVnpPyaf9P9UbFYHT-L-8fr7Q1uBQWOQSF_IUKL8A8,1761
25
+ hexdag/builtin/adapters/memory/session_memory.py,sha256=O3k2qc90Ol8EpBtRgG7AQTo9ziSIKo8cyRV5x_QWwR8,5518
26
+ hexdag/builtin/adapters/memory/sqlite_memory_adapter.py,sha256=6lbvbOtDS_JcDD-am8ejviIK7nNI_kyWy372xVGYw6M,6780
27
+ hexdag/builtin/adapters/memory/state_memory.py,sha256=APgVC6H_C4j6xrnhprYemOD4CvkEy7SxAejZhivWSJo,8641
28
+ hexdag/builtin/adapters/mock/README.md,sha256=-xm2ipbYmUf7DEBM4Yt6yrhkoDANXzTh_B2oihBJ0Iw,2307
29
+ hexdag/builtin/adapters/mock/__init__.py,sha256=9GVcvbdjpAGNH16-fdEDDOLr6pfvo1qdtQIjYR4ecZ0,393
30
+ hexdag/builtin/adapters/mock/hexdag.toml,sha256=gTN4I95nEWIH1_P6UEts2RwZ0W4qh01TvQaU4of1izU,1308
31
+ hexdag/builtin/adapters/mock/mock_database.py,sha256=HpfXOP2oE9m8bdZGwai7VgnS82UM0pfhTC5cfc9FFiE,7963
32
+ hexdag/builtin/adapters/mock/mock_embedding.py,sha256=urOknD55o1_JHM92cNOoRctA2JjdV12csLQAOE6W78w,6959
33
+ hexdag/builtin/adapters/mock/mock_llm.py,sha256=kzajcjlQctABSNig1clPBxdMnExlaXzhxyTkKxJbprw,5881
34
+ hexdag/builtin/adapters/mock/mock_tool_adapter.py,sha256=dsLaECsoo3oDTC5KtgPf7Tmpo823aOuM8Wgdpt_NriA,5612
35
+ hexdag/builtin/adapters/mock/mock_tool_router.py,sha256=6zCO4ValTjdfyYcPRnZiUOaRJOSysuNbBYupswJJnr4,8192
36
+ hexdag/builtin/adapters/openai/__init__.py,sha256=S_F_fr8Omxl3Bg1kBlTxtRc61RMDArzTGwB4HgpjIeY,136
37
+ hexdag/builtin/adapters/openai/openai_adapter.py,sha256=d54fsIFjbB5dGFvhaBhYbPZMrMy6X7IDmCeUPuNjsbc,22425
38
+ hexdag/builtin/adapters/secret/__init__.py,sha256=Ep8YPDqETqTFcs5eJ_HoY6ih2hVg1RttufbQeYB1Quc,170
39
+ hexdag/builtin/adapters/secret/local_secret_adapter.py,sha256=KBRf6byAETEDQs_On_oHvitDRuc71PTPAyzwNwK6gu0,7869
40
+ hexdag/builtin/macros/__init__.py,sha256=RErC58H3ZoKtndWu3LNdeRavbbm7nnp_8lq5H7vWCzs,573
41
+ hexdag/builtin/macros/conversation_agent.py,sha256=8MLQiDXvV_L7QJlZvD-KoyEZSqqe7z-lS5emQoL2Etg,15035
42
+ hexdag/builtin/macros/llm_macro.py,sha256=5NzbQYMmTdMmZ5Ym7LMl5Ly6eOrCaMm-7On-gJDfHvU,4534
43
+ hexdag/builtin/macros/reasoning_agent.py,sha256=qlxTelIucIBYN2g4eN05kM-OFgGQ58P_FceelMjKRoo,15762
44
+ hexdag/builtin/macros/tool_macro.py,sha256=sdiwiC_nGvOqdmKL3B0amOjqHF1ycSjjqoct_271tHM,11766
45
+ hexdag/builtin/nodes/__init__.py,sha256=sty7RNtnYOS_wOSqjjE1NQ9WgtUUzNHT5fuTZ55WYL4,1221
46
+ hexdag/builtin/nodes/_discovery.py,sha256=ihPbnMe4j9R1NbXLGAf-paKvTRwz_UIGFGzaYJsjN1w,3686
47
+ hexdag/builtin/nodes/agent_node.py,sha256=wrHhYfWyKSvUwYaicWJuWGQ5QPzbR62BU9UXS392MMo,24796
48
+ hexdag/builtin/nodes/base_node_factory.py,sha256=4SCq9PplBiOydL6BZEde_9IG5MPcFZaj-FeUVwCJHbQ,9044
49
+ hexdag/builtin/nodes/composite_node.py,sha256=QB0QIhzcDNzW4VaRxj6N-Wls6rB4l0zntNp1ZOBllOU,32121
50
+ hexdag/builtin/nodes/data_node.py,sha256=Eh4Z-tR45q__U6d81GjmjK3C52ilnUimRAWARtCc5sE,5751
51
+ hexdag/builtin/nodes/expression_node.py,sha256=8NoBClChXg_VPTLfrxnPKs-PHtsnQQ7zw2tgPp6kHTs,17713
52
+ hexdag/builtin/nodes/function_node.py,sha256=mx37TxPRQS4AZGwXao910tlh3jF3UjLTdReN9kN4l_o,16405
53
+ hexdag/builtin/nodes/llm_node.py,sha256=XW_CcmePUegWhXGTJwNPqKuifw8X-WwgI65_MvotlX4,16653
54
+ hexdag/builtin/nodes/loop_node.py,sha256=V4qu4neNrTpFX2kl9qK3N3h6rgdV3_SqJJTtKeykwSM,32624
55
+ hexdag/builtin/nodes/mapped_input.py,sha256=p4O40SHBTgdaYBEcACprMS9rtfIMpJtnzwxZv8Mo0kE,15611
56
+ hexdag/builtin/nodes/port_call_node.py,sha256=DQh307cQSm6n8nvAUdhNOI5wywixXJcFZ1PvUUahS1g,8966
57
+ hexdag/builtin/nodes/tool_call_node.py,sha256=JCHTLv1OaQsbkXRD1VskHXJ6XAw-gBFnBnLpJUeL2bo,6342
58
+ hexdag/builtin/nodes/tool_utils.py,sha256=hERT_XA6gHawFQ1QuesNQOwEYexjliq4pp36FEtiRh0,11767
59
+ hexdag/builtin/prompts/__init__.py,sha256=_0hOyMeKJ33ryHP8S6SwaewsriUTy714Do_k4na4C5U,1810
60
+ hexdag/builtin/prompts/base.py,sha256=mO9S9REZQxlHE3Um7Ws4nI9Nj2rBXNRRcaX3h4AfxFM,14436
61
+ hexdag/builtin/prompts/chat_prompts.py,sha256=uLsccFPRuv4WdUZiQjGaeXDYdNIU-bf-MZT2Vf57D2Y,9200
62
+ hexdag/builtin/prompts/error_correction_prompts.py,sha256=WLm8QqufgO9S_NqEgJD0q5jXiR9kcyHYp28s8TFYtuI,8341
63
+ hexdag/builtin/prompts/tool_prompts.py,sha256=xdVTm6nbSF3NY3xYtFuy9wdPotSXJg4yKeIbjcubEWU,5558
64
+ hexdag/builtin/tools/builtin_tools.py,sha256=e_aLsAbfvcR_HKnYQmQJjPCU5k7T316zSEnCvz-E0bk,2794
65
+ hexdag/builtin/tools/database_tools.py,sha256=t6uo9jyV_bcl6uYw0j494jEA2Hg6yn_ruVtLcXDXrlk,4263
66
+ hexdag/cli/__init__.py,sha256=ER3Z0A4ajcjy8aFFJULwiFX8R9WPhA8q7MPiCQO0Y2g,318
67
+ hexdag/cli/__main__.py,sha256=HGs_63TIjGd4xNQPirhzoRPoSgsvEC82jvQdqCcPlPI,167
68
+ hexdag/cli/main.py,sha256=nWo7wc9N1V-pXFgK18rUS2KCw8pk4630n3Nidf9xbk8,2454
69
+ hexdag/cli/commands/__init__.py,sha256=yVuQ8uNbswjYMbbIv5hCjQqBchjb-RwQ1QwtVAz4_xg,425
70
+ hexdag/cli/commands/build_cmd.py,sha256=wcat7R2TmraV_bfdWN7-GczczVt_dlITx5h06-i-m4k,24306
71
+ hexdag/cli/commands/create_cmd.py,sha256=PtXzV3i7F4avLrLi2LySqtrCoIIAnD0ebjiWItVBgYE,7340
72
+ hexdag/cli/commands/docs_cmd.py,sha256=Py5YZBiv-hjRiDZexdbcwWWwuDnLkaeUCk1FDcytHV4,9066
73
+ hexdag/cli/commands/generate_types_cmd.py,sha256=KBBt4rffk9avUVYvVCVBcCFlAS2Qq82wNbYQTBaNngI,7719
74
+ hexdag/cli/commands/init_cmd.py,sha256=yj9cIqywtWDx0acSxlR59hFdfDi0uQW-H5qzuxZ2kgU,5333
75
+ hexdag/cli/commands/pipeline_cmd.py,sha256=-536uPqhH1I0hBL81fGs6syQ5zMGuLRHGFnI3ifw1Fc,16718
76
+ hexdag/cli/commands/plugin_dev_cmd.py,sha256=lvPVDZH_9Fs2Efj3Gd733kWcPnzEiCNXHzCQCSgVw1c,15931
77
+ hexdag/cli/commands/plugins_cmd.py,sha256=Xd4rdGdr0KBdt4np-UAfzAVnUyVls_mS7RiVUAZzSVY,14352
78
+ hexdag/cli/commands/studio_cmd.py,sha256=10vrgP4KkzMl6e-CMWnMQh4a67yohHKUmUAH-UiBWGU,2651
79
+ hexdag/cli/commands/validate_cmd.py,sha256=JwBBN4AqDdMOKSzjPk7bM33e3Vmo42uyyoOldK5BcGE,7329
80
+ hexdag/core/__init__.py,sha256=taPuAKdkga47euBErnkJpw53Kai7_vU3Rr_I2PWCgcY,1914
81
+ hexdag/core/configurable.py,sha256=8C3P38QM8WTayIaRvPMVuR1VEnUpxOw5QwoTRhKBHf4,9552
82
+ hexdag/core/exceptions.py,sha256=JSL7zXrHVVevez4kNgdYtG3XWC5dMlncLRKY8lr_OJc,6846
83
+ hexdag/core/expression_parser.py,sha256=-n8NDLHfJjCSk5iizJUncYl7fkTUcJXgda_sy3DAZbI,17998
84
+ hexdag/core/logging.py,sha256=Zw4GiFQnwpyRgN8V-w0lVF1eks-cMhNXzl-IH6-Dyjs,14661
85
+ hexdag/core/ports_builder.py,sha256=H3rHnTrW1rm-j2EDGwjP6CDKy5TQm7pp8Pn3bMTgYhA,19217
86
+ hexdag/core/protocols.py,sha256=eMx563EcaMBf-1v3QhncMdLB3YjRteBrPPp15arqagQ,6394
87
+ hexdag/core/resolver.py,sha256=5DKkzuPoZ39ylLxIBjkG258eLVIQ6H8MR2MvW3Mikqw,8466
88
+ hexdag/core/secrets.py,sha256=VUsXEbsX4vOSWI1u0oixaI77zb-b_54HhJUrWByOARo,7321
89
+ hexdag/core/types.py,sha256=Y58GCFSRJ340D7Wf_JXwN7iFoFJZOSsTdkaVpafzlGw,11906
90
+ hexdag/core/yaml_macro.py,sha256=igO5Im5c3xHoNacDBcA3W8RBMfxPfrBn-J_sQUOHs_g,16352
91
+ hexdag/core/config/__init__.py,sha256=3Tx6QEfNWAE6VvpTnwyiPMvgldm6HqU9lzPkTm--n1o,460
92
+ hexdag/core/config/loader.py,sha256=q-inxSn129YiAvWt7dICTdvIa7h3gGCncc8xtxQTHZs,16490
93
+ hexdag/core/config/models.py,sha256=sNXmn4VpiWAhcMTRP_iFRcCQsUA-VuwGgLg6z6u5etk,4137
94
+ hexdag/core/context/__init__.py,sha256=4nhz4Xbvm77tBfxuBORAHb9QVUtiayKxPR8jGR2RZoI,809
95
+ hexdag/core/context/execution_context.py,sha256=SOe7Kbl0i5dJeeeY9FsO6xZkTpfnT4sX49KEF_OMqFQ,11811
96
+ hexdag/core/docs/__init__.py,sha256=etx9kHyXvL-rR8SII9MVq0NN24wp8EcMkLGQIQ90INE,614
97
+ hexdag/core/docs/extractors.py,sha256=--vA9-29qCDBc_ULw3_8S06Bzw5O22Lc9zPZh2UBv_M,20290
98
+ hexdag/core/docs/generators.py,sha256=DLBBHibwNaOTw63nnX91pMnyHyMJkNY0svPH0Qy-7w8,29561
99
+ hexdag/core/docs/models.py,sha256=GrQ9Omd5G9ylmW1rCPKD0hCR5BnLRNnW71YUnHbLolc,3146
100
+ hexdag/core/domain/__init__.py,sha256=HGGWpwIHbqk6Wm1ZA_pg_bzjK8IZ52ZQbS8qzFKlyQM,288
101
+ hexdag/core/domain/dag.py,sha256=zEwFBn6FNKWMMB71HkxOFDw0UmuLep4wqHVzKnA2qnw,41078
102
+ hexdag/core/models/__init__.py,sha256=9dVfbYJspiyRjsgaMiiOzZGho9nuudb9ebxk4K0uDg8,428
103
+ hexdag/core/models/base.py,sha256=syCuPTY6t-KxGKXrXJws1OBpwqriiXaULCTo1xwOoC0,3196
104
+ hexdag/core/orchestration/__init__.py,sha256=T2bw91l2yBl0OxFY5ZhXnJ1mBULr-elPQQv_6kDFfL4,1446
105
+ hexdag/core/orchestration/body_executor.py,sha256=XE0gTEderhpGn07nX8MZELevFOyEUQpG4WilgTS7WOE,16256
106
+ hexdag/core/orchestration/constants.py,sha256=lgRDrA48ReOaXm3Tv2QJ1NV-XJeKEPKBY3LdONjr24o,587
107
+ hexdag/core/orchestration/hook_context.py,sha256=kHVDeA2UiYBZnlsbi730Qa6TfGo-ugBFwJ7TT6vcaPQ,6800
108
+ hexdag/core/orchestration/hooks.py,sha256=Tb6Ro0HRC8qI2uccA1PErag4D6RG4g26jNefC-P3Q24,16334
109
+ hexdag/core/orchestration/models.py,sha256=YVO5F7iG64qJNczmcmc6psGA0iPEXSpr2QZyeg_BfYE,14545
110
+ hexdag/core/orchestration/orchestrator.py,sha256=zdzkVSxVFt75kudEpPxDvqdTzQLir-myVxC9wqyCfSQ,34201
111
+ hexdag/core/orchestration/orchestrator_factory.py,sha256=NLk5bGpFKEGtExERZpx75pF_w5YjYjTgoDbdJHnxf5U,9852
112
+ hexdag/core/orchestration/port_wrappers.py,sha256=qBf8CW7yUbsU6Aq4-XxviekxsOrKHgKlQKzugjjoQjE,10631
113
+ hexdag/core/orchestration/components/__init__.py,sha256=trRW85k1Gso5FDuGUmgnQfZO4ydBqnLhF_5zWh1_zmU,3287
114
+ hexdag/core/orchestration/components/adapter_lifecycle_manager.py,sha256=4GaKrpTX2jKSAZZl8XJ2L52DZayguQ5AJ5g3scZMlsQ,3632
115
+ hexdag/core/orchestration/components/checkpoint_manager.py,sha256=Obf5e7OJ7ELZ6l3xKpUzxbCGMiBpWBKUlWOPstfVxe8,4321
116
+ hexdag/core/orchestration/components/execution_coordinator.py,sha256=0NJe4xgtOPqikDHjM0Z5R9Z3QqNLYLECG2t1U-HlXMo,13268
117
+ hexdag/core/orchestration/components/health_check_manager.py,sha256=_VOkDhH9dakFvI0GLsDd1FUdnWnrpGe2_DNWrr8N_Ws,5649
118
+ hexdag/core/orchestration/components/input_mapper.py,sha256=4P3XOt9bSqr6yDEUbNjT2ZioFjL4tq2nSc5bZKWdjsg,5254
119
+ hexdag/core/orchestration/components/lifecycle_manager.py,sha256=a07ZdNlKBCc1pYIaRQPWLxrpvnvJpMk4T9Pp1sRvhMs,22129
120
+ hexdag/core/orchestration/components/node_executor.py,sha256=Gj0SOrMP3O1dUm-eN6Rs48I0w1BFalBR_S8_AP-hXM4,14751
121
+ hexdag/core/orchestration/components/secret_manager.py,sha256=oWrHrKby8XCAZAAwZI1lEqGUcnRCtSRR0XEBTjsKkfg,6110
122
+ hexdag/core/orchestration/components/wave_executor.py,sha256=22XLQqZaXOkLJj-RRUvs9W-x3HkZEQ9D9xrquSMZfSw,5370
123
+ hexdag/core/orchestration/events/README.md,sha256=8oQP3TkobIoEnydlgZAC83uNlS1bMbHUqJY081gafek,10633
124
+ hexdag/core/orchestration/events/__init__.py,sha256=XM2AOLSgf2ix8zai-cboODTcs6HuK_EggXh4w3xwiYE,2758
125
+ hexdag/core/orchestration/events/batching.py,sha256=kgjVHWHivV9KsDSBdJTBOFIHGYOOtjARi6xDq9VhhTk,10850
126
+ hexdag/core/orchestration/events/decorators.py,sha256=HXUwZ01eromZDAFRCmd_f-Q2VcUholConGh26fk1P-o,3869
127
+ hexdag/core/orchestration/events/events.py,sha256=oSziOxGv5PzWrQbY2jp8ZeLMKTSRPNBFxmlapWJVZUA,15037
128
+ hexdag/core/orchestration/events/taxonomy.py,sha256=0KrhIvABwEXPhtZZhfGCltH0rLyuD4JYGYpcHdo74r8,8196
129
+ hexdag/core/orchestration/events/observers/__init__.py,sha256=QND2V8TG70s8_nPi9NUZIr4fieukIRa7HGgBKr1X3zA,730
130
+ hexdag/core/orchestration/events/observers/core_observers.py,sha256=pSJwaZqGVZXw-uHaYYKchsEiwN-sddvHgrFx886cFT4,24352
131
+ hexdag/core/orchestration/events/observers/models.py,sha256=C9ozpxj6GCWDo4oRn2mRxmhUbFykp5wiS4lDASFddqg,2997
132
+ hexdag/core/orchestration/prompt/__init__.py,sha256=OYpeDefsetRCxjBhxja-lrPHWXeQfZYtWZ1iecdWVow,1086
133
+ hexdag/core/orchestration/prompt/template.py,sha256=X-eIrv34knI-__5yONlrbu1E1BW3CDpgCq-Q1_e-Azg,10594
134
+ hexdag/core/pipeline_builder/__init__.py,sha256=lDu5KiQO00uw8cZ167El1XiGFaWrbv7-tedHsTJLUmk,620
135
+ hexdag/core/pipeline_builder/component_instantiator.py,sha256=kr1BaoqhM8v1iJjGXeczG2P5bnxFOIOCb4v6Qk_uYPU,13924
136
+ hexdag/core/pipeline_builder/include_tag.py,sha256=hxzHVPXkibQsowNj4HYJLp_dNeoWvarMCQj7oFfWIbA,7243
137
+ hexdag/core/pipeline_builder/pipeline_config.py,sha256=h3HTBpMJByee2XE6j_APu7HYmyJFdM_lOWcsDpkl40M,3952
138
+ hexdag/core/pipeline_builder/py_tag.py,sha256=9fN2FZX-YTsuDGf79xouqfcFKdqveYzi-Mw0Guz-zZM,6337
139
+ hexdag/core/pipeline_builder/tag_discovery.py,sha256=jVTL3a7qQ1esVkUtOzRbi49a6FJgNaQTFtX68cNKb2o,7610
140
+ hexdag/core/pipeline_builder/yaml_builder.py,sha256=ffARJYUKQ1VgZTMQWPEP5USGrNwObhQt7aGSKdjfPtY,44797
141
+ hexdag/core/pipeline_builder/yaml_validator.py,sha256=uwO5wzPczM6PUwqj2CfAp2aAR6sQulve944FYCVYao4,19779
142
+ hexdag/core/ports/__init__.py,sha256=5iJ1p7nwYrzx5ooj4kaPW8_KMxnbXOpwETKUq0Xbqs8,1698
143
+ hexdag/core/ports/api_call.py,sha256=AeZkKtSffUC1j5wMP9R6KomsH-EFfDbkrYyd3VozBOM,3548
144
+ hexdag/core/ports/database.py,sha256=cWsxEtvqbNR9slPOR1VShlo9AXOC1te2lWtCVNPbVII,13825
145
+ hexdag/core/ports/embedding.py,sha256=Uq9lbEeMK9DWBgU6dRjHygT1IiP_f6g81UB1As3DWGY,7016
146
+ hexdag/core/ports/executor.py,sha256=kd8afvis2nOT2TZr5tmb5NAU91KRSOC1y_9fR8FyVoQ,7491
147
+ hexdag/core/ports/file_storage.py,sha256=UeP3h-wUwd89ZEZayeqRwSmEOsdEaNAcQfXSGiUr1i4,2445
148
+ hexdag/core/ports/healthcheck.py,sha256=m_2ExaRhl1nKXDSj5iYKA6pF0fmqqO_3HlT6xwTTvW0,2587
149
+ hexdag/core/ports/llm.py,sha256=Viv4DQfRvtV9fO1DVHMHD3wZpL9pI8BwA6nN_eOqYq0,17435
150
+ hexdag/core/ports/memory.py,sha256=n2rC-HUwAl1EOushUK1EAQ7F7rTIV8WiPr1STLB0sOk,1933
151
+ hexdag/core/ports/observer_manager.py,sha256=DFEJMon3fkZ7b76652PWmYKHDa7pEWLCccRbkmN4kk0,4010
152
+ hexdag/core/ports/secret.py,sha256=BQIuVeObYvWeV-2_hEfW2fOkrqUgVM2e7HcYcIKi9Tg,4274
153
+ hexdag/core/ports/tool_router.py,sha256=21UK5auNriOi5paEw99igfvWCeMO4pwGVeKe9VIp9HM,2692
154
+ hexdag/core/schema/__init__.py,sha256=KIJIxZ5Rg5Y_CReCLE6aVV6IgEg1tyTERM5tLqPFwj8,275
155
+ hexdag/core/schema/generator.py,sha256=pdArXaQ8qPVsXXm7AcLnYrSfjZZjiouUc_UcKRvXerY,27116
156
+ hexdag/core/utils/async_warnings.py,sha256=ApPooz-io5_rTa0ZL-dpnKcShP5yLueV_5f16w6_mRc,5323
157
+ hexdag/core/utils/schema_conversion.py,sha256=RTzJIlSpZlEINAZ7Yt7_j6yXRmYSv80eqYU-0r_q1us,2416
158
+ hexdag/core/utils/sql_validation.py,sha256=EQgNTmChLIt5W7XWa6R-RRmkuhSAsL-gBDFrQ4Dj9yY,2546
159
+ hexdag/core/validation/secure_json.py,sha256=yLowxF_WYe08pJIAS2iWex034XKt7Q_216fgdg37CC0,5059
160
+ hexdag/studio/__init__.py,sha256=ojfzQej2Rf3JlyLedomGAke1Ikwl6-UyGPBzrO2Gj3o,263
161
+ hexdag/studio/build_ui.py,sha256=48wE10SzzfWbeKAypqmDQLUciuCOg4SA6gNVQbIujlQ,2454
162
+ hexdag/studio/server/__init__.py,sha256=2pq91Cjsrx7n13r7XFFA0GIdEVMJvAxa8d4ZDOl1SSM,40
163
+ hexdag/studio/server/main.py,sha256=yEHza3EHL5Ub2A5YTLwo3dmtoQfJ73ZJiY64GMbRDLY,2983
164
+ hexdag/studio/server/routes/__init__.py,sha256=5cKqwDW87S-EcEd06RyJ2pjnaAtRAT7UsIy0XpV_RjQ,498
165
+ hexdag/studio/server/routes/execute.py,sha256=OWoRnV5Nm3PTJrgCkc37JfPlulRN4eHS6Z_XB-QDLzE,6517
166
+ hexdag/studio/server/routes/export.py,sha256=ELAFpG9MhT4ZaV4tSFeiVWRVZewxTrMhS7V4qs-mXOY,13503
167
+ hexdag/studio/server/routes/files.py,sha256=uO7DBEsA-OV-iDOG0mu28O66ORAh7WqTEv4W9fucdik,6217
168
+ hexdag/studio/server/routes/plugins.py,sha256=wvnZKMREq46m-H7UdZFDrhRqRreRZLEMT4-MXYQhiGQ,12929
169
+ hexdag/studio/server/routes/validate.py,sha256=sW5roX_JFEDMm8YOl7uRwlj9bvvOcAdqZGp1Mb0oMGc,6352
170
+ hexdag/studio/ui/index.html,sha256=HcZHca30DuR2GjhgTN_K7AeKs16z7R-F2hMA2-XCgOo,364
171
+ hexdag/studio/ui/package-lock.json,sha256=S9DIciyrqVvlchauPxBxo565MGt64AIJl4g3fjw5dkI,120351
172
+ hexdag/studio/ui/package.json,sha256=1R8WRT8Hv1Kn0NZZcuMHh1tjwJdNkYTskoZ1IJWyDvs,872
173
+ hexdag/studio/ui/postcss.config.js,sha256=GQyHfbRmmVvxSC9KFqvQbgSont4xGTQeKob_luFzeyc,80
174
+ hexdag/studio/ui/tailwind.config.js,sha256=2D3W6iZfht9LR2X2l05YdGHGnCWH6C2S_j8Wpk62fAQ,650
175
+ hexdag/studio/ui/tsconfig.json,sha256=-72jgA9sfgfcMBHS0IwgyRkmNrFdrKMcoQwJrowpBT4,837
176
+ hexdag/studio/ui/tsconfig.node.json,sha256=8_6pJg-2r-OSEfNrxZ_YyMcotoMdcLtbb4p7kuTHW1Y,277
177
+ hexdag/studio/ui/vite.config.ts,sha256=UUr8XGYSKs7QbxK1uGuIbL974xDZwZGsDW5Yj6luT3s,694
178
+ hexdag/studio/ui/public/hexdag.svg,sha256=X4TNvFzLQ_0fpMykWiVX_E-bcP0ouBmBGVSJMjGfKlo,275
179
+ hexdag/studio/ui/src/App.tsx,sha256=xBnZsJTFh3WvZWIGjmjb5ghoXruY61H_wjNEnuXQCb8,9336
180
+ hexdag/studio/ui/src/index.css,sha256=akRMqCLDkxXGpoDXOoQ5dk87goJwqIdAuadxf2l_INY,1393
181
+ hexdag/studio/ui/src/main.tsx,sha256=X0nc5ubMS11njPUp74kq8Kt9-mr7MAsRrVWSJAGbiwU,232
182
+ hexdag/studio/ui/src/vite-env.d.ts,sha256=ZZlpNvuwQpFfe3SiAPzd5-QQ8ypmmxq5WXz6pLD63bU,38
183
+ hexdag/studio/ui/src/components/Canvas.tsx,sha256=xQjAn9MyCARoSY5PUfLnTdpdEykfG-XbWxbbXz5CefQ,11837
184
+ hexdag/studio/ui/src/components/ContextMenu.tsx,sha256=3IcJdG3oeaeeicxa3FXiYQAc52W7A5dGWwwKce3yrwI,4671
185
+ hexdag/studio/ui/src/components/FileBrowser.tsx,sha256=ejsBKjktPL7vKQpkf7rnbNkaKy_M4DdLfwdzN9IKyJY,3836
186
+ hexdag/studio/ui/src/components/Header.tsx,sha256=zQSXsjUzV13KbenjEh_A35_TuuqN5Fnu6JoAAYJ6T8c,5702
187
+ hexdag/studio/ui/src/components/HexdagNode.tsx,sha256=HmeNEoxUzQzAzTb3AHMjsQrYC_4QYFiywO96rSboRJ8,6419
188
+ hexdag/studio/ui/src/components/NodeInspector.tsx,sha256=bEFl5B01xwIf-8p8-4II63qTQVCf9bib7cakSBQ1wmM,16335
189
+ hexdag/studio/ui/src/components/NodePalette.tsx,sha256=LsjV4IzO9P0SXHNi36HgXzPQmynJzfw9C8JLWtyQtoI,9636
190
+ hexdag/studio/ui/src/components/NodePortsSection.tsx,sha256=nkUaVEJ4oIAfpwYTQYuHNr6jDb-OaxD_FD5D3d0amWw,12474
191
+ hexdag/studio/ui/src/components/PluginManager.tsx,sha256=QaqePTLsM5N7lKLWPVYz3B7fZz3B7Gbw4ePeeYXEm8U,12446
192
+ hexdag/studio/ui/src/components/PortsEditor.tsx,sha256=h3b8GCKVeiT7DY99oEKm9HowtCG5xau3akzDZl_Owbc,15039
193
+ hexdag/studio/ui/src/components/PythonEditor.tsx,sha256=vJ7sgZ6s75651EI7Y-GTv2s5sODlNi2ay9XDtmL2Xww,6770
194
+ hexdag/studio/ui/src/components/ValidationPanel.tsx,sha256=b6EXyq0PcG0eQRFw5-Axvuy48HbMWudQ4i9oBJWoWwY,4050
195
+ hexdag/studio/ui/src/components/YamlEditor.tsx,sha256=U6a2qWC6hSLYFgjlL_bh-GH0COYwUKk7zLmM7SIU1A4,6716
196
+ hexdag/studio/ui/src/components/index.ts,sha256=fjXeu-PS5GD5m-My52619toCqWqQRuZHDPfJ_rQ4ZIk,428
197
+ hexdag/studio/ui/src/types/index.ts,sha256=ZWKo_eHfPnMGVXqMa0SZuB5VSOdDDLQy7RkhkVA1qPo,2592
198
+ hexdag/visualization/__init__.py,sha256=B7pF_eVt6ompQUometQK0EA3ARZItzguNZbYmEiVxu4,1889
199
+ hexdag/visualization/dag_visualizer.py,sha256=MsLL7CuOC-iC5-xm5doKk6iH0n1CDMklqZn35nZaigU,38790
200
+ hexdag_plugins/.gitignore,sha256=aQpAu5PcEYJb8HSSuVG1haxICb2ZE9atUMfSAInRdwA,352
201
+ hexdag_plugins/README.md,sha256=kf7t9v0L0yWTrqmJFrMbXHExEKU0x0rV1KIsYDkNoyA,1825
202
+ hexdag_plugins/__init__.py,sha256=KIVAJ8anX6TB1NpdEb2jqqKkvjc9yS6DyNwgU1R8fdo,45
203
+ hexdag_plugins/azure/LICENSE,sha256=A_Kuu5RGvITRg9wXlRa1a8hiNKyeGjVBokme_63rq04,1068
204
+ hexdag_plugins/azure/README.md,sha256=NA3eXr4uILFWggVvtVBH7z7a1Z0lvkkMB3d7uYYvi7s,10844
205
+ hexdag_plugins/azure/__init__.py,sha256=-gifssN5HKVw5b-mV8JW5YM36_IKaaPOKnZxKnpVYC0,735
206
+ hexdag_plugins/azure/azure_blob_adapter.py,sha256=09AqCgkH7b1HphflQKimgMwo7eXJjjJLqDOlUCG6pMg,13712
207
+ hexdag_plugins/azure/azure_cosmos_adapter.py,sha256=eHPp05rTAJwd2hYKIZ0k4HpMklKDt9gwQQbjIo9wrwc,11980
208
+ hexdag_plugins/azure/azure_keyvault_adapter.py,sha256=JwnsqIxLvNwPXp2da-fbRhykswPyXBrIqI1RzRw8eO0,10404
209
+ hexdag_plugins/azure/azure_openai_adapter.py,sha256=N875sORIPN60LoDE8BA8JEjcurENo348kXfQuznJz88,14225
210
+ hexdag_plugins/azure/pyproject.toml,sha256=ZkYd_mWU5nGHgqjz-Xf2PxFcGo7oge-fZETiXS_w60g,2758
211
+ hexdag_plugins/azure/tests/__init__.py,sha256=lCT8evlRhzUbKGplP81z0t2GvmyH8Ohzlo8yo-8oy-4,37
212
+ hexdag_plugins/azure/tests/test_azure_blob_adapter.py,sha256=ay6JBIv9oNP_ittb_1WUBjqyoASlj-tEC7_nGeLNwLk,11889
213
+ hexdag_plugins/azure/tests/test_azure_cosmos_adapter.py,sha256=-3NuqUzEoAUBbDBiJueANK9m7Ws0SZf0mT9oNdYR1tw,10935
214
+ hexdag_plugins/azure/tests/test_azure_keyvault_adapter.py,sha256=Zyrz7_zjTMf8gGAI1pPg3PFnj7PjJu7spwaLXXxpNak,11175
215
+ hexdag_plugins/azure/tests/test_azure_openai_adapter.py,sha256=dD0tyZL32sULJza9spxqU9W7BducP17EdZE1JHHXLTo,11326
216
+ hexdag_plugins/hexdag_etl/README.md,sha256=b26bpamQuB_c2pfKMB0uj3DaYae5Wh2_znAp0_z1kWM,3523
217
+ hexdag_plugins/hexdag_etl/__init__.py,sha256=6HPLj3yQhDxl7XxZnp3K3nywOATlRtGGam9JQqfUp0Q,1321
218
+ hexdag_plugins/hexdag_etl/hexdag.toml,sha256=Txx_llBw0xPNLxB1XBmhHQFVmh47TGG-Ni8uNbD-Yt0,748
219
+ hexdag_plugins/hexdag_etl/pyproject.toml,sha256=c2ft-WnW9au1zGJFqMDEnkPUsC1Q1ZZZ0mPNFbQ-x10,1957
220
+ hexdag_plugins/hexdag_etl/test_transform.py,sha256=swcHqjR7nStzgsW8xjEfgQ04fMq3kjvhFVEv3t0NyYA,1354
221
+ hexdag_plugins/hexdag_etl/examples/01_simple_pandas_transform.py,sha256=9quUWxaYuDWXg_HoB7biutyeRXZyCvbOInYXSJEycG8,7992
222
+ hexdag_plugins/hexdag_etl/examples/02_simple_pandas_only.py,sha256=MTtNcFsdp3iUVa-c51w_PUiLoYgRdjO81gtQDFI1dmk,3935
223
+ hexdag_plugins/hexdag_etl/examples/03_file_io_pipeline.py,sha256=7OnKRgQinOsRadg3mxGO65HkzZDx0E2ckp3XR__HmQY,3517
224
+ hexdag_plugins/hexdag_etl/examples/test_pandas_transform.py,sha256=eIUdO5Z6HQmZk86SUJTPveWgCajwLvLPGXa-TiBq0rI,2276
225
+ hexdag_plugins/hexdag_etl/hexdag_etl/__init__.py,sha256=fzWZLSPDHPUDohNH5i-3VoJt59EcMf52ka6qAII2F0k,1261
226
+ hexdag_plugins/hexdag_etl/hexdag_etl/nodes/__init__.py,sha256=g9fqh_169btQqKvgPD-cv2x9_5QTJVGujS8b5DECNeo,363
227
+ hexdag_plugins/hexdag_etl/hexdag_etl/nodes/api_extract.py,sha256=X7zvWXMRYlNqEwYRUVWrjyN7nYV_Kbm4ru44vs9p5g0,6829
228
+ hexdag_plugins/hexdag_etl/hexdag_etl/nodes/base_node_factory.py,sha256=we1i5i8vihYMCeC68JkpxopAjIj3g5Qf3tNgKWEQbv0,6847
229
+ hexdag_plugins/hexdag_etl/hexdag_etl/nodes/file_io.py,sha256=_8oKp6J9v35hbSpvf75vMfsaWPC6rPM3QShCB-Yru2E,12425
230
+ hexdag_plugins/hexdag_etl/hexdag_etl/nodes/outlook.py,sha256=WWgqCZRM8BFKPCWLcjfCjh2vW4bAQ3jHpubSTUZ5Kas,16663
231
+ hexdag_plugins/hexdag_etl/hexdag_etl/nodes/pandas_transform.py,sha256=uo53UTnUrTe4M-QlmFvfEkl9ewg0wu-UT9zLaHmE7uw,18503
232
+ hexdag_plugins/hexdag_etl/hexdag_etl/nodes/sql_extract_load.py,sha256=0JI4MPQm2dxPi_Bqyq9AnBvAOlIkKZ6i0BjR6GPhqM0,3309
233
+ hexdag_plugins/hexdag_etl/tests/test_plugin_integration.py,sha256=SsBPW3vAK_BKsEvwMaZVLFpTJwzSZmtFIwQgtl65wzE,2274
234
+ hexdag_plugins/mysql_adapter/LICENSE,sha256=A_Kuu5RGvITRg9wXlRa1a8hiNKyeGjVBokme_63rq04,1068
235
+ hexdag_plugins/mysql_adapter/README.md,sha256=9mmEyja7CrxynnlxwNZd5rExBm0wK3iyXg4-_gsFOss,4665
236
+ hexdag_plugins/mysql_adapter/__init__.py,sha256=UNglxLLGZJbQixIuTO4IPcd3U8vQ6egNkCWx-jTR_ak,168
237
+ hexdag_plugins/mysql_adapter/mysql_adapter.py,sha256=pj9J0cI85QSHzU2uSlO4zaEbffPP_1jTfGSUzdXpHig,13783
238
+ hexdag_plugins/mysql_adapter/pyproject.toml,sha256=URzn4dSMrdIqp4vi7yTe7dYVyS-G7ewPdtQpULM0Syg,2237
239
+ hexdag_plugins/mysql_adapter/tests/test_mysql_adapter.py,sha256=l6zvAAPTuwo0uL0E0cOD9u70TaRhLxo62qrhXoX7lS4,10243
240
+ hexdag_plugins/storage/README.md,sha256=HtMFpf_vjdTeMYuCXceI6BllIOM_w8I6viNYwpcdLTE,4303
241
+ hexdag_plugins/storage/__init__.py,sha256=kVmYdOspIl_WP6Sy3aGSPStqpog0CB0-HCYFrTIQBcE,480
242
+ hexdag_plugins/storage/file/__init__.py,sha256=-zGvti0V5L_tYm-x60osNFIK71l_EVR7hNaBWFoakJU,98
243
+ hexdag_plugins/storage/file/local.py,sha256=UTndCoEUSRqEGw969OfFwNDi41tEvgiQ3hhxDPqSaeQ,9249
244
+ hexdag_plugins/storage/ports/__init__.py,sha256=1KmPM0x3atMyrpcFjryoZyys-siB2d7bfzymnPrwxTE,116
245
+ hexdag_plugins/storage/ports/vector_store.py,sha256=bTBDdUM035G9wZqwUbBYWbEsa73UrI-dSVCgkND_EiI,6694
246
+ hexdag_plugins/storage/sql/__init__.py,sha256=mounXh_8YUap2wOZM_6e3rNrtOMMoUfh7EzK33Ca94w,230
247
+ hexdag_plugins/storage/sql/base.py,sha256=wt8FbieN-3V41jILrM8l-ZgQKYKHHoZL912gf_ECCac,6175
248
+ hexdag_plugins/storage/sql/mysql.py,sha256=BThmplvGkw_M697sUTgnEB2gStFG-U5GIF48RywTOLc,1026
249
+ hexdag_plugins/storage/sql/postgresql.py,sha256=paM1kd7JI0lDv_KBH9Q5zmRNF5Ay8D875KvIL6tyJx0,1058
250
+ hexdag_plugins/storage/tests/__init__.py,sha256=1RPu20CIZoKXtUAwiaOlteyNKm_6AgmmVq2Ok12edmY,32
251
+ hexdag_plugins/storage/tests/test_local_file_storage.py,sha256=gjNGNa3ToUlngx0DeEzAMOWstH3TBDBua-SvflVJQgk,5778
252
+ hexdag_plugins/storage/tests/test_sql_adapters.py,sha256=XIE3q32FZ_EtEKwsAWYHP0I1XwrTg8Mx3dJyf0JKVG8,7005
253
+ hexdag_plugins/storage/vector/__init__.py,sha256=uMI7dYdgMpm5b-Kay3Z9OehTC8kfqvJzutzXP_HngLc,222
254
+ hexdag_plugins/storage/vector/chromadb.py,sha256=CZBtp4EAw6WGwJ4M8WYc0KYVdbTJLiP74pF3JxSZIgI,7103
255
+ hexdag_plugins/storage/vector/in_memory.py,sha256=j_7FAXj8nQPxPAIksaeOyU5yFJijOXxYEJCRibwttB8,8390
256
+ hexdag_plugins/storage/vector/pgvector.py,sha256=830TWR4JrwbpzYultCIfb7Tll_D0te3xJM3PXCHyH94,18262
257
+ hexdag-0.5.0.dev1.dist-info/METADATA,sha256=QqkFJqeQkZEFR6XxedhGq7VmALGAHlJDGohyElMV8gQ,13940
258
+ hexdag-0.5.0.dev1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
259
+ hexdag-0.5.0.dev1.dist-info/entry_points.txt,sha256=HVVYo840xI_sDh7Ld4V6JikuEKykjCv-hdB8lND48FU,144
260
+ hexdag-0.5.0.dev1.dist-info/licenses/LICENSE,sha256=ha-Tqaxjm6OqBpizGHUnQk1XxuU9_M9xMFTSz_kJzxk,10760
261
+ hexdag-0.5.0.dev1.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.28.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,4 @@
1
+ [console_scripts]
2
+ hexdag = hexdag.cli:main
3
+ run-check-examples = scripts.check_examples:main
4
+ run-check-tests = scripts.check_test_structure:main