Skip to content

Choose a tag to compare

@simonw simonw released this 11 Jun 06:28
5a17bfd
  • Fixed two bugs with values passed in via registry.resolve(fn, param=value) or registry.resolve_multi(names, results={...}) (#19):
    • The parallel executor could stall and return nothing at all if every node that was ready at the start of execution was a passed-in value - for example Registry(b).resolve(b, a=1) where a was b's only dependency raised KeyError: b instead of returning the result of b.
    • Passed-in values now take precedence over registered functions. Previously passing results={"expensive": 10} for a registered expensive() function still executed the function and overwrote the passed-in value.

This is a behavior change: registered functions no longer execute at all when a value for them is passed in.