Using uvx in GitHub Actions in a cache-friendly way

I often find myself wanting to run a quick Python tool inside of GitHub Actions using uvx name-of-tool - but I don't want that to result in a network request to PyPI every time the workflow runs. I want the tool to be fetched the first time and then reused from the GitHub Actions cache for subsequent runs. I've tried unsuccessfully to find patterns I like for this in the past, especially given the…