flowyml 1.7.0__tar.gz → 1.7.1__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 (207) hide show
  1. {flowyml-1.7.0 → flowyml-1.7.1}/PKG-INFO +1 -1
  2. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/sql.py +24 -6
  3. flowyml-1.7.0/flowyml/ui/frontend/dist/assets/index-CX5RV2C9.js → flowyml-1.7.1/flowyml/ui/frontend/dist/assets/index-BqDQvp63.js +113 -113
  4. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/dist/index.html +1 -1
  5. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/assets/page.jsx +1 -1
  6. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/dashboard/page.jsx +1 -1
  7. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/experiments/[experimentId]/page.jsx +1 -1
  8. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/leaderboard/page.jsx +1 -1
  9. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectRunsList.jsx +3 -3
  10. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/runs/[runId]/page.jsx +1 -1
  11. {flowyml-1.7.0 → flowyml-1.7.1}/pyproject.toml +1 -1
  12. {flowyml-1.7.0 → flowyml-1.7.1}/LICENSE +0 -0
  13. {flowyml-1.7.0 → flowyml-1.7.1}/README.md +0 -0
  14. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/__init__.py +0 -0
  15. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/__init__.py +0 -0
  16. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/artifact.py +0 -0
  17. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/base.py +0 -0
  18. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/dataset.py +0 -0
  19. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/featureset.py +0 -0
  20. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/metrics.py +0 -0
  21. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/model.py +0 -0
  22. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/registry.py +0 -0
  23. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/report.py +0 -0
  24. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/__init__.py +0 -0
  25. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/experiment.py +0 -0
  26. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/init.py +0 -0
  27. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/main.py +0 -0
  28. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/models.py +0 -0
  29. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/rich_utils.py +0 -0
  30. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/run.py +0 -0
  31. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/stack_cli.py +0 -0
  32. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/ui.py +0 -0
  33. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/__init__.py +0 -0
  34. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/advanced_cache.py +0 -0
  35. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/approval.py +0 -0
  36. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/cache.py +0 -0
  37. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/checkpoint.py +0 -0
  38. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/conditional.py +0 -0
  39. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/context.py +0 -0
  40. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/display.py +0 -0
  41. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/error_handling.py +0 -0
  42. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/execution_status.py +0 -0
  43. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/executor.py +0 -0
  44. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/graph.py +0 -0
  45. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/hooks.py +0 -0
  46. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/observability.py +0 -0
  47. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/orchestrator.py +0 -0
  48. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/parallel.py +0 -0
  49. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/pipeline.py +0 -0
  50. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/project.py +0 -0
  51. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/remote_orchestrator.py +0 -0
  52. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/resources.py +0 -0
  53. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/retry_policy.py +0 -0
  54. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/scheduler.py +0 -0
  55. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/scheduler_config.py +0 -0
  56. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/step.py +0 -0
  57. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/step_grouping.py +0 -0
  58. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/submission_result.py +0 -0
  59. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/templates.py +0 -0
  60. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/versioning.py +0 -0
  61. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/integrations/__init__.py +0 -0
  62. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/integrations/keras.py +0 -0
  63. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/monitoring/__init__.py +0 -0
  64. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/monitoring/alerts.py +0 -0
  65. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/monitoring/data.py +0 -0
  66. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/monitoring/llm.py +0 -0
  67. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/monitoring/monitor.py +0 -0
  68. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/monitoring/notifications.py +0 -0
  69. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/registry/__init__.py +0 -0
  70. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/registry/model_registry.py +0 -0
  71. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/registry/pipeline_registry.py +0 -0
  72. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/__init__.py +0 -0
  73. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/aws.py +0 -0
  74. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/azure.py +0 -0
  75. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/base.py +0 -0
  76. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/bridge.py +0 -0
  77. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/components.py +0 -0
  78. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/gcp.py +0 -0
  79. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/local.py +0 -0
  80. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/migration.py +0 -0
  81. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/plugin_config.py +0 -0
  82. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/plugins.py +0 -0
  83. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/registry.py +0 -0
  84. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/__init__.py +0 -0
  85. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/artifacts.py +0 -0
  86. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/__init__.py +0 -0
  87. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/base.py +0 -0
  88. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/cloudpickle.py +0 -0
  89. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/keras.py +0 -0
  90. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/numpy.py +0 -0
  91. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/pandas.py +0 -0
  92. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/pytorch.py +0 -0
  93. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/sklearn.py +0 -0
  94. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/tensorflow.py +0 -0
  95. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/metadata.py +0 -0
  96. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/remote.py +0 -0
  97. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/tracking/__init__.py +0 -0
  98. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/tracking/experiment.py +0 -0
  99. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/tracking/leaderboard.py +0 -0
  100. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/tracking/runs.py +0 -0
  101. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/__init__.py +0 -0
  102. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/Dockerfile +0 -0
  103. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/__init__.py +0 -0
  104. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/auth.py +0 -0
  105. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/dependencies.py +0 -0
  106. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/main.py +0 -0
  107. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/__init__.py +0 -0
  108. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/assets.py +0 -0
  109. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/client.py +0 -0
  110. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/execution.py +0 -0
  111. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/experiments.py +0 -0
  112. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/leaderboard.py +0 -0
  113. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/metrics.py +0 -0
  114. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/notifications.py +0 -0
  115. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/pipelines.py +0 -0
  116. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/plugins.py +0 -0
  117. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/projects.py +0 -0
  118. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/runs.py +0 -0
  119. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/schedules.py +0 -0
  120. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/stats.py +0 -0
  121. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/traces.py +0 -0
  122. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/websocket.py +0 -0
  123. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/Dockerfile +0 -0
  124. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/README.md +0 -0
  125. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/dist/assets/index-By4trVyv.css +0 -0
  126. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/index.html +0 -0
  127. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/nginx.conf +0 -0
  128. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/package-lock.json +0 -0
  129. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/package.json +0 -0
  130. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/postcss.config.js +0 -0
  131. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/App.jsx +0 -0
  132. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/compare/page.jsx +0 -0
  133. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/experiments/compare/page.jsx +0 -0
  134. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/experiments/page.jsx +0 -0
  135. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/observability/page.jsx +0 -0
  136. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/pipelines/page.jsx +0 -0
  137. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/plugins/page.jsx +0 -0
  138. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectArtifactsList.jsx +0 -0
  139. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectExperimentsList.jsx +0 -0
  140. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectHeader.jsx +0 -0
  141. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectHierarchy.jsx +0 -0
  142. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectMetricsPanel.jsx +0 -0
  143. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectPipelinesList.jsx +0 -0
  144. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectRelations.jsx +0 -0
  145. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectTabs.jsx +0 -0
  146. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/page.jsx +0 -0
  147. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/page.jsx +0 -0
  148. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/runs/page.jsx +0 -0
  149. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/schedules/page.jsx +0 -0
  150. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/settings/page.jsx +0 -0
  151. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/tokens/page.jsx +0 -0
  152. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/traces/page.jsx +0 -0
  153. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ArtifactViewer.jsx +0 -0
  154. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/AssetDetailsPanel.jsx +0 -0
  155. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/AssetLineageGraph.jsx +0 -0
  156. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/AssetStatsDashboard.jsx +0 -0
  157. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/AssetTreeHierarchy.jsx +0 -0
  158. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ExperimentDetailsPanel.jsx +0 -0
  159. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/Layout.jsx +0 -0
  160. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/NavigationTree.jsx +0 -0
  161. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/PipelineDetailsPanel.jsx +0 -0
  162. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/PipelineGraph.jsx +0 -0
  163. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ProjectSelector.jsx +0 -0
  164. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/RunDetailsPanel.jsx +0 -0
  165. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/header/Header.jsx +0 -0
  166. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/plugins/AddPluginDialog.jsx +0 -0
  167. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/plugins/InstalledPlugins.jsx +0 -0
  168. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/plugins/PluginBrowser.jsx +0 -0
  169. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/plugins/PluginManager.jsx +0 -0
  170. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/plugins/ZenMLIntegration.jsx +0 -0
  171. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/sidebar/Sidebar.jsx +0 -0
  172. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/Badge.jsx +0 -0
  173. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/Button.jsx +0 -0
  174. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/Card.jsx +0 -0
  175. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/CodeSnippet.jsx +0 -0
  176. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/CollapsibleCard.jsx +0 -0
  177. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/DataView.jsx +0 -0
  178. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/EmptyState.jsx +0 -0
  179. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/ErrorBoundary.jsx +0 -0
  180. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/ExecutionStatus.jsx +0 -0
  181. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/KeyValue.jsx +0 -0
  182. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/ProjectSelector.jsx +0 -0
  183. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/contexts/ProjectContext.jsx +0 -0
  184. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/contexts/ThemeContext.jsx +0 -0
  185. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/contexts/ToastContext.jsx +0 -0
  186. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/index.css +0 -0
  187. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/layouts/MainLayout.jsx +0 -0
  188. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/main.jsx +0 -0
  189. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/router/index.jsx +0 -0
  190. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/services/pluginService.js +0 -0
  191. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/utils/api.js +0 -0
  192. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/utils/cn.js +0 -0
  193. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/utils/date.js +0 -0
  194. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/utils/downloads.js +0 -0
  195. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/tailwind.config.js +0 -0
  196. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/vite.config.js +0 -0
  197. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/server_manager.py +0 -0
  198. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/utils.py +0 -0
  199. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/__init__.py +0 -0
  200. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/config.py +0 -0
  201. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/debug.py +0 -0
  202. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/environment.py +0 -0
  203. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/git.py +0 -0
  204. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/logging.py +0 -0
  205. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/performance.py +0 -0
  206. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/stack_config.py +0 -0
  207. {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/validation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flowyml
3
- Version: 1.7.0
3
+ Version: 1.7.1
4
4
  Summary: Next-Generation ML Pipeline Framework
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -249,6 +249,9 @@ class SQLMetadataStore(MetadataStore):
249
249
  stmt = select(self.runs).where(self.runs.c.run_id == run_id)
250
250
  existing = conn.execute(stmt).fetchone()
251
251
 
252
+ # Ensure run_id is included in metadata for consistency
253
+ metadata_with_id = {**metadata, "run_id": run_id}
254
+
252
255
  values = {
253
256
  "run_id": run_id,
254
257
  "pipeline_name": metadata.get("pipeline_name"),
@@ -256,7 +259,7 @@ class SQLMetadataStore(MetadataStore):
256
259
  "start_time": metadata.get("start_time"),
257
260
  "end_time": metadata.get("end_time"),
258
261
  "duration": metadata.get("duration"),
259
- "metadata": json.dumps(metadata),
262
+ "metadata": json.dumps(metadata_with_id),
260
263
  "project": metadata.get("project"),
261
264
  }
262
265
 
@@ -299,7 +302,10 @@ class SQLMetadataStore(MetadataStore):
299
302
  stmt = select(self.runs.c.metadata).where(self.runs.c.run_id == run_id)
300
303
  row = conn.execute(stmt).fetchone()
301
304
  if row:
302
- return json.loads(row[0])
305
+ data = json.loads(row[0])
306
+ # Ensure run_id is always included in the returned dict
307
+ data["run_id"] = run_id
308
+ return data
303
309
  return None
304
310
 
305
311
  def update_run_project(self, run_id: str, project_name: str) -> None:
@@ -325,12 +331,18 @@ class SQLMetadataStore(MetadataStore):
325
331
  def list_runs(self, limit: int | None = None) -> list[dict]:
326
332
  """List all runs."""
327
333
  with self.engine.connect() as conn:
328
- stmt = select(self.runs.c.metadata).order_by(self.runs.c.created_at.desc())
334
+ stmt = select(self.runs.c.run_id, self.runs.c.metadata).order_by(self.runs.c.created_at.desc())
329
335
  if limit:
330
336
  stmt = stmt.limit(limit)
331
337
 
332
338
  rows = conn.execute(stmt).fetchall()
333
- return [json.loads(row[0]) for row in rows]
339
+ runs = []
340
+ for row in rows:
341
+ data = json.loads(row[1])
342
+ # Ensure run_id is always included in the returned dict
343
+ data["run_id"] = row[0]
344
+ runs.append(data)
345
+ return runs
334
346
 
335
347
  def list_pipelines(self, project: str = None) -> list[str]:
336
348
  """List all unique pipeline names."""
@@ -402,7 +414,7 @@ class SQLMetadataStore(MetadataStore):
402
414
  def query(self, **filters) -> list[dict]:
403
415
  """Query runs with filters."""
404
416
  with self.engine.connect() as conn:
405
- stmt = select(self.runs.c.metadata)
417
+ stmt = select(self.runs.c.run_id, self.runs.c.metadata)
406
418
 
407
419
  for key, value in filters.items():
408
420
  if hasattr(self.runs.c, key):
@@ -410,7 +422,13 @@ class SQLMetadataStore(MetadataStore):
410
422
 
411
423
  stmt = stmt.order_by(self.runs.c.created_at.desc())
412
424
  rows = conn.execute(stmt).fetchall()
413
- return [json.loads(row[0]) for row in rows]
425
+ runs = []
426
+ for row in rows:
427
+ data = json.loads(row[1])
428
+ # Ensure run_id is always included in the returned dict
429
+ data["run_id"] = row[0]
430
+ runs.append(data)
431
+ return runs
414
432
 
415
433
  def save_metric(self, run_id: str, name: str, value: float, step: int = 0) -> None:
416
434
  """Save a single metric value."""