Context manager to set a temporary path for the Astropy download cache,
primarily for use with testing (though there may be other applications
for setting a different cache directory, for example to switch to a cache
dedicated to large files).

If the path set by this context manager does not already exist it will be
created, if possible.

This may also be used as a decorator on a function to set the cache path
just within that function.

Parameters:

path : str

The directory (which must exist) in which to find the Astropy cache
files, or create them if they do not already exist. If None, this
restores the cache path to the user’s default cache path as returned
by get_cache_dir as though this context manager were not in effect
(this is useful for testing). In this case the delete argument is
always ignored.

delete : bool, optional

If True, cleans up the temporary directory after exiting the temp
context (default: False).