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.
"""
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