from typing import Dict
from core.contracts import DataContract, RequirementContract


class Node:
    # Base class for all processing nodes

    name: str
    inputs: Dict[str, RequirementContract]
    outputs: Dict[str, DataContract]

    def __init__(self, name, inputs=None, outputs=None):
        self.name = name
        self.inputs = inputs or {}
        self.outputs = outputs or {}
