flowyml 1.7.0__py3-none-any.whl → 1.7.2__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 (35) hide show
  1. flowyml/assets/dataset.py +570 -17
  2. flowyml/assets/model.py +1052 -15
  3. flowyml/core/executor.py +70 -11
  4. flowyml/core/orchestrator.py +37 -2
  5. flowyml/core/pipeline.py +32 -4
  6. flowyml/core/scheduler.py +88 -5
  7. flowyml/integrations/keras.py +247 -82
  8. flowyml/storage/sql.py +24 -6
  9. flowyml/ui/backend/routers/runs.py +112 -0
  10. flowyml/ui/backend/routers/schedules.py +35 -15
  11. flowyml/ui/frontend/dist/assets/index-B40RsQDq.css +1 -0
  12. flowyml/ui/frontend/dist/assets/index-CjI0zKCn.js +685 -0
  13. flowyml/ui/frontend/dist/index.html +2 -2
  14. flowyml/ui/frontend/package-lock.json +11 -0
  15. flowyml/ui/frontend/package.json +1 -0
  16. flowyml/ui/frontend/src/app/assets/page.jsx +890 -321
  17. flowyml/ui/frontend/src/app/dashboard/page.jsx +1 -1
  18. flowyml/ui/frontend/src/app/experiments/[experimentId]/page.jsx +1 -1
  19. flowyml/ui/frontend/src/app/leaderboard/page.jsx +1 -1
  20. flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectMetricsPanel.jsx +1 -1
  21. flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectRunsList.jsx +3 -3
  22. flowyml/ui/frontend/src/app/runs/[runId]/page.jsx +590 -102
  23. flowyml/ui/frontend/src/components/ArtifactViewer.jsx +62 -2
  24. flowyml/ui/frontend/src/components/AssetDetailsPanel.jsx +401 -28
  25. flowyml/ui/frontend/src/components/AssetTreeHierarchy.jsx +119 -11
  26. flowyml/ui/frontend/src/components/DatasetViewer.jsx +753 -0
  27. flowyml/ui/frontend/src/components/TrainingHistoryChart.jsx +514 -0
  28. flowyml/ui/frontend/src/components/TrainingMetricsPanel.jsx +175 -0
  29. {flowyml-1.7.0.dist-info → flowyml-1.7.2.dist-info}/METADATA +1 -1
  30. {flowyml-1.7.0.dist-info → flowyml-1.7.2.dist-info}/RECORD +33 -30
  31. flowyml/ui/frontend/dist/assets/index-By4trVyv.css +0 -1
  32. flowyml/ui/frontend/dist/assets/index-CX5RV2C9.js +0 -630
  33. {flowyml-1.7.0.dist-info → flowyml-1.7.2.dist-info}/WHEEL +0 -0
  34. {flowyml-1.7.0.dist-info → flowyml-1.7.2.dist-info}/entry_points.txt +0 -0
  35. {flowyml-1.7.0.dist-info → flowyml-1.7.2.dist-info}/licenses/LICENSE +0 -0
@@ -283,7 +283,7 @@ function RecentRunCard({ run, index }) {
283
283
  {run.pipeline_name}
284
284
  </h4>
285
285
  <div className="flex items-center gap-2 text-xs text-slate-500 mt-0.5">
286
- <span className="font-mono">{run.run_id.substring(0, 8)}</span>
286
+ <span className="font-mono">{run.run_id?.substring(0, 8) || 'N/A'}</span>
287
287
  {run.start_time && (
288
288
  <>
289
289
  <span>•</span>
@@ -141,7 +141,7 @@ export function ExperimentDetails() {
141
141
  <td className="px-6 py-4 font-mono text-sm text-slate-700 font-medium">
142
142
  <div className="flex items-center gap-2">
143
143
  <div className="w-2 h-2 rounded-full bg-primary-400 opacity-0 group-hover:opacity-100 transition-opacity" />
144
- {run.run_id.substring(0, 12)}
144
+ {run.run_id?.substring(0, 12) || 'N/A'}
145
145
  </div>
146
146
  </td>
147
147
  <td className="px-6 py-4 text-sm text-slate-500">
@@ -117,7 +117,7 @@ export function Leaderboard() {
117
117
  </div>
118
118
  </td>
119
119
  <td className="px-6 py-4 whitespace-nowrap text-sm text-slate-500 dark:text-slate-400 font-mono">
120
- {model.run_id.substring(0, 8)}
120
+ {model.run_id?.substring(0, 8) || 'N/A'}
121
121
  </td>
122
122
  <td className="px-6 py-4 whitespace-nowrap text-sm text-slate-500 dark:text-slate-400">
123
123
  {model.timestamp ? format(new Date(model.timestamp), 'MMM d, HH:mm') : '-'}
@@ -14,7 +14,7 @@ import {
14
14
  ReferenceLine
15
15
  } from 'recharts';
16
16
  import { format } from 'date-fns';
17
- import { Box, Activity, Clock, Tag } from 'lucide-react';
17
+ import { Box, Activity, Clock, Tag, BarChart2 } from 'lucide-react';
18
18
  import { Card } from '../../../../components/ui/Card';
19
19
  import { Badge } from '../../../../components/ui/Badge';
20
20
 
@@ -53,7 +53,7 @@ export function ProjectRunsList({ projectId }) {
53
53
  </div>
54
54
  <div>
55
55
  <div className="font-medium text-slate-900 dark:text-white group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">
56
- {run.name || run.run_id.substring(0, 8)}
56
+ {run.name || run.run_id?.substring(0, 8) || 'N/A'}
57
57
  </div>
58
58
  <div className="text-xs text-slate-500">{run.pipeline_name}</div>
59
59
  </div>
@@ -101,12 +101,12 @@ export function ProjectRunsList({ projectId }) {
101
101
  </span>
102
102
  </div>
103
103
  <span className="text-xs font-mono text-slate-400 bg-slate-50 dark:bg-slate-900 px-2 py-1 rounded">
104
- {run.run_id.substring(0, 8)}
104
+ {run.run_id?.substring(0, 8) || 'N/A'}
105
105
  </span>
106
106
  </div>
107
107
 
108
108
  <h3 className="font-semibold text-slate-900 dark:text-white mb-1 truncate group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">
109
- {run.name || `Run ${run.run_id.substring(0, 8)}`}
109
+ {run.name || `Run ${run.run_id?.substring(0, 8) || 'N/A'}`}
110
110
  </h3>
111
111
  <p className="text-sm text-slate-500 dark:text-slate-400 mb-4 flex items-center gap-1">
112
112
  <span className="opacity-75">Pipeline:</span>