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

1# SPDX-FileCopyrightText: 2026 Arcangelo Massari <github@a.arcangelomassari.com> 

2# 

3# SPDX-License-Identifier: ISC 

4 

5from __future__ import annotations 

6 

7from dataclasses import dataclass 

8from pathlib import Path 

9 

10 

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 

18 

19 

20@dataclass(frozen=True) 

21class ProjectMetadata: 

22 title: str 

23 authors: tuple[str, ...] 

24 

25 

26@dataclass(frozen=True) 

27class CheckResult: 

28 errors: tuple[str, ...] 

29 

30 @property 

31 def ok(self) -> bool: 

32 return not self.errors