From e06e7938bb336701446b53466260df3fc81e5fba Mon Sep 17 00:00:00 2001
From: Bjoern Ludwig <bjoern.ludwig@ptb.de>
Date: Sat, 21 Jan 2023 15:59:42 +0100
Subject: [PATCH] docs(dataset): improve docstring of ZeMASamples

---
 docs/conf.py                      | 1 +
 src/zema_emc_annotated/dataset.py | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/docs/conf.py b/docs/conf.py
index 6f8b07b..8fc029d 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -53,6 +53,7 @@ html_theme_options = {
 intersphinx_mapping = {
     "np": ("https://numpy.org/doc/stable/", None),
     "Python": ("https://docs.python.org/3", None),
+    "pooch": ("https://www.fatiando.org/pooch/latest/", None),
 }
 # We keep the objects.inv files in our docs folder to get hints on how to specify the
 # cross-references. More on the topic can be found here:
diff --git a/src/zema_emc_annotated/dataset.py b/src/zema_emc_annotated/dataset.py
index f7411a7..1da12a8 100644
--- a/src/zema_emc_annotated/dataset.py
+++ b/src/zema_emc_annotated/dataset.py
@@ -65,6 +65,13 @@ class ZeMASamples:
 
     The underlying dataset is the annotated "Sensor data set of one electromechanical
     cylinder at ZeMA testbed (ZeMA DAQ and Smart-Up Unit)" by Dorst et al. [Dorst2021]_.
+    Each extracted sample will be cached in the download directory of the file,
+    which is handled by :func:`pooch.os_cache`, where ``<AppName>`` evaluates to
+    ``pooch``. That way the concurrent retrieval of the same data is as performant as
+    possible and can simply be left to ``zema_emc_annotated``. Where ever the result
+    of ``ZeMASamples`` is needed in an external code base, it should be safe to call
+    it over and over without causing unnecessary extractions or even downloads. The
+    underlying mechanism is Python's built-in ``pickle``.
 
     Parameters
     ----------
-- 
GitLab