-
Notifications
You must be signed in to change notification settings - Fork 3
Retrospective while #650
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
Retrospective while #650
Conversation
It doesn't actually _do_ anything, but it has the outer shell Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
This will let us call Composite._on_run repeatedly in the While subclass without resetting our provenance tracking, but otherwise made no visible impact in any other use case. Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
To subclass definition time -- fail early! Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
We handle lists from the instantiator; with the factory it is just lucky that lists were similar enough. But to be proper, let's use the requested type. Signed-off-by: liamhuber <[email protected]>
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #650 +/- ##
==========================================
+ Coverage 91.61% 91.87% +0.25%
==========================================
Files 33 34 +1
Lines 3458 3593 +135
==========================================
+ Hits 3168 3301 +133
- Misses 290 292 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Missing coverage noticed by Codecov, tests written by ChatGPT (after I added the extra error) Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
It is already in the creator, so its absence here was just an oversight. Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
Signed-off-by: liamhuber <[email protected]>
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
For equivalence with the for-loop example and to get coverage on the creator link Signed-off-by: liamhuber <[email protected]>
|
@Tara-Lakshmipathy @ligerzero-ai, no action necessary on your part, just an FYI that there is a new interface for while-loops available. It's directly analogous to the existing for-loop interface. It's (hopefully) much easier to use than the old by-hand way of forcing a cyclic macro, and has the advantage of producing a full retrospective provenance graph automatically (unlike the by-hand approach which re-ran the same node repeatedly). |
Introducing a new
Whilenode in analogy to theFornode. As a second-order, stateful, dynamic node, retrospective provenance gets automatically handled by the way we have individual body nodes. Cyclic loops are specified by reference to IO channel name pairs (strings, ugh...) between the body and the test, and the body and itself:TODO:
Test and allow continuing from a failed state(Maybe?) Replace other while examples with this (they still keep working since they're just a hard-code on signal control + some provenance logging, but since they're not encouraged I'm inclined to eliminate them...)Other than the deep dive, I only found the integration test. I actually like the integration test as an example of what we could accomplish by exploiting the separation of data and signal edges, so I'll leave it. Of course, the newWhileclass has significantly better provenance behaviour, so it's the recommended attack for these loops.Closes #501
@samwaseda, I guess you may be interested to keep a high-level eye here to see if you like my concrete implementation of what we're talking about over in pyiron/flowrep#24. I will naturally try to keep everything here fully compliant with what we decide there.