Source code for kappa_sdk.enumerator.data_enumerator_settings
from typing import Optional, Dict, Union
from uuid import UUID
from datetime import datetime, timezone
from ..datetime_utils import datetime_to_utc
from .interpolation_method_enum import InterpolationMethodEnum
from .time_range_enum import TimeRangeEnum
from .extrapolation_method_enum import ExtrapolationMethodEnum
[docs]
class DataEnumeratorSettings:
    """Python wrapper for the DataProductSettings.
    """
[docs]
    def __init__(self,
                 time_range: TimeRangeEnum = TimeRangeEnum.total,
                 exclusive_start: Optional[datetime] = datetime.min,
                 inclusive_end: Optional[datetime] = datetime.max,
                 extrapolation_method: ExtrapolationMethodEnum = ExtrapolationMethodEnum.use_slope,
                 interpolation_method: InterpolationMethodEnum = InterpolationMethodEnum.absent_value,
                 read_chunk_size: int = 10000,
                 reference_vector_id: Optional[str] = None,
                 reference_vector_count: Optional[int] = None,
                 max_count: Union[Optional[Dict[str, int]], int] = None):
        self.time_range: TimeRangeEnum = time_range
        self.exclusive_start = datetime_to_utc(exclusive_start) if exclusive_start is not None else datetime.min.replace(tzinfo=timezone.utc)
        self.inclusive_end = datetime_to_utc(inclusive_end) if inclusive_end is not None else datetime.max.replace(tzinfo=timezone.utc)
        self.extrapolation_method: ExtrapolationMethodEnum = extrapolation_method
        self.interpolation_method: InterpolationMethodEnum = interpolation_method
        self.read_chunk_size: int = read_chunk_size
        self.reference_vector_id: Optional[Union[UUID, str]] = reference_vector_id
        self.reference_vector_count: Optional[int] = reference_vector_count
        self.max_count: Union[Optional[Dict[str, int]], int] = max_count