I work with a code base that is perhaps going through a similar transition. Performance hasn't really been a consideration and so when new functionality is tacked on we're frequently making a new API call even though we might already have the data somewhere else.
I don't have a name for the pattern or anti-pattern, but people's responses seem to indicate that it's largely a good thing, the change that you're making. I'm reminded of a Martin Fowler-esque or TDD idea that a function should either retrieve data or process it. However I wasn't able to find a blog post about that with a quick search.
I believe that in order to edit, you'd submit a pull request to https://github.com/BitEU/Buy. Someone else has recently done just that.
A cheeky answer: whenever Ruff/flake8-type-checking tells me to. Though I'd only enable that check now that there's an autofix in Ruff as well.
The link is to a person's Mastodon post advertising their own blog post. Here's a direct link to that blog post: https://rednafi.com/python/escape_template_pattern/