It would be easiest to solely use Scanpy's logging and settings & to integrate it into our code
A nicer experience would be to write a new logger & settings based on Rich. In this case it likely would have to either monkeypatch Scanpy's logging & settings or the new custom logger would as a side effect also control Scanpy's equivalents.
In any case, our own download & caching etc must respect the logging & settings
Open discussion whether or not we should reimplement Scanpy algorithms or add it as a dependency.