Import supported backends

This ensures that any syntax issues are caught early (by type checkers
and tests). Backends that are missing dependencies are skipped. By
importing, this exposed an issue where the redis type annotations
raised an exception, which has been fixed by using forward annotations.

To help avoid import dependency hell, the Backend ABC has been moved to
`fastapi_cache.types`. In the process, it has been made an actual ABC.
This commit is contained in:
Martijn Pieters
2023-05-12 17:20:22 +01:00
committed by Martijn Pieters
parent 9638d70dfe
commit d10f4af6d6
7 changed files with 49 additions and 22 deletions

View File

@@ -3,7 +3,7 @@ from asyncio import Lock
from dataclasses import dataclass
from typing import Dict, Optional, Tuple
from fastapi_cache.backends import Backend
from fastapi_cache.types import Backend
@dataclass