aboutsummaryrefslogtreecommitdiffstats
path: root/src/PluginInterface.py
blob: c6be538a8e36d8bb5781928542c8b02ef649d0d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from abc import ABC, abstractmethod
from typing import Any

from Item import Item


class PluginInterface(ABC):
    def __init__(self, id: str, params: dict[str, Any]):
        self.id = id
        self.params = params

    @abstractmethod
    def validate_input_n(self, n: int) -> bool:
        raise NotImplemented("abstract method not implemented")

    @abstractmethod
    def process(self, inputs: list[list[Item]]) -> list[Item]:
        pass