"""R2X Core Library"""

from importlib.metadata import version

__version__ = version("r2x_core")


from .datafile import (
    DataFile,
)
from .exceptions import (
    ComponentCreationError,
    ExporterError,
    ParserError,
    ValidationError,
)
from .exporter import BaseExporter
from .file_types import FileType
from .parser import BaseParser, ParserConfig
from .plugins import (
    FilterFunction,
    PluginComponent,
    PluginManager,
    SystemModifier,
)
from .reader import DataReader
from .store import DataStore
from .system import System

__all__ = [
    "DataFile",
    "DataStore",
    "DataReader",
    "FileType",
    "BaseParser",
    "BaseExporter",
    "ParserConfig",
    "System",
    "ParserError",
    "ValidationError",
    "ComponentCreationError",
    "ExporterError",
    "PluginManager",
    "PluginComponent",
    "SystemModifier",
    "FilterFunction",
]
