diff --git a/declearn/aggregator/_api.py b/declearn/aggregator/_api.py
index 778b1d3e0c92a7e0c0baedea85e5b35ae6ace0a7..5f089b4180f86802cfda57d6f50d636622f19f6a 100644
--- a/declearn/aggregator/_api.py
+++ b/declearn/aggregator/_api.py
@@ -127,7 +127,7 @@ class Aggregator(metaclass=ABCMeta):
         self,
     ) -> Dict[str, Any]:
         """Return a JSON-serializable dict with this object's parameters."""
-        return {}
+        return {}  # pragma: no cover
 
     @classmethod
     def from_config(
diff --git a/declearn/communication/__init__.py b/declearn/communication/__init__.py
index e7f685f248bfc22bbc35300a0ef3f39d66660dba..b846ff0b4aa4c42bc35178685df27a701d2b1bee 100644
--- a/declearn/communication/__init__.py
+++ b/declearn/communication/__init__.py
@@ -69,11 +69,9 @@ from ._build import (
 # Concrete implementations using various protocols:
 try:
     from . import grpc
-except ImportError:
-    # pragma: no cover
+except ImportError:  # pragma: no cover
     _INSTALLABLE_BACKENDS["grpc"] = ("grpcio", "protobuf")
 try:
     from . import websockets
-except ImportError:
-    # pragma: no cover
+except ImportError:  # pragma: no cover
     _INSTALLABLE_BACKENDS["websockets"] = ("websockets",)
diff --git a/declearn/communication/_build.py b/declearn/communication/_build.py
index 1552eba942e197f45ce9be44314c6e7d45517528..854af5d38f7bfbd5df9bc4bcd140dbc6f82ab366 100644
--- a/declearn/communication/_build.py
+++ b/declearn/communication/_build.py
@@ -48,7 +48,7 @@ def raise_if_installable(
     exc: Optional[Exception] = None,
 ) -> None:
     """Raise a RuntimeError if a given protocol is missing but installable."""
-    if protocol in _INSTALLABLE_BACKENDS:
+    if protocol in _INSTALLABLE_BACKENDS:  # pragma: no cover
         raise RuntimeError(
             f"The '{protocol}' communication protocol network endpoints "
             "could not be imported, but could be installed by satisfying "
@@ -95,7 +95,7 @@ def build_client(
     protocol = protocol.strip().lower()
     try:
         cls = access_registered(name=protocol, group="NetworkClient")
-    except KeyError as exc:
+    except KeyError as exc:  # pragma: no cover
         raise_if_installable(protocol, exc)
         raise KeyError(
             "Failed to retrieve NetworkClient "
@@ -153,7 +153,7 @@ def build_server(
     protocol = protocol.strip().lower()
     try:
         cls = access_registered(name=protocol, group="NetworkServer")
-    except KeyError as exc:
+    except KeyError as exc:  # pragma: no cover
         raise_if_installable(protocol, exc)
         raise KeyError(
             "Failed to retrieve NetworkServer "
diff --git a/declearn/data_info/_fields.py b/declearn/data_info/_fields.py
index bb48a5587abbf8da4697b4e1ab82d61e2c4e99fe..2d0bd320addf65af049bc8d82153202f1ef79438 100644
--- a/declearn/data_info/_fields.py
+++ b/declearn/data_info/_fields.py
@@ -159,7 +159,7 @@ class NbSamplesField(DataInfoField):
 
 
 @register_data_info_field
-class InputShapeField(DataInfoField):
+class InputShapeField(DataInfoField):  # pragma: no cover
     """Specifications for 'input_shape' data_info field."""
 
     field = "input_shape"
@@ -216,7 +216,7 @@ class InputShapeField(DataInfoField):
 
 
 @register_data_info_field
-class NbFeaturesField(DataInfoField):
+class NbFeaturesField(DataInfoField):  # pragma: no cover
     """Deprecated specifications for 'n_features' data_info field."""
 
     field = "n_features"
diff --git a/declearn/dataset/_inmemory.py b/declearn/dataset/_inmemory.py
index 534cf45d92ca0f01ad0fb9ae52a511a5f8519934..7f3b33fa73844f1a5cc285c2ebf95de3e7065063 100644
--- a/declearn/dataset/_inmemory.py
+++ b/declearn/dataset/_inmemory.py
@@ -220,7 +220,7 @@ class InMemoryDataset(Dataset):
         )
 
     @staticmethod
-    def load_data_array(
+    def load_data_array(  # pragma: no cover
         path: str,
         **kwargs: Any,
     ) -> DataArray:
@@ -241,7 +241,7 @@ class InMemoryDataset(Dataset):
         return load_data_array(path, **kwargs)
 
     @staticmethod
-    def save_data_array(
+    def save_data_array(  # pragma: no cover
         path: str,
         array: Union[DataArray, pd.Series],
     ) -> str:
diff --git a/declearn/metrics/_api.py b/declearn/metrics/_api.py
index ab23eb0d24fdacabeefe9e35ca0ac112559327bb..fce098c316b488ecdf45cc09302ac2f492f8cbcc 100644
--- a/declearn/metrics/_api.py
+++ b/declearn/metrics/_api.py
@@ -347,7 +347,9 @@ class Metric(metaclass=ABCMeta):
         return s_wght
 
     @staticmethod
-    def normalize_weights(s_wght: np.ndarray) -> np.ndarray:
+    def normalize_weights(  # pragma: no cover
+        s_wght: np.ndarray,
+    ) -> np.ndarray:
         """Utility method to ensure weights sum to one.
 
         Note that this method may or may not be used depending on