diff --git a/pyproject.toml b/pyproject.toml
index 5123f5969f33f515824f6b920683ef2a39974ec7..c30243c4a7a882c0f6759727947d161bad5ca8e4 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -276,6 +276,7 @@ exclude = [  # don't report on objects that match any of these regex
     '\.__getitem__$',
     '\.__iter__$',
 ]
+
 override_SS05 = [  # override SS05 to allow docstrings starting with these words
     '^Process ',
     '^Assess ',
diff --git a/src/mednet/data/typing.py b/src/mednet/data/typing.py
index f61b423059f165f22fd0f860843f2573fa6be772..e5b68d982af5ae421ce94b442dbbfa5617843d4f 100644
--- a/src/mednet/data/typing.py
+++ b/src/mednet/data/typing.py
@@ -25,7 +25,13 @@ class RawDataLoader:
     """A loader object can load samples and labels from storage."""
 
     def sample(self, _: typing.Any) -> Sample:
-        """Load whole samples from media."""
+        """Load whole samples from media.
+
+        Parameters
+        ----------
+         _
+            Information about the sample to load. Implementation dependent.
+        """
         raise NotImplementedError("You must implement the `sample()` method")
 
     def label(self, k: typing.Any) -> int | list[int]:
diff --git a/src/mednet/scripts/config.py b/src/mednet/scripts/config.py
index 9494cda452df0c25c0a0bd99ea9a0de44049813a..5091cd28d9faf62f9e7dcc988a23868e85768dec 100644
--- a/src/mednet/scripts/config.py
+++ b/src/mednet/scripts/config.py
@@ -42,7 +42,7 @@ def config():
 """
 )
 @verbosity_option(logger=logger)
-def list(verbose) -> None:
+def list(verbose) -> None:  # numpydoc ignore=PR01
     """List configuration files installed."""
     entry_points = importlib.metadata.entry_points().select(
         group="mednet.config"
@@ -121,7 +121,7 @@ def list(verbose) -> None:
     nargs=-1,
 )
 @verbosity_option(logger=logger)
-def describe(name, verbose) -> None:
+def describe(name, verbose) -> None:  # numpydoc ignore=PR01
     """Describe a specific configuration file."""
     entry_points = importlib.metadata.entry_points().select(
         group="mednet.config"
@@ -172,7 +172,7 @@ def describe(name, verbose) -> None:
     nargs=1,
 )
 @verbosity_option(logger=logger, expose_value=False)
-def copy(source, destination) -> None:
+def copy(source, destination) -> None:  # numpydoc ignore=PR01
     """Copy a specific configuration resource so it can be modified locally."""
     import shutil
 
diff --git a/src/mednet/scripts/database.py b/src/mednet/scripts/database.py
index dd3134f10a6a59ff29b4eeb3bed323df0601adfe..e968ef26e8f8b0c6422c28814fb8828c0507b45c 100644
--- a/src/mednet/scripts/database.py
+++ b/src/mednet/scripts/database.py
@@ -131,7 +131,7 @@ def list():
     default=0,
 )
 @verbosity_option(logger=logger, expose_value=False)
-def check(split, limit):
+def check(split, limit):  # numpydoc ignore=PR01
     """Check file access on one or more DataModules."""
     import importlib.metadata
     import sys
diff --git a/src/mednet/scripts/evaluate.py b/src/mednet/scripts/evaluate.py
index 657e23278122f7fbc4d91e5cf55760dd7c0c1aa1..3c21ef632a25bcac0e39ba7d7678dc5737b2637f 100644
--- a/src/mednet/scripts/evaluate.py
+++ b/src/mednet/scripts/evaluate.py
@@ -78,7 +78,7 @@ def evaluate(
     output_folder: pathlib.Path,
     threshold: str | float,
     **_,  # ignored
-) -> None:
+) -> None:  # numpydoc ignore=PR01
     """Evaluate predictions (from a model) on a classification task."""
 
     import json
diff --git a/src/mednet/scripts/experiment.py b/src/mednet/scripts/experiment.py
index 6c83e9269b1117adb2c563c7b35b35530ceaa426..38d88fd94c32fee58c8959ea3ed767c59ff0fd2f 100644
--- a/src/mednet/scripts/experiment.py
+++ b/src/mednet/scripts/experiment.py
@@ -50,7 +50,7 @@ def experiment(
     monitoring_interval,
     balance_classes,
     **_,
-):
+):  # numpydoc ignore=PR01
     """Run a complete experiment, from training, to prediction and evaluation.
 
     This script is just a wrapper around the individual scripts for training,
diff --git a/src/mednet/scripts/predict.py b/src/mednet/scripts/predict.py
index 214b85e7e7315b2f0f1d195c57dcd3693c6f71e7..68dd8da7e5f1e28b03d21746b9550039f4caa440 100644
--- a/src/mednet/scripts/predict.py
+++ b/src/mednet/scripts/predict.py
@@ -124,7 +124,7 @@ def predict(
     weight,
     parallel,
     **_,
-) -> None:
+) -> None:  # numpydoc ignore=PR01
     """Run inference (generates scores) on all input images, using a pre-trained model."""
 
     import json
