SAME-Project / same-project

https://sameproject.ml/
Apache License 2.0
20 stars 8 forks source link

How to structure/detect/pass through runtime options #156

Closed aronchick closed 2 years ago

aronchick commented 2 years ago

Some backends require a significant amount of runtime options to be set -

https://github.com/SAME-Project/same-project/blob/main/sameproject/ops/aml/root.jinja#L175

Ideally, the backend author could provide: a) a list of these in a well structured format b) an indication if they are required or not (for parsing)

however, right now, they're just treated like a property bag - https://github.com/SAME-Project/same-project/blob/main/sameproject/cli/run.py#L58

With no detection or conversion into a first class object. I think the code would do the following:

1) at run, the code looks for all items in a given backend target (e.g. aml), and decides if they're present or not 2) if everything is present, it migrates the block into a box (maybe the runtime options box?) 3) then templates pick up from the runtime options box the values.

Thoughts?

Bubblyworld commented 2 years ago

Some discussion on slack:

Screenshot 2022-06-01 at 11 23 09