-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[ORCA-163] Implement launch_workflow()
and LaunchInfo
dataclass
#15
Conversation
Codecov Report
@@ Coverage Diff @@
## main #15 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 21 22 +1
Lines 434 626 +192
Branches 62 97 +35
==========================================
+ Hits 434 626 +192
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! Thanks for putting this together.
Thank goodness for the test suite! I was able to resolve multiple merge conflicts with confidence. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛸 Excellent! Just a minor comment about the json
variable, but going to pre-approve.
I was initially going to port the
launch_workflow()
implementation from sagetasks (source), but I decided to refactor it. Its reliance on theinit_launch_workflow_data()
method is clunky. I also didn't like the large number of function parameters.To address this, I implemented the
LaunchInfo
dataclass. Its goal is to encapsulate the information related to launching a workflow. It essentially operates like an OpenAPI model. This results in much cleaner client code. This class can eventually be reused forget_workflow()
.I'm marking this PR as a draft because I would like to tackle the following subtasks:
get_compute_env()
in the client classget_latest_compute_env()
in the ops classlaunch_workflow()
in the ops class