diff --git a/src/mednet/scripts/saliency/completeness.py b/src/mednet/scripts/saliency/completeness.py
index 5ce8578ddf3f4bfa60d849d3b6b66fd0f14b0cc7..a6e30bbea94e3420927c439bd5710ebfeb5853a6 100644
--- a/src/mednet/scripts/saliency/completeness.py
+++ b/src/mednet/scripts/saliency/completeness.py
@@ -172,7 +172,7 @@ def completeness(
     positive_only,
     percentile,
     **_,
-) -> None:
+) -> None:  # numpydoc ignore=PR01
     """Evaluate saliency map algorithm completeness using RemOve And Debias
     (ROAD).
 
diff --git a/src/mednet/scripts/saliency/evaluate.py b/src/mednet/scripts/saliency/evaluate.py
index d5b753369e8db03c756765cc9926faec87ff68cc..26a9b8d1f6ce75b3a4202240541266e0fafa38c8 100644
--- a/src/mednet/scripts/saliency/evaluate.py
+++ b/src/mednet/scripts/saliency/evaluate.py
@@ -76,7 +76,7 @@ def evaluate(
     entry,
     output_folder,
     **_,  # ignored
-) -> None:
+) -> None:  # numpydoc ignore=PR01
     """Calculate summary statistics for a saliency map algorithm."""
     import json
 
diff --git a/src/mednet/scripts/saliency/generate.py b/src/mednet/scripts/saliency/generate.py
index 7f2d5842f1c4df46af35f9233aa83cde693000fb..583c250c7061181298d6a5ed0bdb27f12826211d 100644
--- a/src/mednet/scripts/saliency/generate.py
+++ b/src/mednet/scripts/saliency/generate.py
@@ -161,7 +161,7 @@ def generate(
     target_class,
     positive_only,
     **_,
-) -> None:
+) -> None:  # numpydoc ignore=PR01
     """Generate saliency maps for locations on input images that affected the
     prediction.
 
diff --git a/src/mednet/scripts/saliency/interpretability.py b/src/mednet/scripts/saliency/interpretability.py
index 5c3da890ed21308aa22d03e28c8d6f37380d0110..0d1b84f7692a1c218cca603d7e9306b617a8d1c5 100644
--- a/src/mednet/scripts/saliency/interpretability.py
+++ b/src/mednet/scripts/saliency/interpretability.py
@@ -83,7 +83,7 @@ def interpretability(
     target_label,
     output_json,
     **_,
-) -> None:
+) -> None:  # numpydoc ignore=PR01
     """Evaluate saliency map agreement with annotations (human
     interpretability).
 
diff --git a/src/mednet/scripts/saliency/view.py b/src/mednet/scripts/saliency/view.py
index e644b8e27ff95cbc53541f84bb544646a5586975..f44be79f8f4999fcc69fc38da368b53869fe696e 100644
--- a/src/mednet/scripts/saliency/view.py
+++ b/src/mednet/scripts/saliency/view.py
@@ -97,7 +97,7 @@ def view(
     show_groundtruth,
     threshold,
     **_,
-) -> None:
+) -> None:  # numpydoc ignore=PR01
     """Generate heatmaps for input CXRs based on existing saliency maps."""
 
     from ...engine.saliency.viewer import run
diff --git a/src/mednet/scripts/train.py b/src/mednet/scripts/train.py
index f1956715d0c77db955a8e808bc1ceed4ce6f044e..1dc78e4a68e690e7a311b31966270b2de4eedadf 100644
--- a/src/mednet/scripts/train.py
+++ b/src/mednet/scripts/train.py
@@ -248,7 +248,7 @@ def train(
     monitoring_interval,
     balance_classes,
     **_,
-) -> None:
+) -> None:  # numpydoc ignore=PR01
     """Train an CNN to perform image classification.
 
     Training is performed for a configurable number of epochs, and
diff --git a/src/mednet/scripts/train_analysis.py b/src/mednet/scripts/train_analysis.py
index 73e683a1072e3ea1065208c1e692481272e1e484..9b7a514486e5faeaa50e78f7d6e0f47769b38e04 100644
--- a/src/mednet/scripts/train_analysis.py
+++ b/src/mednet/scripts/train_analysis.py
@@ -133,7 +133,7 @@ def create_figures(
 def train_analysis(
     logdir: pathlib.Path,
     output: pathlib.Path,
-) -> None:
+) -> None:  # numpydoc ignore=PR01
     """Create a plot for each metric in the training logs and saves them in a .pdf file."""
 
     import matplotlib.pyplot as plt