flowcept 0.9.8__tar.gz → 0.9.10__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 (211) hide show
  1. {flowcept-0.9.8 → flowcept-0.9.10}/Makefile +1 -0
  2. {flowcept-0.9.8 → flowcept-0.9.10}/PKG-INFO +2 -1
  3. {flowcept-0.9.8 → flowcept-0.9.10}/docs/api-reference.rst +13 -19
  4. {flowcept-0.9.8 → flowcept-0.9.10}/docs/architecture.rst +4 -6
  5. {flowcept-0.9.8 → flowcept-0.9.10}/docs/conf.py +5 -1
  6. flowcept-0.9.10/docs/img/PROV-AGENT.svg +226 -0
  7. flowcept-0.9.10/docs/large_data.rst +20 -0
  8. {flowcept-0.9.8 → flowcept-0.9.10}/docs/prov_capture.rst +156 -93
  9. {flowcept-0.9.8 → flowcept-0.9.10}/docs/prov_query.rst +12 -10
  10. {flowcept-0.9.8 → flowcept-0.9.10}/docs/quick_start.rst +7 -11
  11. flowcept-0.9.10/docs/schemas.rst +51 -0
  12. {flowcept-0.9.8 → flowcept-0.9.10}/docs/setup.rst +129 -15
  13. {flowcept-0.9.8 → flowcept-0.9.10}/pyproject.toml +1 -1
  14. {flowcept-0.9.8 → flowcept-0.9.10}/resources/sample_settings.yaml +1 -1
  15. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/__init__.py +6 -0
  16. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/gui/agent_gui.py +6 -3
  17. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/prompts/general_prompts.py +1 -1
  18. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/prompts/in_memory_query_prompts.py +2 -0
  19. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/tools/general_tools.py +38 -2
  20. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/cli.py +2 -2
  21. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/vocabulary.py +20 -0
  22. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/configs.py +2 -2
  23. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_api/flowcept_controller.py +8 -9
  24. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/flowcept_loop.py +3 -2
  25. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/version.py +1 -1
  26. {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/test_file_observer.py +1 -1
  27. flowcept-0.9.8/docs/schemas.rst +0 -11
  28. {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/checks.yml +0 -0
  29. {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/create-release-n-publish.yml +0 -0
  30. {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-llm-tests.yml +0 -0
  31. {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-tests-all-dbs.yml +0 -0
  32. {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-tests-in-container.yml +0 -0
  33. {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-tests-kafka.yml +0 -0
  34. {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-tests-py313.yml +0 -0
  35. {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-tests-simple.yml +0 -0
  36. {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run-tests.yml +0 -0
  37. {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/run_examples.sh +0 -0
  38. {flowcept-0.9.8 → flowcept-0.9.10}/.github/workflows/version_bumper.py +0 -0
  39. {flowcept-0.9.8 → flowcept-0.9.10}/.gitignore +0 -0
  40. {flowcept-0.9.8 → flowcept-0.9.10}/.readthedocs.yaml +0 -0
  41. {flowcept-0.9.8 → flowcept-0.9.10}/CONTRIBUTING.md +0 -0
  42. {flowcept-0.9.8 → flowcept-0.9.10}/LICENSE +0 -0
  43. {flowcept-0.9.8 → flowcept-0.9.10}/README.md +0 -0
  44. {flowcept-0.9.8 → flowcept-0.9.10}/deployment/Dockerfile +0 -0
  45. {flowcept-0.9.8 → flowcept-0.9.10}/deployment/compose-grafana.yml +0 -0
  46. {flowcept-0.9.8 → flowcept-0.9.10}/deployment/compose-kafka.yml +0 -0
  47. {flowcept-0.9.8 → flowcept-0.9.10}/deployment/compose-mofka.yml +0 -0
  48. {flowcept-0.9.8 → flowcept-0.9.10}/deployment/compose-mongo.yml +0 -0
  49. {flowcept-0.9.8 → flowcept-0.9.10}/deployment/compose.yml +0 -0
  50. {flowcept-0.9.8 → flowcept-0.9.10}/docs/cli-reference.rst +0 -0
  51. {flowcept-0.9.8 → flowcept-0.9.10}/docs/contributing.rst +0 -0
  52. {flowcept-0.9.8 → flowcept-0.9.10}/docs/img/architecture-diagram.png +0 -0
  53. {flowcept-0.9.8 → flowcept-0.9.10}/docs/img/flowcept-logo-dark.png +0 -0
  54. {flowcept-0.9.8 → flowcept-0.9.10}/docs/img/flowcept-logo.png +0 -0
  55. {flowcept-0.9.8 → flowcept-0.9.10}/docs/index.rst +0 -0
  56. {flowcept-0.9.8 → flowcept-0.9.10}/docs/prov_storage.rst +0 -0
  57. {flowcept-0.9.8 → flowcept-0.9.10}/docs/task_schema.rst +0 -0
  58. {flowcept-0.9.8 → flowcept-0.9.10}/docs/telemetry_capture.rst +0 -0
  59. {flowcept-0.9.8 → flowcept-0.9.10}/docs/workflow_schema.rst +0 -0
  60. {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/a2a/README.md +0 -0
  61. {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/a2a/agent1.py +0 -0
  62. {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/a2a/agent2.py +0 -0
  63. {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/aec_agent_context_manager.py +0 -0
  64. {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/aec_agent_mock.py +0 -0
  65. {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/aec_prompts.py +0 -0
  66. {flowcept-0.9.8 → flowcept-0.9.10}/examples/agents/opt_driver_mock.py +0 -0
  67. {flowcept-0.9.8 → flowcept-0.9.10}/examples/consumers/ping_pong_example.py +0 -0
  68. {flowcept-0.9.8 → flowcept-0.9.10}/examples/consumers/simple_consumer.py +0 -0
  69. {flowcept-0.9.8 → flowcept-0.9.10}/examples/consumers/simple_publisher.py +0 -0
  70. {flowcept-0.9.8 → flowcept-0.9.10}/examples/convergence_loop_example.py +0 -0
  71. {flowcept-0.9.8 → flowcept-0.9.10}/examples/dask_example.py +0 -0
  72. {flowcept-0.9.8 → flowcept-0.9.10}/examples/distributed_consumer_example.py +0 -0
  73. {flowcept-0.9.8 → flowcept-0.9.10}/examples/instrumented_loop_example.py +0 -0
  74. {flowcept-0.9.8 → flowcept-0.9.10}/examples/instrumented_simple_example.py +0 -0
  75. {flowcept-0.9.8 → flowcept-0.9.10}/examples/llm_complex/README.md +0 -0
  76. {flowcept-0.9.8 → flowcept-0.9.10}/examples/llm_complex/custom_provenance_id_mapping.yaml +0 -0
  77. {flowcept-0.9.8 → flowcept-0.9.10}/examples/llm_complex/llm_dataprep.py +0 -0
  78. {flowcept-0.9.8 → flowcept-0.9.10}/examples/llm_complex/llm_main_example.py +0 -0
  79. {flowcept-0.9.8 → flowcept-0.9.10}/examples/llm_complex/llm_model.py +0 -0
  80. {flowcept-0.9.8 → flowcept-0.9.10}/examples/llm_complex/llm_test_runner.py +0 -0
  81. {flowcept-0.9.8 → flowcept-0.9.10}/examples/mlflow_example.py +0 -0
  82. {flowcept-0.9.8 → flowcept-0.9.10}/examples/mqtt_example.py +0 -0
  83. {flowcept-0.9.8 → flowcept-0.9.10}/examples/single_layer_perceptron_example.py +0 -0
  84. {flowcept-0.9.8 → flowcept-0.9.10}/examples/start_here.py +0 -0
  85. {flowcept-0.9.8 → flowcept-0.9.10}/examples/tensorboard_example.py +0 -0
  86. {flowcept-0.9.8 → flowcept-0.9.10}/examples/unmanaged/main.py +0 -0
  87. {flowcept-0.9.8 → flowcept-0.9.10}/examples/unmanaged/simple_task.py +0 -0
  88. {flowcept-0.9.8 → flowcept-0.9.10}/notebooks/analytics.ipynb +0 -0
  89. {flowcept-0.9.8 → flowcept-0.9.10}/notebooks/dask.ipynb +0 -0
  90. {flowcept-0.9.8 → flowcept-0.9.10}/notebooks/dask_from_CLI.ipynb +0 -0
  91. {flowcept-0.9.8 → flowcept-0.9.10}/notebooks/mlflow.ipynb +0 -0
  92. {flowcept-0.9.8 → flowcept-0.9.10}/notebooks/reset_dask_nb_exec_counts.py +0 -0
  93. {flowcept-0.9.8 → flowcept-0.9.10}/notebooks/tensorboard.ipynb +0 -0
  94. {flowcept-0.9.8 → flowcept-0.9.10}/resources/mofka/bedrock_setup.sh +0 -0
  95. {flowcept-0.9.8 → flowcept-0.9.10}/resources/mofka/consumer.py +0 -0
  96. {flowcept-0.9.8 → flowcept-0.9.10}/resources/mofka/mofka-requirements.yaml +0 -0
  97. {flowcept-0.9.8 → flowcept-0.9.10}/resources/mofka/mofka_config.json +0 -0
  98. {flowcept-0.9.8 → flowcept-0.9.10}/resources/simple_redis_consumer.py +0 -0
  99. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/__init__.py +0 -0
  100. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/agent_client.py +0 -0
  101. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/agents_utils.py +0 -0
  102. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/dynamic_schema_tracker.py +0 -0
  103. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/flowcept_agent.py +0 -0
  104. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/flowcept_ctx_manager.py +0 -0
  105. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/gui/__init__.py +0 -0
  106. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/gui/audio_utils.py +0 -0
  107. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/gui/gui_utils.py +0 -0
  108. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/llms/__init__.py +0 -0
  109. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/llms/claude_gcp.py +0 -0
  110. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/llms/gemini25.py +0 -0
  111. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/prompts/__init__.py +0 -0
  112. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/tools/__init__.py +0 -0
  113. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/tools/in_memory_queries/__init__.py +0 -0
  114. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/tools/in_memory_queries/in_memory_queries_tools.py +0 -0
  115. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/agents/tools/in_memory_queries/pandas_agent_utils.py +0 -0
  116. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/analytics/__init__.py +0 -0
  117. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/analytics/analytics_utils.py +0 -0
  118. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/analytics/data_augmentation.py +0 -0
  119. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/analytics/plot.py +0 -0
  120. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/__init__.py +0 -0
  121. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/autoflush_buffer.py +0 -0
  122. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/__init__.py +0 -0
  123. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/docdb_dao/__init__.py +0 -0
  124. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/docdb_dao/docdb_dao_base.py +0 -0
  125. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/docdb_dao/lmdb_dao.py +0 -0
  126. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/docdb_dao/mongodb_dao.py +0 -0
  127. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/keyvalue_dao.py +0 -0
  128. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/mq_dao/__init__.py +0 -0
  129. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/mq_dao/mq_dao_base.py +0 -0
  130. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/mq_dao/mq_dao_kafka.py +0 -0
  131. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/mq_dao/mq_dao_mofka.py +0 -0
  132. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/mq_dao/mq_dao_redis.py +0 -0
  133. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/daos/redis_conn.py +0 -0
  134. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/flowcept_dataclasses/__init__.py +0 -0
  135. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/flowcept_dataclasses/base_settings_dataclasses.py +0 -0
  136. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/flowcept_dataclasses/task_object.py +0 -0
  137. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/flowcept_dataclasses/telemetry.py +0 -0
  138. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/flowcept_dataclasses/workflow_object.py +0 -0
  139. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/flowcept_logger.py +0 -0
  140. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/query_utils.py +0 -0
  141. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/settings_factory.py +0 -0
  142. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/task_data_preprocess.py +0 -0
  143. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/commons/utils.py +0 -0
  144. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_api/__init__.py +0 -0
  145. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_api/db_api.py +0 -0
  146. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_api/task_query_api.py +0 -0
  147. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_webserver/__init__.py +0 -0
  148. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_webserver/app.py +0 -0
  149. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_webserver/resources/__init__.py +0 -0
  150. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_webserver/resources/query_rsrc.py +0 -0
  151. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowcept_webserver/resources/task_messages_rsrc.py +0 -0
  152. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/__init__.py +0 -0
  153. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/__init__.py +0 -0
  154. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/base_interceptor.py +0 -0
  155. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/brokers/__init__.py +0 -0
  156. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/brokers/mqtt_interceptor.py +0 -0
  157. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/dask/__init__.py +0 -0
  158. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/dask/dask_dataclasses.py +0 -0
  159. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/dask/dask_interceptor.py +0 -0
  160. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/dask/dask_plugins.py +0 -0
  161. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/instrumentation_interceptor.py +0 -0
  162. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/interceptor_state_manager.py +0 -0
  163. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/mlflow/__init__.py +0 -0
  164. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/mlflow/interception_event_handler.py +0 -0
  165. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/mlflow/mlflow_dao.py +0 -0
  166. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/mlflow/mlflow_dataclasses.py +0 -0
  167. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/mlflow/mlflow_interceptor.py +0 -0
  168. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/tensorboard/__init__.py +0 -0
  169. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/tensorboard/tensorboard_dataclasses.py +0 -0
  170. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/adapters/tensorboard/tensorboard_interceptor.py +0 -0
  171. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/consumers/__init__.py +0 -0
  172. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/consumers/agent/__init__.py +0 -0
  173. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/consumers/agent/base_agent_context_manager.py +0 -0
  174. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/consumers/base_consumer.py +0 -0
  175. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/consumers/consumer_utils.py +0 -0
  176. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/consumers/document_inserter.py +0 -0
  177. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/flowceptor/telemetry_capture.py +0 -0
  178. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/__init__.py +0 -0
  179. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/flowcept_agent_task.py +0 -0
  180. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/flowcept_decorator.py +0 -0
  181. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/flowcept_task.py +0 -0
  182. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/flowcept_torch.py +0 -0
  183. {flowcept-0.9.8 → flowcept-0.9.10}/src/flowcept/instrumentation/task_capture.py +0 -0
  184. {flowcept-0.9.8 → flowcept-0.9.10}/tests/__init__.py +0 -0
  185. {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/__init__.py +0 -0
  186. {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/dask_test_utils.py +0 -0
  187. {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/test_broker.py +0 -0
  188. {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/test_dask.py +0 -0
  189. {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/test_dask_with_context_mgmt.py +0 -0
  190. {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/test_mlflow.py +0 -0
  191. {flowcept-0.9.8 → flowcept-0.9.10}/tests/adapters/test_tensorboard.py +0 -0
  192. {flowcept-0.9.8 → flowcept-0.9.10}/tests/api/__init__.py +0 -0
  193. {flowcept-0.9.8 → flowcept-0.9.10}/tests/api/db_api_test.py +0 -0
  194. {flowcept-0.9.8 → flowcept-0.9.10}/tests/api/flowcept_api_test.py +0 -0
  195. {flowcept-0.9.8 → flowcept-0.9.10}/tests/api/sample_data.json +0 -0
  196. {flowcept-0.9.8 → flowcept-0.9.10}/tests/api/sample_data_with_telemetry_and_rai.json +0 -0
  197. {flowcept-0.9.8 → flowcept-0.9.10}/tests/api/task_query_api_test.py +0 -0
  198. {flowcept-0.9.8 → flowcept-0.9.10}/tests/doc_db_inserter/__init__.py +0 -0
  199. {flowcept-0.9.8 → flowcept-0.9.10}/tests/doc_db_inserter/doc_db_inserter_test.py +0 -0
  200. {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/__init__.py +0 -0
  201. {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/flowcept_explicit_tasks.py +0 -0
  202. {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/flowcept_loop_test.py +0 -0
  203. {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/flowcept_task_decorator_test.py +0 -0
  204. {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/ml_tests/__init__.py +0 -0
  205. {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/ml_tests/dl_trainer.py +0 -0
  206. {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/ml_tests/ml_decorator_dask_test.py +0 -0
  207. {flowcept-0.9.8 → flowcept-0.9.10}/tests/instrumentation_tests/ml_tests/ml_decorator_test.py +0 -0
  208. {flowcept-0.9.8 → flowcept-0.9.10}/tests/misc_tests/__init__.py +0 -0
  209. {flowcept-0.9.8 → flowcept-0.9.10}/tests/misc_tests/log_test.py +0 -0
  210. {flowcept-0.9.8 → flowcept-0.9.10}/tests/misc_tests/singleton_test.py +0 -0
  211. {flowcept-0.9.8 → flowcept-0.9.10}/tests/misc_tests/telemetry_test.py +0 -0
@@ -45,6 +45,7 @@ clean:
45
45
  @find . -type d -name "*output_data*" -exec sh -c 'rm -rf "$$@" 2>/dev/null || true' sh {} +
46
46
  @find . -type f -name "*nohup*" -exec sh -c 'rm -f "$$@" 2>/dev/null || true' sh {} +
47
47
  @sh -c 'sphinx-build -M clean docs docs/_build > /dev/null 2>&1 || true'
48
+ @sh -c 'rm -f docs/generated/* 2>/dev/null || true'
48
49
 
49
50
  # Build the HTML documentation using Sphinx
50
51
  .PHONY: docs
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flowcept
3
- Version: 0.9.8
3
+ Version: 0.9.10
4
4
  Summary: Capture and query workflow provenance data using data observability
5
5
  Author: Oak Ridge National Laboratory
6
6
  License-Expression: MIT
@@ -56,6 +56,7 @@ Requires-Dist: tensorflow; extra == 'all'
56
56
  Requires-Dist: tomli; extra == 'all'
57
57
  Requires-Dist: watchdog; extra == 'all'
58
58
  Provides-Extra: analytics
59
+ Requires-Dist: matplotlib; extra == 'analytics'
59
60
  Requires-Dist: plotly; extra == 'analytics'
60
61
  Requires-Dist: scipy; extra == 'analytics'
61
62
  Requires-Dist: seaborn; extra == 'analytics'
@@ -1,27 +1,17 @@
1
1
  API Reference
2
2
  =============
3
3
 
4
- .. autosummary::
5
- :toctree: generated/
6
- :recursive:
7
-
8
- flowcept.Flowcept
9
- flowcept.flowcept_api.db_api.DBAPI
10
- flowcept.TaskObject
11
- flowcept.WorkflowObject
12
- flowcept.FlowceptTask
13
- flowcept.FlowceptLoop
14
- flowcept.FlowceptLightweightLoop
15
4
 
16
5
  Main Flowcept Object
17
6
  --------------------
18
7
 
8
+ See also: `Flowcept object <https://flowcept.readthedocs.io/en/latest/prov_capture.html>`_ in provenance capture methods.
9
+
19
10
  .. autoclass:: flowcept.Flowcept
20
11
  :members:
21
12
  :special-members: __init__
22
13
  :exclude-members: __weakref__, __dict__, __module__
23
-
24
-
14
+ :noindex:
25
15
 
26
16
  Flowcept.db: Querying the Database
27
17
  ----------------------------------
@@ -49,18 +39,20 @@ Typical usage:
49
39
  :members:
50
40
  :undoc-members:
51
41
  :show-inheritance:
52
-
42
+ :noindex:
53
43
 
54
44
  Main Message Objects
55
45
  ---------------------
56
46
 
57
47
  .. autoclass:: flowcept.TaskObject
58
48
  :members:
49
+ :noindex:
59
50
 
60
51
  .. autoclass:: flowcept.WorkflowObject
61
52
  :members:
53
+ :noindex:
62
54
 
63
- FlowceptTask object
55
+ FlowceptTask
64
56
  -------------------
65
57
 
66
58
  .. autoclass:: flowcept.FlowceptTask
@@ -68,8 +60,9 @@ FlowceptTask object
68
60
  :special-members: __init__
69
61
  :undoc-members:
70
62
  :show-inheritance:
63
+ :noindex:
71
64
 
72
- FlowceptLoop object
65
+ FlowceptLoop
73
66
  -------------------
74
67
 
75
68
  .. autoclass:: flowcept.FlowceptLoop
@@ -77,13 +70,14 @@ FlowceptLoop object
77
70
  :special-members: __init__
78
71
  :undoc-members:
79
72
  :show-inheritance:
73
+ :noindex:
80
74
 
81
-
82
- FlowceptLightweightLoop object
75
+ FlowceptLightweightLoop
83
76
  ------------------------------
84
77
 
85
78
  .. autoclass:: flowcept.FlowceptLightweightLoop
86
79
  :members:
87
80
  :special-members: __init__
88
81
  :undoc-members:
89
- :show-inheritance:
82
+ :show-inheritance:
83
+ :noindex:
@@ -8,9 +8,7 @@ Flowcept Architecture
8
8
  Overview
9
9
  --------
10
10
 
11
- Rather than designing a new provenance system from scratch, Flowcept builds on a **reference architecture**
12
- (Figure below) that follows established distributed design principles and is extensible to support
13
- LLM-based provenance agents.
11
+ Flowcept follows established distributed design principles and is extensible to support multiple MQs as backends, multiple database models (e.g., Document, Relational, Graph), and LLM-based agents.
14
12
  This provides a flexible, loosely coupled framework that scales from small centralized workflows
15
13
  to large HPC workflows across the **Edge–Cloud–HPC (ECH)** continuum.
16
14
 
@@ -19,8 +17,6 @@ to large HPC workflows across the **Edge–Cloud–HPC (ECH)** continuum.
19
17
  :align: center
20
18
  :width: 100%
21
19
 
22
- Reference architecture for distributed workflow provenance with a provenance AI agent.
23
-
24
20
  Capture Mechanisms
25
21
  ------------------
26
22
 
@@ -59,7 +55,7 @@ They can store provenance into different backends, depending on performance and
59
55
 
60
56
  - **MongoDB** → efficient bulk writes and flexible aggregation queries.
61
57
  - **LMDB** → lightweight key–value store, optimized for high-frequency inserts.
62
- - **Neo4j** → graph database, enabling graph traversal and relationship queries.
58
+ - **Custom** → Other storage mechanisms can be implemented by following Flowcept's Base Consumer class. See `here <https://flowcept.readthedocs.io/en/latest/prov_storage.html#provenance-consumer>`_.
63
59
 
64
60
  Access and Querying
65
61
  -------------------
@@ -70,6 +66,8 @@ Users can access provenance data through multiple interfaces:
70
66
  - **Grafana dashboards** for monitoring and visualization
71
67
  - **Natural language queries** through Flowcept’s LLM-powered agent (introduced in this work)
72
68
 
69
+ See more about `querying <https://flowcept.readthedocs.io/en/latest/prov_query.html>`_.
70
+
73
71
  Deployment Flexibility
74
72
  ----------------------
75
73
 
@@ -13,8 +13,12 @@ author = "Oak Ridge National Lab"
13
13
  # -- General configuration ---------------------------------------------------
14
14
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
15
15
 
16
- extensions = ["sphinx.ext.autodoc"]
16
+ extensions = [
17
+ "sphinx.ext.autodoc",
18
+ "sphinx.ext.autosummary",
19
+ ]
17
20
 
21
+ autosummary_generate = True
18
22
  templates_path = ["_templates"]
19
23
  exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
20
24
 
@@ -0,0 +1,226 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="620pt" height="666pt" viewBox="0.00 0.00 619.79 665.60">
2
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 661.6)">
3
+ <title>AIAgentProvenance</title>
4
+ <polygon fill="white" stroke="none" points="-4,4 -4,-661.6 615.79,-661.6 615.79,4 -4,4"/>
5
+ <!-- DataObject -->
6
+ <g id="node1" class="node">
7
+ <title>DataObject</title>
8
+ <ellipse fill="lightyellow" stroke="black" cx="270.92" cy="-373.2" rx="59.34" ry="18"/>
9
+ <text text-anchor="middle" x="270.92" y="-369" font-family="Helvetica,sans-Serif" font-size="14.00">DataObject</text>
10
+ </g>
11
+ <!-- ToolExecution -->
12
+ <g id="node11" class="node">
13
+ <title>ToolExecution</title>
14
+ <polygon fill="lightblue" stroke="black" points="312.83,-302.4 233.01,-302.4 233.01,-266.4 312.83,-266.4 312.83,-302.4"/>
15
+ <text text-anchor="middle" x="272.92" y="-280.2" font-family="Helvetica,sans-Serif" font-size="14.00">AgentTool</text>
16
+ </g>
17
+ <!-- DataObject&#45;&gt;ToolExecution -->
18
+ <g id="edge8" class="edge">
19
+ <title>DataObject-&gt;ToolExecution</title>
20
+ <path fill="none" stroke="black" d="M245,-356.58C232.59,-346.96 221.72,-333.91 228.29,-320.4 230.02,-316.84 232.31,-313.53 234.94,-310.49"/>
21
+ <polygon fill="black" stroke="black" points="237.24,-313.14 241.98,-303.67 232.37,-308.11 237.24,-313.14"/>
22
+ <text text-anchor="middle" x="276.11" y="-324.6" font-family="Times,serif" font-size="14.00">wasGeneratedBy</text>
23
+ </g>
24
+ <!-- AIAgent -->
25
+ <g id="node13" class="node">
26
+ <title>AIAgent</title>
27
+ <polygon fill="orange" stroke="black" points="447.03,-23.56 390.92,-36 334.81,-23.56 356.24,-3.44 425.6,-3.44 447.03,-23.56"/>
28
+ <text text-anchor="middle" x="390.92" y="-13.8" font-family="Helvetica,sans-Serif" font-size="14.00">AIAgent</text>
29
+ </g>
30
+ <!-- DataObject&#45;&gt;AIAgent -->
31
+ <g id="edge9" class="edge">
32
+ <title>DataObject-&gt;AIAgent</title>
33
+ <path fill="none" stroke="black" d="M323.39,-364.52C395.64,-352.44 516.92,-326.1 516.92,-285.4 516.92,-285.4 516.92,-285.4 516.92,-105.8 516.92,-66.68 475.22,-43.85 439.8,-31.5"/>
34
+ <polygon fill="black" stroke="black" points="441.1,-28.24 430.5,-28.47 438.93,-34.9 441.1,-28.24"/>
35
+ <text text-anchor="middle" x="564.35" y="-191.4" font-family="Times,serif" font-size="14.00">wasAttributedTo</text>
36
+ </g>
37
+ <!-- Model -->
38
+ <g id="node2" class="node">
39
+ <title>Model</title>
40
+ <ellipse fill="lightyellow" stroke="black" cx="316.92" cy="-106.8" rx="46.46" ry="18"/>
41
+ <text text-anchor="middle" x="316.92" y="-102.6" font-family="Helvetica,sans-Serif" font-size="14.00">AIModel</text>
42
+ </g>
43
+ <!-- DomainData -->
44
+ <g id="node3" class="node">
45
+ <title>DomainData</title>
46
+ <ellipse fill="lightyellow" stroke="black" cx="188.92" cy="-462" rx="64.71" ry="18"/>
47
+ <text text-anchor="middle" x="188.92" y="-457.8" font-family="Helvetica,sans-Serif" font-size="14.00">DomainData</text>
48
+ </g>
49
+ <!-- DomainData&#45;&gt;DataObject -->
50
+ <g id="edge17" class="edge">
51
+ <title>DomainData-&gt;DataObject</title>
52
+ <path fill="none" stroke="gray" stroke-dasharray="5,2" d="M204.73,-444.26C216.87,-431.42 233.82,-413.48 247.52,-398.97"/>
53
+ <polygon fill="gray" stroke="gray" points="249.8,-401.66 254.12,-391.98 244.71,-396.85 249.8,-401.66"/>
54
+ </g>
55
+ <!-- Task -->
56
+ <g id="node10" class="node">
57
+ <title>Task</title>
58
+ <polygon fill="lightblue" stroke="black" points="328.92,-568.8 274.92,-568.8 274.92,-532.8 328.92,-532.8 328.92,-568.8"/>
59
+ <text text-anchor="middle" x="301.92" y="-546.6" font-family="Helvetica,sans-Serif" font-size="14.00">Task</text>
60
+ </g>
61
+ <!-- DomainData&#45;&gt;Task -->
62
+ <g id="edge11" class="edge">
63
+ <title>DomainData-&gt;Task</title>
64
+ <path fill="none" stroke="black" d="M180.09,-479.95C175.74,-490.89 172.83,-504.89 180.29,-514.8 199.26,-539.99 235.18,-547.94 263.08,-550.06"/>
65
+ <polygon fill="black" stroke="black" points="262.8,-553.55 272.97,-550.57 263.16,-546.56 262.8,-553.55"/>
66
+ <text text-anchor="middle" x="228.11" y="-502.2" font-family="Times,serif" font-size="14.00">wasGeneratedBy</text>
67
+ </g>
68
+ <!-- Telemetry -->
69
+ <g id="node4" class="node">
70
+ <title>Telemetry</title>
71
+ <ellipse fill="lightyellow" stroke="black" cx="522.92" cy="-462" rx="74.36" ry="18"/>
72
+ <text text-anchor="middle" x="522.92" y="-457.8" font-family="Helvetica,sans-Serif" font-size="14.00">TelemetryData</text>
73
+ </g>
74
+ <!-- Telemetry&#45;&gt;DataObject -->
75
+ <g id="edge18" class="edge">
76
+ <title>Telemetry-&gt;DataObject</title>
77
+ <path fill="none" stroke="gray" stroke-dasharray="5,2" d="M481.31,-446.67C436.92,-431.38 366.66,-407.18 319.7,-391"/>
78
+ <polygon fill="gray" stroke="gray" points="320.91,-387.72 310.31,-387.77 318.63,-394.33 320.91,-387.72"/>
79
+ </g>
80
+ <!-- Telemetry&#45;&gt;Task -->
81
+ <g id="edge12" class="edge">
82
+ <title>Telemetry-&gt;Task</title>
83
+ <path fill="none" stroke="black" d="M499.8,-479.44C483.03,-490.74 459.41,-505.34 436.92,-514.8 405.57,-527.98 367.99,-537.23 340.45,-542.9"/>
84
+ <polygon fill="black" stroke="black" points="339.92,-539.43 330.79,-544.81 341.28,-546.3 339.92,-539.43"/>
85
+ <text text-anchor="middle" x="516.72" y="-502.2" font-family="Times,serif" font-size="14.00">wasGeneratedBy</text>
86
+ </g>
87
+ <!-- SchedulingData -->
88
+ <g id="node5" class="node">
89
+ <title>SchedulingData</title>
90
+ <ellipse fill="lightyellow" stroke="black" cx="350.92" cy="-462" rx="79.22" ry="18"/>
91
+ <text text-anchor="middle" x="350.92" y="-457.8" font-family="Helvetica,sans-Serif" font-size="14.00">SchedulingData</text>
92
+ </g>
93
+ <!-- SchedulingData&#45;&gt;DataObject -->
94
+ <g id="edge19" class="edge">
95
+ <title>SchedulingData-&gt;DataObject</title>
96
+ <path fill="none" stroke="gray" stroke-dasharray="5,2" d="M335.49,-444.26C323.65,-431.42 307.12,-413.48 293.75,-398.97"/>
97
+ <polygon fill="gray" stroke="gray" points="296.67,-396.98 287.32,-392 291.53,-401.72 296.67,-396.98"/>
98
+ </g>
99
+ <!-- SchedulingData&#45;&gt;Task -->
100
+ <g id="edge10" class="edge">
101
+ <title>SchedulingData-&gt;Task</title>
102
+ <path fill="none" stroke="black" d="M344.84,-480.33C340.91,-490.65 335.33,-503.84 328.92,-514.8 327.25,-517.66 325.37,-520.54 323.41,-523.37"/>
103
+ <polygon fill="black" stroke="black" points="320.61,-521.28 317.48,-531.4 326.24,-525.44 320.61,-521.28"/>
104
+ <text text-anchor="middle" x="385.18" y="-502.2" font-family="Times,serif" font-size="14.00">wasGeneratedBy</text>
105
+ </g>
106
+ <!-- Prompt -->
107
+ <g id="node6" class="node">
108
+ <title>Prompt</title>
109
+ <ellipse fill="lightyellow" stroke="black" cx="209.92" cy="-106.8" rx="42.16" ry="18"/>
110
+ <text text-anchor="middle" x="209.92" y="-102.6" font-family="Helvetica,sans-Serif" font-size="14.00">Prompt</text>
111
+ </g>
112
+ <!-- Prompt&#45;&gt;DataObject -->
113
+ <g id="edge20" class="edge">
114
+ <title>Prompt-&gt;DataObject</title>
115
+ <path fill="none" stroke="gray" stroke-dasharray="5,2" d="M177.76,-118.85C159.79,-125.75 140.01,-134.8 134.92,-142.8 130.91,-149.1 133.23,-152.33 134.92,-159.6 154.77,-245.23 165.09,-270.15 221.92,-337.2 225.85,-341.84 230.52,-346.17 235.39,-350.1"/>
116
+ <polygon fill="gray" stroke="gray" points="232.94,-352.64 243.05,-355.82 237.13,-347.03 232.94,-352.64"/>
117
+ </g>
118
+ <!-- ResponseData -->
119
+ <g id="node7" class="node">
120
+ <title>ResponseData</title>
121
+ <ellipse fill="lightyellow" stroke="black" cx="74.92" cy="-106.8" rx="74.92" ry="18"/>
122
+ <text text-anchor="middle" x="74.92" y="-102.6" font-family="Helvetica,sans-Serif" font-size="14.00">ResponseData</text>
123
+ </g>
124
+ <!-- ResponseData&#45;&gt;DataObject -->
125
+ <g id="edge21" class="edge">
126
+ <title>ResponseData-&gt;DataObject</title>
127
+ <path fill="none" stroke="gray" stroke-dasharray="5,2" d="M80.55,-125.14C92.61,-160.7 123.44,-243.45 166.92,-302.4 182.67,-323.76 207.04,-340.61 228.23,-352.41"/>
128
+ <polygon fill="gray" stroke="gray" points="226.51,-355.46 236.98,-357.07 229.81,-349.28 226.51,-355.46"/>
129
+ </g>
130
+ <!-- LLMInvocation -->
131
+ <g id="node12" class="node">
132
+ <title>LLMInvocation</title>
133
+ <polygon fill="lightblue" stroke="black" points="338.51,-213.6 207.33,-213.6 207.33,-177.6 338.51,-177.6 338.51,-213.6"/>
134
+ <text text-anchor="middle" x="272.92" y="-191.4" font-family="Helvetica,sans-Serif" font-size="14.00">AIModelInvocation</text>
135
+ </g>
136
+ <!-- ResponseData&#45;&gt;LLMInvocation -->
137
+ <g id="edge13" class="edge">
138
+ <title>ResponseData-&gt;LLMInvocation</title>
139
+ <path fill="none" stroke="black" d="M95.56,-124.45C110.34,-135.69 131.13,-150.15 151.29,-159.6 165.3,-166.16 180.81,-171.76 195.92,-176.43"/>
140
+ <polygon fill="black" stroke="black" points="194.8,-179.75 205.38,-179.24 196.79,-173.04 194.8,-179.75"/>
141
+ <text text-anchor="middle" x="199.11" y="-147" font-family="Times,serif" font-size="14.00">wasGeneratedBy</text>
142
+ </g>
143
+ <!-- ResponseData&#45;&gt;AIAgent -->
144
+ <g id="edge14" class="edge">
145
+ <title>ResponseData-&gt;AIAgent</title>
146
+ <path fill="none" stroke="black" d="M122.91,-92.62C183.09,-76.09 285.53,-47.95 344.81,-31.67"/>
147
+ <polygon fill="black" stroke="black" points="345.54,-35.1 354.25,-29.07 343.68,-28.35 345.54,-35.1"/>
148
+ <text text-anchor="middle" x="308.66" y="-58.2" font-family="Times,serif" font-size="14.00">wasAttributedTo</text>
149
+ </g>
150
+ <!-- Campaign -->
151
+ <g id="node8" class="node">
152
+ <title>Campaign</title>
153
+ <polygon fill="lightblue" stroke="black" points="164.83,-657.6 85.01,-657.6 85.01,-621.6 164.83,-621.6 164.83,-657.6"/>
154
+ <text text-anchor="middle" x="124.92" y="-635.4" font-family="Helvetica,sans-Serif" font-size="14.00">Campaign</text>
155
+ </g>
156
+ <!-- Workflow -->
157
+ <g id="node9" class="node">
158
+ <title>Workflow</title>
159
+ <polygon fill="lightblue" stroke="black" points="161.7,-568.8 88.14,-568.8 88.14,-532.8 161.7,-532.8 161.7,-568.8"/>
160
+ <text text-anchor="middle" x="124.92" y="-546.6" font-family="Helvetica,sans-Serif" font-size="14.00">Workflow</text>
161
+ </g>
162
+ <!-- Campaign&#45;&gt;Workflow -->
163
+ <g id="edge1" class="edge">
164
+ <title>Campaign-&gt;Workflow</title>
165
+ <path fill="none" stroke="black" d="M124.92,-621.45C124.92,-609.76 124.92,-593.99 124.92,-580.42"/>
166
+ <polygon fill="black" stroke="black" points="128.42,-580.72 124.92,-570.72 121.42,-580.72 128.42,-580.72"/>
167
+ <text text-anchor="middle" x="158.74" y="-591" font-family="Times,serif" font-size="14.00">hadMember</text>
168
+ </g>
169
+ <!-- Workflow&#45;&gt;Task -->
170
+ <g id="edge2" class="edge">
171
+ <title>Workflow-&gt;Task</title>
172
+ <path fill="none" stroke="black" d="M162.02,-550.8C191.74,-550.8 233.27,-550.8 263.36,-550.8"/>
173
+ <polygon fill="black" stroke="black" points="263.17,-554.3 273.17,-550.8 263.17,-547.3 263.17,-554.3"/>
174
+ <text text-anchor="middle" x="218.31" y="-558" font-family="Times,serif" font-size="14.00">hadMember</text>
175
+ </g>
176
+ <!-- Workflow&#45;&gt;ToolExecution -->
177
+ <g id="edge3" class="edge">
178
+ <title>Workflow-&gt;ToolExecution</title>
179
+ <path fill="none" stroke="black" d="M118.7,-532.33C112.06,-510.84 103.9,-473.56 114.92,-444 137.13,-384.41 195.5,-336.2 234.73,-309.17"/>
180
+ <polygon fill="black" stroke="black" points="236.66,-312.09 243,-303.6 232.75,-306.28 236.66,-312.09"/>
181
+ <text text-anchor="middle" x="165.2" y="-413.4" font-family="Times,serif" font-size="14.00">hadMember</text>
182
+ </g>
183
+ <!-- Task&#45;&gt;DomainData -->
184
+ <g id="edge4" class="edge">
185
+ <title>Task-&gt;DomainData</title>
186
+ <path fill="none" stroke="black" d="M298.25,-532.41C295.09,-521.28 289.48,-507.23 279.92,-498 271.16,-489.54 260.13,-483.06 248.8,-478.13"/>
187
+ <polygon fill="black" stroke="black" points="250.37,-474.99 239.78,-474.58 247.81,-481.5 250.37,-474.99"/>
188
+ <text text-anchor="middle" x="304.12" y="-502.2" font-family="Times,serif" font-size="14.00">used</text>
189
+ </g>
190
+ <!-- ToolExecution&#45;&gt;DataObject -->
191
+ <g id="edge7" class="edge">
192
+ <title>ToolExecution-&gt;DataObject</title>
193
+ <path fill="none" stroke="black" d="M310.58,-302.78C324.57,-311.84 335.41,-323.81 327.92,-337.2 324.72,-342.91 320.17,-347.81 315.01,-351.97"/>
194
+ <polygon fill="black" stroke="black" points="313.37,-348.85 307.14,-357.42 317.35,-354.6 313.37,-348.85"/>
195
+ <text text-anchor="middle" x="343.19" y="-324.6" font-family="Times,serif" font-size="14.00">used</text>
196
+ </g>
197
+ <!-- ToolExecution&#45;&gt;LLMInvocation -->
198
+ <g id="edge16" class="edge">
199
+ <title>ToolExecution-&gt;LLMInvocation</title>
200
+ <path fill="none" stroke="black" d="M272.92,-266.25C272.92,-254.56 272.92,-238.79 272.92,-225.22"/>
201
+ <polygon fill="black" stroke="black" points="276.42,-225.52 272.92,-215.52 269.42,-225.52 276.42,-225.52"/>
202
+ <text text-anchor="middle" x="318.02" y="-235.8" font-family="Times,serif" font-size="14.00">wasInformedBy</text>
203
+ </g>
204
+ <!-- ToolExecution&#45;&gt;AIAgent -->
205
+ <g id="edge15" class="edge">
206
+ <title>ToolExecution-&gt;AIAgent</title>
207
+ <path fill="none" stroke="black" d="M313,-278.36C332.31,-273.78 354.01,-265.05 366.92,-248.4 390.69,-217.72 392.22,-101.98 391.57,-47.58"/>
208
+ <polygon fill="black" stroke="black" points="395.07,-47.81 391.41,-37.87 388.07,-47.92 395.07,-47.81"/>
209
+ <text text-anchor="middle" x="445.03" y="-147" font-family="Times,serif" font-size="14.00">wasAssociatedWith</text>
210
+ </g>
211
+ <!-- LLMInvocation&#45;&gt;Model -->
212
+ <g id="edge6" class="edge">
213
+ <title>LLMInvocation-&gt;Model</title>
214
+ <path fill="none" stroke="black" d="M288.18,-177.24C292.39,-171.84 296.69,-165.7 299.92,-159.6 303.79,-152.29 307,-143.94 309.54,-136.11"/>
215
+ <polygon fill="black" stroke="black" points="312.86,-137.22 312.37,-126.64 306.16,-135.22 312.86,-137.22"/>
216
+ <text text-anchor="middle" x="319.93" y="-147" font-family="Times,serif" font-size="14.00">used</text>
217
+ </g>
218
+ <!-- LLMInvocation&#45;&gt;Prompt -->
219
+ <g id="edge5" class="edge">
220
+ <title>LLMInvocation-&gt;Prompt</title>
221
+ <path fill="none" stroke="black" d="M267.8,-177.23C264.16,-166.65 258.55,-153.2 250.92,-142.8 247.63,-138.32 243.66,-134.03 239.51,-130.1"/>
222
+ <polygon fill="black" stroke="black" points="241.84,-127.49 232.01,-123.54 237.24,-132.76 241.84,-127.49"/>
223
+ <text text-anchor="middle" x="273.1" y="-147" font-family="Times,serif" font-size="14.00">used</text>
224
+ </g>
225
+ </g>
226
+ </svg>
@@ -0,0 +1,20 @@
1
+ # Handling Large Data
2
+
3
+ As a provenance-based tool, Flowcept leverages provenance data (typically seen as metadata) to keep track of data, including large datasets or data files, workflows, and ML models.
4
+
5
+ There are various ways to handle large data in Flowcept
6
+
7
+ ## Sending large blob data as messages
8
+
9
+ ### Sending as files
10
+
11
+ Importance of MimeType and the custom_metadata for files
12
+
13
+ ## Managing blob data
14
+
15
+ ## Managing PyTorch models
16
+
17
+
18
+
19
+
20
+