Closed liamhuber closed 7 months ago
In the process I uncovered that the while
meta-node is subject to recursion errors waaaay earlier than I'd like. I tested dropping the test threshold from 0.1 to 0.001 on main
as well, and you hit the exact same recursion error, so this problem is quantitatively exacerbated by pulling out a superclass, but qualitatively unrelated to the changes in this PR; I'll open an issue and patch the meta-node's docstring with a heads-up separately. Actually solving the recursion problem will probably involve re-designing the while-loop.
Coverage variation | Diff coverage |
---|---|
:white_check_mark: +0.05% (target: -1.00%) | :white_check_mark: 90.48% |
You may notice some variations in coverage metrics with the latest Coverage engine update. For more details, visit the documentation
Changes Missing Coverage | Covered Lines | Changed/Added Lines | % | ||
---|---|---|---|---|---|
pyiron_workflow/has_interface_mixins.py | 3 | 4 | 75.0% | ||
pyiron_workflow/run.py | 86 | 95 | 90.53% | ||
<!-- | Total: | 98 | 108 | 90.74% | --> |
Files with Coverage Reduction | New Missed Lines | % | ||
---|---|---|---|---|
has_interface_mixins.py | 1 | 83.33% | ||
node.py | 19 | 93.16% | ||
<!-- | Total: | 20 | --> |
Totals | |
---|---|
Change from base Build 8403918323: | -0.09% |
Covered Lines: | 6041 |
Relevant Lines: | 6595 |
This continues #243 by pulling out responsibility for handling run behaviour, that means having a status and talking to the future and handling callbacks.
Runnable
doesn't know anything about IO or graphs, soNode
still implements all the different run modes (pulling, etc).This is only intended to be a pure refactoring, so while I'm definitely interested in feedback on the architecture of
Runnable
, I might delay implementing changes that would echo into the downstream classes to a future PR.~This is all under-the-hood, so no changes for users or node designers.~ Setting
check_readiness=False
inrun
will now run even if readiness failed due to a status issue; so you can really just brute-force run un-ready things with this flag.