From c1579800221e682fc0cc1a6008442d9fea9b5a40 Mon Sep 17 00:00:00 2001 From: Jakob van Santen Date: Wed, 8 Jan 2025 14:34:36 +0100 Subject: [PATCH] fix: add defaults to view fields, make init kw-only --- ampel/view/SnapView.py | 16 ++++++++-------- ampel/view/T2DocView.py | 6 +++--- ampel/view/T3DocView.py | 10 +++++----- pyproject.toml | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/ampel/view/SnapView.py b/ampel/view/SnapView.py index 8384ba74..d4835ad0 100755 --- a/ampel/view/SnapView.py +++ b/ampel/view/SnapView.py @@ -27,7 +27,7 @@ from typing import Self -@dataclass(frozen=True, slots=True) +@dataclass(frozen=True, slots=True, kw_only=True) class SnapView: """ View of a given ampel object (with unique stock id). @@ -44,15 +44,15 @@ class SnapView: """ id: StockId - stock: None | StockDocument - origin: None | OneOrMany[int] - t0: None | Sequence[DataPoint] - t1: None | Sequence[T1Document] - t2: None | Sequence[T2DocView] + stock: None | StockDocument = None + origin: None | OneOrMany[int] = None + t0: None | Sequence[DataPoint] = None + t1: None | Sequence[T1Document] = None + t2: None | Sequence[T2DocView] = None # Logs, if added by T3 complement stage - logs: None | Sequence[LogDocument] + logs: None | Sequence[LogDocument] = None # Free-form information addable via instances of AbsBufferComplement - extra: None | dict[str, Any] + extra: None | dict[str, Any] = None @classmethod diff --git a/ampel/view/T2DocView.py b/ampel/view/T2DocView.py index 73171630..a988bacf 100755 --- a/ampel/view/T2DocView.py +++ b/ampel/view/T2DocView.py @@ -25,7 +25,7 @@ from typing import Self -@dataclass(frozen=True, slots=True) +@dataclass(frozen=True, slots=True, kw_only=True) class T2DocView: """ View of a given T2Document (with unique stock id). @@ -36,13 +36,13 @@ class T2DocView: stock: StockId | Sequence[StockId] unit: int | str confid: None | int - config: None | dict[str, Any] + config: None | dict[str, Any] = None link: T2Link tag: Sequence[Tag] code: int t2_type: int meta: Sequence[MetaRecord] - body: None | Sequence[UBson] + body: None | Sequence[UBson] = None @classmethod # Static ctor diff --git a/ampel/view/T3DocView.py b/ampel/view/T3DocView.py index 3a9aa180..e3fc9d85 100755 --- a/ampel/view/T3DocView.py +++ b/ampel/view/T3DocView.py @@ -21,7 +21,7 @@ from typing import Self -@dataclass(frozen=True, slots=True) +@dataclass(frozen=True, slots=True, kw_only=True) class T3DocView: """ View of a given T3Document. @@ -29,14 +29,14 @@ class T3DocView: and provides convenience methods to access it. """ - stock: None | Sequence[StockId] + stock: None | Sequence[StockId] = None unit: str confid: int - config: None | dict[str, Any] - tag: None | Tag | Sequence[Tag] + config: None | dict[str, Any] = None + tag: None | Tag | Sequence[Tag] = None code: int meta: MetaRecord - body: UBson + body: UBson = None @classmethod # Static ctor diff --git a/pyproject.toml b/pyproject.toml index 90b96314..3b764765 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "ampel-interface" -version = "0.10.4" +version = "0.10.4.post0" description = "Base classes for the Ampel analysis platform" authors = ["Valery Brinnel"] maintainers = ["Jakob van Santen "]