From 621635a978c6650fca31850bcd2f2b97005e8ff2 Mon Sep 17 00:00:00 2001 From: Cunliang Geng Date: Fri, 14 Jun 2024 13:20:06 +0200 Subject: [PATCH] use specific types for return of abstract method when possible use more general type when necessary --- src/nplinker/genomics/abc.py | 10 ++++------ src/nplinker/metabolomics/abc.py | 10 ++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/nplinker/genomics/abc.py b/src/nplinker/genomics/abc.py index da0dff44..daeb3bef 100644 --- a/src/nplinker/genomics/abc.py +++ b/src/nplinker/genomics/abc.py @@ -1,7 +1,5 @@ from abc import ABC from abc import abstractmethod -from typing import Mapping -from typing import Sequence from .bgc import BGC from .gcf import GCF @@ -9,7 +7,7 @@ class BGCLoaderBase(ABC): """Abstract base class for BGC loader.""" - def __init__(self, data_dir: str): + def __init__(self, data_dir: str) -> None: """Initialize the BGC loader. Args: @@ -19,7 +17,7 @@ def __init__(self, data_dir: str): self.data_dir = data_dir @abstractmethod - def get_files(self) -> Mapping[str, str]: + def get_files(self) -> dict[str, str]: """Get path to BGC files. Returns: @@ -27,7 +25,7 @@ def get_files(self) -> Mapping[str, str]: """ @abstractmethod - def get_bgcs(self) -> Sequence[BGC]: + def get_bgcs(self) -> list[BGC]: """Get BGC objects. Returns: @@ -39,7 +37,7 @@ class GCFLoaderBase(ABC): """Abstract base class for GCF loader.""" @abstractmethod - def get_gcfs(self, keep_mibig_only: bool, keep_singleton: bool) -> Sequence[GCF]: + def get_gcfs(self, keep_mibig_only: bool, keep_singleton: bool) -> list[GCF]: """Get GCF objects. Args: diff --git a/src/nplinker/metabolomics/abc.py b/src/nplinker/metabolomics/abc.py index 4665c5b8..6af3052e 100644 --- a/src/nplinker/metabolomics/abc.py +++ b/src/nplinker/metabolomics/abc.py @@ -1,7 +1,5 @@ from abc import ABC from abc import abstractmethod -from typing import Mapping -from typing import Sequence from .molecular_family import MolecularFamily from .spectrum import Spectrum @@ -11,7 +9,7 @@ class SpectrumLoaderBase(ABC): @property @abstractmethod - def spectra(self) -> Sequence["Spectrum"]: + def spectra(self) -> list["Spectrum"]: """Get Spectrum objects. Returns: @@ -23,7 +21,7 @@ class MolecularFamilyLoaderBase(ABC): """Abstract base class for MolecularFamilyLoader.""" @abstractmethod - def get_mfs(self, keep_singleton: bool) -> Sequence["MolecularFamily"]: + def get_mfs(self, keep_singleton: bool) -> list["MolecularFamily"]: """Get MolecularFamily objects. Args: @@ -41,7 +39,7 @@ class FileMappingLoaderBase(ABC): @property @abstractmethod - def mappings(self) -> Mapping[str, Sequence[str]]: + def mappings(self) -> dict[str, list[str]]: """Get file mappings. Returns: @@ -54,7 +52,7 @@ class AnnotationLoaderBase(ABC): @property @abstractmethod - def annotations(self) -> Mapping[str, Mapping]: + def annotations(self) -> dict[str, dict]: """Get annotations. Returns: