From 122c44e0a6b02217dc0145df91a38ff2e1ad1ed6 Mon Sep 17 00:00:00 2001 From: Jesper Dramsch Date: Mon, 23 Sep 2024 15:24:39 +0000 Subject: [PATCH] docs: Docstrings for classes --- src/anemoi/registry/entry/__init__.py | 4 +++- src/anemoi/registry/entry/dataset.py | 4 ++++ src/anemoi/registry/entry/experiment.py | 4 ++++ src/anemoi/registry/entry/weights.py | 2 ++ src/anemoi/registry/rest.py | 6 ++++++ src/anemoi/registry/tasks.py | 2 ++ src/anemoi/registry/workers/__init__.py | 2 ++ src/anemoi/registry/workers/delete_dataset.py | 2 ++ src/anemoi/registry/workers/dummy.py | 2 ++ src/anemoi/registry/workers/transfer_dataset.py | 4 ++++ 10 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/anemoi/registry/entry/__init__.py b/src/anemoi/registry/entry/__init__.py index 7c2b17d..5a781f7 100644 --- a/src/anemoi/registry/entry/__init__.py +++ b/src/anemoi/registry/entry/__init__.py @@ -27,6 +27,8 @@ class CatalogueEntryNotFound(Exception): class CatalogueEntry: + """Base class for a Anemoi catalogue entry.""" + record = None path = None key = None @@ -36,7 +38,7 @@ class CatalogueEntry: def url(self): return f"{config()['web_url']}/{self.collection}/{self.key}" - def __init__(self, key=None, path=None, must_exist=True): + def __init__(self, key=None, path=None, must_exist=True) -> None: assert key is not None or path is not None, "key or path must be provided" assert key is None or path is None, "key and path are mutually exclusive" diff --git a/src/anemoi/registry/entry/dataset.py b/src/anemoi/registry/entry/dataset.py index ae4b7e3..8924fad 100644 --- a/src/anemoi/registry/entry/dataset.py +++ b/src/anemoi/registry/entry/dataset.py @@ -24,6 +24,8 @@ class DatasetCatalogueEntryList(RestItemList): + """List of dataset catalogue entries.""" + def __init__(self, **kwargs): super().__init__(COLLECTION, **kwargs) @@ -33,6 +35,8 @@ def __iter__(self): class DatasetCatalogueEntry(CatalogueEntry): + """A dataset catalogue entry.""" + collection = COLLECTION main_key = "name" diff --git a/src/anemoi/registry/entry/experiment.py b/src/anemoi/registry/entry/experiment.py index 489453f..1f22713 100644 --- a/src/anemoi/registry/entry/experiment.py +++ b/src/anemoi/registry/entry/experiment.py @@ -28,6 +28,8 @@ class ExperimentCatalogueEntryList(RestItemList): + """List of ExperimentCatalogueEntry objects.""" + def __init__(self, **kwargs): super().__init__(COLLECTION, **kwargs) @@ -37,6 +39,8 @@ def __iter__(self): class ExperimentCatalogueEntry(CatalogueEntry): + """Catalogue entry for an experiment.""" + collection = COLLECTION main_key = "expver" diff --git a/src/anemoi/registry/entry/weights.py b/src/anemoi/registry/entry/weights.py index a8fe6dd..5160127 100644 --- a/src/anemoi/registry/entry/weights.py +++ b/src/anemoi/registry/entry/weights.py @@ -22,6 +22,8 @@ class WeightsCatalogueEntryList(RestItemList): + """List of weights catalogue entries.""" + def __init__(self, **kwargs): super().__init__(COLLECTION, **kwargs) diff --git a/src/anemoi/registry/rest.py b/src/anemoi/registry/rest.py index 4a80d06..c4b9c63 100644 --- a/src/anemoi/registry/rest.py +++ b/src/anemoi/registry/rest.py @@ -61,6 +61,8 @@ def trace_info(): class Rest: + """REST API client.""" + def __init__(self): self.session = requests.Session() self.session.headers.update({"Authorization": f"Bearer {self.token}"}) @@ -148,6 +150,8 @@ def raise_for_status(self, r, errors={}): class RestItem: + """Single catalogue entry from REST API.""" + def __init__(self, collection, key): self.collection = collection self.key = key @@ -179,6 +183,8 @@ def __repr__(self): class RestItemList: + """List of catalogue entries from REST API.""" + def __init__(self, collection): self.collection = collection self.rest = Rest() diff --git a/src/anemoi/registry/tasks.py b/src/anemoi/registry/tasks.py index 039ce62..5d2e8a4 100644 --- a/src/anemoi/registry/tasks.py +++ b/src/anemoi/registry/tasks.py @@ -20,6 +20,8 @@ class TaskCatalogueEntryList: + """List of task catalogue entries.""" + collection = "tasks" main_key = "uuid" diff --git a/src/anemoi/registry/workers/__init__.py b/src/anemoi/registry/workers/__init__.py index 4d9364b..21aab00 100644 --- a/src/anemoi/registry/workers/__init__.py +++ b/src/anemoi/registry/workers/__init__.py @@ -23,6 +23,8 @@ class Worker: + """Base class for a worker that processes tasks in the queue.""" + name = None def __init__( diff --git a/src/anemoi/registry/workers/delete_dataset.py b/src/anemoi/registry/workers/delete_dataset.py index 7fcf8c2..8691164 100644 --- a/src/anemoi/registry/workers/delete_dataset.py +++ b/src/anemoi/registry/workers/delete_dataset.py @@ -16,6 +16,8 @@ class DeleteDatasetWorker(Worker): + """Worker to delete a dataset from a platform.""" + name = "delete-dataset" def __init__( diff --git a/src/anemoi/registry/workers/dummy.py b/src/anemoi/registry/workers/dummy.py index 19c3a63..d894522 100644 --- a/src/anemoi/registry/workers/dummy.py +++ b/src/anemoi/registry/workers/dummy.py @@ -13,6 +13,8 @@ class DummyWorker(Worker): + """A debug worker that logs the task it receives.""" + name = "dummy" def __init__(self, arg, **kwargs): diff --git a/src/anemoi/registry/workers/transfer_dataset.py b/src/anemoi/registry/workers/transfer_dataset.py index 16ae156..1ce3829 100644 --- a/src/anemoi/registry/workers/transfer_dataset.py +++ b/src/anemoi/registry/workers/transfer_dataset.py @@ -18,6 +18,8 @@ class Progress: + """Progress reporter for transfer tasks.""" + latest = None def __init__(self, task, frequency=60): @@ -62,6 +64,8 @@ def __call__(self, number_of_files, total_size, total_transferred, transfering, class TransferDatasetWorker(Worker): + """Worker to transfer a dataset from one platform to another.""" + name = "transfer-dataset" def __init__(