# Path: asammdf/types.py



from functools import lru_cache
from . import v2_v3_blocks as v3b
from . import v2_v3_constants as v3c
from . import v4_blocks as v4b
from . import v4_constants as v4c
from ..types import SourceType

    def __init__(
        self, name: str, path: str, comment: str, source_type: int, bus_type: int
    ) -> None:
        """Commons reprezentation for source information

        Attributes
        ----------
        name : str
            source name
        path : str
            source path
        comment : str
            source comment
        source_type : int
            source type code
        bus_type : int
            source bus code

        """
        self.name, self.path, self.comment, self.source_type, self.bus_type = (
            name,
            path,
            comment,
            source_type,
            bus_type,
        )

    @classmethod
    @lru_cache(128)

# Path: asammdf/types.py



# Path: asammdf/blocks/source_utils.py
from functools import lru_cache
from . import v2_v3_blocks as v3b
from . import v2_v3_constants as v3c
from . import v4_blocks as v4b
from . import v4_constants as v4c
from ..types import SourceType


    def __init__(
        self, name: str, path: str, comment: str, source_type: int, bus_type: int
    ) -> None:
        """Commons reprezentation for source information

        Attributes
        ----------
        name : str
            source name
        path : str
            source path
        comment : str
            source comment
        source_type : int
            source type code
        bus_type : int
            source bus code

        """
        self.name, self.path, self.comment, self.source_type, self.bus_type = (
            name,
            path,
            comment,
            source_type,
            bus_type,
        )

    @classmethod
    @lru_cache(128)

    def from_source(cls, source: SourceType) -> Source: