Coverage for kgi / base.py: 100%

4 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-03-23 08:53 +0000

1# SPDX-FileCopyrightText: 2026 Arcangelo Massari <arcangelo.massari@unibo.it> 

2# 

3# SPDX-License-Identifier: ISC 

4 

5from __future__ import annotations 

6 

7from abc import ABC, abstractmethod 

8from typing import TYPE_CHECKING 

9 

10import pandas as pd 

11 

12if TYPE_CHECKING: # pragma: no cover 

13 from .utils import Codex, IdGenerator 

14 

15 

16class Endpoint(ABC): # pragma: no cover 

17 

18 @abstractmethod 

19 def query(self, query: str): 

20 raise NotImplementedError 

21 

22 

23class Triple(ABC): # pragma: no cover 

24 

25 @abstractmethod 

26 def generate( 

27 self, id_generator: IdGenerator, codex: Codex, all_mapping_rules: pd.DataFrame 

28 ) -> str | None: 

29 raise NotImplementedError 

30 

31 

32class Template(ABC): # pragma: no cover 

33 

34 @abstractmethod 

35 def create_template(self) -> str: 

36 raise NotImplementedError 

37 

38 @abstractmethod 

39 def fill_data(self, data: pd.DataFrame, source_name: str) -> str: 

40 raise NotImplementedError