Skip to content

Static read-only version of ML Flow #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 62 commits into
base: master
Choose a base branch
from
Open

Conversation

matiasdahl
Copy link
Member

@matiasdahl matiasdahl commented Feb 27, 2022

  • This fork of MLFlow modifies the MLFlow front end so that one can host static MLFlow websites (that do not rely on an MLFlow backend). To achieve this, all metadata is stored in the front end. For more details and a demo, see main project repo:

  • most changes are under the feature flag HOST_STATIC_SITE flag, but not all.


The contributions to the mlflow codebase in this PR are copyright Matias Dahl 2022, and are released under the terms of the Apache 2 license.

* VSCode dev container setup; makefile for dev-UI setup

* fix populate-backend; makefile comments cleanup
…ebsite (#3)

* update makefile docs; add start-sqlite-web-ui task

* add HOST_STATIC_SITE env-flag

* static versions of Experiment-level GET requests

* support run-page, with listArtefacts always empty

* 1st version of static version of searchRuns

* return no models in static setup

* move static data to separate js-file

* code cleanup
* new build-static-ui makefile task

* docker:ized version of "docker-build-static-ui"-task
* render task run:s w separate mlflow-experiment for each source file

* omit fetchMissingParents when building static site

* add 'All tasks' with nested pipeline -> runs

* refactor computation of STATIC_EXPERIMENTS
* first commit

* formatting; remove JSON.stringify not needed
* first commit

* formatting; remove JSON.stringify not needed

* add markdown task description

* generate test artifact data; 1st version of ARTEFACT_LIST_PER_STATIC_RUN

* use full paths also in internal data model

* render entire artifile filename w path

* link to static artifact; handle missing notebook name;

* spelling; missing semicolon

* do not display mlflow run commands

* add png:s to pipeline description

* display notebook/json summary by default (when they exist)
* remove edit feature from ExperimentView

* remove edit from Experiment view

* remove edit button from RunView

* hide the edit/delete action column for static sites

* remove (more) edit features from tag table

* hide add new experiement; search experiments box
* add DataBacklinkFooter

* RunView: delete rename button; add footer
* first commit

* fix Share button in experiment list/run view
* update collapse/expander button color

* first commit
* merge;
@matiasdahl
use logged gh-parameters for rendering source

* minor tweak of ui strings
* render git sha with link to Github (if available)

* revise calls to Utils.renderVersion

* fix project lint errors
…20)

* add trigger-column replacing models-column on static sites

* update trigger html code; add branch column

* reorder column order; trigger rendering

* revise how branch is determined for non-pr:s

* minor comment edits
* do not filter out checkbox column

* hide refresh + delete buttons for static site

* do not crash in compact view

* revise footer
* remove access to STATIC_DATA without API

* set initial artifact in ArtifactView

* refactor
* proof of concept

* LOADED_STATIC_DATA, ALL_PIPELINE_RUN_IDS, PIPELINE_ID_TO_CHILDREN_RUN_IDS used from dynamically loaded data

* revise loading html

* all static data except STATIC_DATA moved to loader class

* update filename

* fix reference to wrong class

* comment on error handling

* couple changes to data and state

* remove reference to STATIC_DATA

* prefer access StaticMlflowService.getRunRawData over raw data

* StaticDataLoader.LOADED_STATIC_DATA -> StaticDataLoader.DATA rename

* remove StaticData.js

* error handling; minor refactor
* start refactor docker setup for building wheel

* add back explicit build docker image

* make ASSETS_PATH a parameter

* remove extra set-asset step requiring temp directory
…gets (#36)

* add ci action; setup.py refactoring to have release target

* fix yaml filename

* fix ASSETS_DIRECTORY -> ASSETS_PATH

* refactor and document parameters passed into setup.py

* comments; fix wrong variable reference

* refactor docker makefile
* read version from PYTHON_PACKAGE_VERSION; add main trigger + publish to pypi

* missing dependency; fix filename

* dummy edit to trigger build

* dummy edit to trigger build

* secret names/access; timeout

* allow PYTHON_PACKAGE_RELEASE_TARGET=main-release; setup.py logging

* need to provide full SHA

* fix artifact name to fetch

* fix makefile env-checking

* fix name type

* remove debug trigger

* revise comments
* first commit

* first commit

* fix link to front end root directory

* rewording
* first commit

* fix missing backslash; naming of helper tasks

* always use bash; review comments
* first commit

* -> release 0.0.9

* delete commented code
* first commit

* updates to use new format of static json data

* move to use task_id field; comments for DateCellRenderer

* makefile: add dev/clean-public task

* support artifacts written by new parser
* switch to task.id/type

* add support for Python tasks in UI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant