Coverage for src/software_citation_sync/config.py: 100%
20 statements
« prev ^ index » next coverage.py v7.14.3, created at 2026-06-27 17:58 +0000
« prev ^ index » next coverage.py v7.14.3, created at 2026-06-27 17:58 +0000
1# SPDX-FileCopyrightText: 2026 Arcangelo Massari <github@a.arcangelomassari.com>
2#
3# SPDX-License-Identifier: ISC
5from __future__ import annotations
7from dataclasses import dataclass
8from pathlib import Path
11@dataclass(frozen=True)
12class CitationConfig:
13 citation_path: Path
14 readme_path: Path
15 version: str
16 date_released: str
17 software_heritage_url: str
20@dataclass(frozen=True)
21class ProjectMetadata:
22 title: str
23 authors: tuple[str, ...]
26@dataclass(frozen=True)
27class CheckResult:
28 errors: tuple[str, ...]
30 @property
31 def ok(self) -> bool:
32 return not self.errors