From 321b3561401849c99859d0e612c2b9797c466089 Mon Sep 17 00:00:00 2001 From: Andrew Brookins Date: Wed, 24 Nov 2021 13:53:54 -0800 Subject: [PATCH] Switch to using Protocols with typing_extensions --- aredis_om/model/model.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/aredis_om/model/model.py b/aredis_om/model/model.py index 021fee2..945a181 100644 --- a/aredis_om/model/model.py +++ b/aredis_om/model/model.py @@ -23,7 +23,6 @@ from typing import ( Union, no_type_check, ) -from typing_extensions import get_args, get_origin import aioredis from aioredis.client import Pipeline @@ -33,6 +32,7 @@ from pydantic.fields import ModelField, Undefined, UndefinedType from pydantic.main import ModelMetaclass, validate_model from pydantic.typing import NoArgAnyCallable from pydantic.utils import Representation +from typing_extensions import Protocol, get_args, get_origin from ulid import ULID from ..checks import has_redis_json, has_redisearch @@ -848,13 +848,14 @@ class FindQuery: return result[0] -class PrimaryKeyCreator(abc.ABC): +class PrimaryKeyCreator(Protocol): def create_pk(self, *args, **kwargs) -> str: """Create a new primary key""" class UlidPrimaryKey: - """A client-side generated primary key that follows the ULID spec. + """ + A client-side generated primary key that follows the ULID spec. https://github.com/ulid/javascript#specification """