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.
- {flowyml-1.7.0 → flowyml-1.7.1}/PKG-INFO +1 -1
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/sql.py +24 -6
- 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
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/dist/index.html +1 -1
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/assets/page.jsx +1 -1
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/dashboard/page.jsx +1 -1
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/experiments/[experimentId]/page.jsx +1 -1
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/leaderboard/page.jsx +1 -1
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectRunsList.jsx +3 -3
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/runs/[runId]/page.jsx +1 -1
- {flowyml-1.7.0 → flowyml-1.7.1}/pyproject.toml +1 -1
- {flowyml-1.7.0 → flowyml-1.7.1}/LICENSE +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/README.md +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/artifact.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/base.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/dataset.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/featureset.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/metrics.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/model.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/registry.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/assets/report.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/experiment.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/init.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/main.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/models.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/rich_utils.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/run.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/stack_cli.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/cli/ui.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/advanced_cache.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/approval.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/cache.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/checkpoint.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/conditional.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/context.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/display.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/error_handling.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/execution_status.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/executor.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/graph.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/hooks.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/observability.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/orchestrator.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/parallel.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/pipeline.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/project.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/remote_orchestrator.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/resources.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/retry_policy.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/scheduler.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/scheduler_config.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/step.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/step_grouping.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/submission_result.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/templates.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/core/versioning.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/integrations/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/integrations/keras.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/monitoring/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/monitoring/alerts.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/monitoring/data.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/monitoring/llm.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/monitoring/monitor.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/monitoring/notifications.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/registry/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/registry/model_registry.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/registry/pipeline_registry.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/aws.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/azure.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/base.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/bridge.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/components.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/gcp.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/local.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/migration.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/plugin_config.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/plugins.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/stacks/registry.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/artifacts.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/base.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/cloudpickle.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/keras.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/numpy.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/pandas.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/pytorch.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/sklearn.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/materializers/tensorflow.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/metadata.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/storage/remote.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/tracking/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/tracking/experiment.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/tracking/leaderboard.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/tracking/runs.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/Dockerfile +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/auth.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/dependencies.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/main.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/assets.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/client.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/execution.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/experiments.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/leaderboard.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/metrics.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/notifications.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/pipelines.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/plugins.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/projects.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/runs.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/schedules.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/stats.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/traces.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/backend/routers/websocket.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/Dockerfile +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/README.md +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/dist/assets/index-By4trVyv.css +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/index.html +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/nginx.conf +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/package-lock.json +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/package.json +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/postcss.config.js +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/App.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/compare/page.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/experiments/compare/page.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/experiments/page.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/observability/page.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/pipelines/page.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/plugins/page.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectArtifactsList.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectExperimentsList.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectHeader.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectHierarchy.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectMetricsPanel.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectPipelinesList.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectRelations.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/_components/ProjectTabs.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/[projectId]/page.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/projects/page.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/runs/page.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/schedules/page.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/settings/page.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/tokens/page.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/app/traces/page.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ArtifactViewer.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/AssetDetailsPanel.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/AssetLineageGraph.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/AssetStatsDashboard.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/AssetTreeHierarchy.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ExperimentDetailsPanel.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/Layout.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/NavigationTree.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/PipelineDetailsPanel.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/PipelineGraph.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ProjectSelector.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/RunDetailsPanel.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/header/Header.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/plugins/AddPluginDialog.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/plugins/InstalledPlugins.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/plugins/PluginBrowser.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/plugins/PluginManager.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/plugins/ZenMLIntegration.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/sidebar/Sidebar.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/Badge.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/Button.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/Card.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/CodeSnippet.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/CollapsibleCard.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/DataView.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/EmptyState.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/ErrorBoundary.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/ExecutionStatus.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/KeyValue.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/components/ui/ProjectSelector.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/contexts/ProjectContext.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/contexts/ThemeContext.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/contexts/ToastContext.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/index.css +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/layouts/MainLayout.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/main.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/router/index.jsx +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/services/pluginService.js +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/utils/api.js +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/utils/cn.js +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/utils/date.js +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/src/utils/downloads.js +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/tailwind.config.js +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/frontend/vite.config.js +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/server_manager.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/ui/utils.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/__init__.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/config.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/debug.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/environment.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/git.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/logging.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/performance.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/stack_config.py +0 -0
- {flowyml-1.7.0 → flowyml-1.7.1}/flowyml/utils/validation.py +0 -0
|
@@ -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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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."""
|