From 1e06bda07cae0586aca60b053d73d23a57a9fa33 Mon Sep 17 00:00:00 2001 From: Harshal Sheth Date: Wed, 10 Feb 2021 00:11:40 -0800 Subject: [PATCH] Fix dataclass mypy error --- metadata-ingestion/src/gometa/ingestion/api/common.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/metadata-ingestion/src/gometa/ingestion/api/common.py b/metadata-ingestion/src/gometa/ingestion/api/common.py index 3ea0158bc2..e563ddc479 100644 --- a/metadata-ingestion/src/gometa/ingestion/api/common.py +++ b/metadata-ingestion/src/gometa/ingestion/api/common.py @@ -9,11 +9,14 @@ class RecordEnvelope(Generic[T]): record: T metadata: dict - @dataclass -class WorkUnit(metaclass=ABCMeta): +class _WorkUnitId(metaclass=ABCMeta): id: str +# For information on why the WorkUnit class is structured this way +# and is separating the dataclass portion from the abstract methods, see +# https://github.com/python/mypy/issues/5374#issuecomment-568335302. +class WorkUnit(_WorkUnitId, metaclass=ABCMeta): @abstractmethod def get_metadata(self) -> dict: pass