You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, our drivers usually use argparse (or worse, nothing at all) to parse input arguments. This works ok, but requires explicit definitions for every configurable argument and can get quite messy. Even when set up well, using argparse to set up environments and configurations requires very long commands.
My suggestion is we build CLI tools using something like Click or Typer (python modules for CLI) that allow for loading an "environment" of sorts that can be modified with further commands. I think it would work well with the DAG runtime that I built a while ago.
An example I could see would be something like:
workflowload<workflow"environment">workflowconfigset_fileworkflowconfigviewworkflowconfigset<key><value>workflowmoduleslist# lists modules used by current workflow# or alternatively # workflow config update <file to pull updates from>workflowrunifarm
Of course, you could run multiple configuration set up commands, the set or update commands could ask for confirmation of a change (e.g. "You are changing from to . Do you want to continue?") which could be avoided with a -y command (like pip installs). The run command could include extra add-ons like ifarm or polaris that would call special scripts to properly allocate GPUs/Nodes/etc on the respective machines.
These behaviors are somewhat inspired from using things like the git and docker CLI systems which use sub-commands to access just a portion of the system.
Unfortunately, I don't have any projects that I can do this work for at the moment, so it may end up languishing here for a while. Just wanted to make sure the idea was captured in writing somewhere.
The text was updated successfully, but these errors were encountered:
Just wanted to add the websites for Click and Typer if people are curious. Click seems to be the faster, lighter one, but Typer has some nice autocomplete things that might be worth it for us.
Currently, our drivers usually use argparse (or worse, nothing at all) to parse input arguments. This works ok, but requires explicit definitions for every configurable argument and can get quite messy. Even when set up well, using argparse to set up environments and configurations requires very long commands.
My suggestion is we build CLI tools using something like Click or Typer (python modules for CLI) that allow for loading an "environment" of sorts that can be modified with further commands. I think it would work well with the DAG runtime that I built a while ago.
An example I could see would be something like:
Of course, you could run multiple configuration set up commands, the
set
orupdate
commands could ask for confirmation of a change (e.g. "You are changing from to . Do you want to continue?") which could be avoided with a-y
command (like pip installs). Therun
command could include extra add-ons likeifarm
orpolaris
that would call special scripts to properly allocate GPUs/Nodes/etc on the respective machines.These behaviors are somewhat inspired from using things like the git and docker CLI systems which use sub-commands to access just a portion of the system.
Unfortunately, I don't have any projects that I can do this work for at the moment, so it may end up languishing here for a while. Just wanted to make sure the idea was captured in writing somewhere.
The text was updated successfully, but these errors were encountered: