capitalone / rubicon-ml

Capture all information throughout your model's development in a reproducible way and tie results directly to the model code!
https://capitalone.github.io/rubicon-ml/
Apache License 2.0
127 stars 32 forks source link

create base intake source for viz objects #441

Closed ryanSoley closed 2 months ago

ryanSoley commented 3 months ago

Is your enhancement request related to a problem? Please describe

we would like to be able to share visualizations alongside the projects and experiments in the intake catalogs. for example, catalog.read() returns projects and experiments. we'd like to ultimately have something like catalog.serve() that mimics the viz module's serve functionality to launch a dashboard with the experiments returned by catalog.read()

to get started, we will need a base intake source for rubicon-ml visualizations. this issue will track the creation of a base visualization data source similar to the existing one for projects and experiments

https://github.com/capitalone/rubicon-ml/blob/main/rubicon_ml/intake_rubicon/base.py

Describe the solution you'd like

add a new VizDataSourceMixin that extends intake.source.base.DataSource. the __init__ function should take in any arguments that will be required for all visualizations. the VizBase itself doesn't take anything other than a title, so it might just be that for this base class

the new class' _get_schema should be implemented the same as the existing VizDataSourceMixin - we will just leverage the extra metadata to hold the info we need. read and _close should set and clean up a _visualization attribute, similar to how the current class operates on _rubicon_object. the value of _visualization itself will be set in each concrete subclass of this base class

ryanSoley commented 2 months ago

closed via #451