For Python, consider Tenacity: https://tenacity.readthedocs.io/en/latest/
At the CLI, this is nice for not depending on Node.
Would also recommend opnieuw: https://github.com/channable/opnieuw
backoff is good, too: https://github.com/litl/backoff
I moved away from tenacity because of type-checking issues. I might check out stamina next time.
Stamina for good defaults on Tenacity: https://github.com/hynek/stamina
Does recur depend on node?
for Node.js, consider retry: https://www.npmjs.com/package/retry