/ haystack / utils / __init__.py
__init__.py
 1  # SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
 2  #
 3  # SPDX-License-Identifier: Apache-2.0
 4  
 5  import sys
 6  from typing import TYPE_CHECKING
 7  
 8  from lazy_imports import LazyImporter
 9  
10  _import_structure = {
11      "auth": ["Secret", "deserialize_secrets_inplace"],
12      "azure": ["default_azure_ad_token_provider"],
13      "base_serialization": ["_deserialize_value_with_schema", "_serialize_value_with_schema"],
14      "callable_serialization": ["deserialize_callable", "serialize_callable"],
15      "device": ["ComponentDevice", "Device", "DeviceMap", "DeviceType"],
16      "deserialization": ["deserialize_chatgenerator_inplace"],
17      "filters": ["document_matches_filter", "raise_on_invalid_filter_syntax"],
18      "jinja2_extensions": ["Jinja2TimeExtension"],
19      "jupyter": ["is_in_jupyter"],
20      "misc": ["expit", "expand_page_range"],
21      "requests_utils": ["request_with_retry", "async_request_with_retry"],
22      "type_serialization": ["deserialize_type", "serialize_type"],
23  }
24  
25  if TYPE_CHECKING:
26      from .auth import Secret as Secret
27      from .auth import deserialize_secrets_inplace as deserialize_secrets_inplace
28      from .azure import default_azure_ad_token_provider as default_azure_ad_token_provider
29      from .base_serialization import _deserialize_value_with_schema as _deserialize_value_with_schema
30      from .base_serialization import _serialize_value_with_schema as _serialize_value_with_schema
31      from .callable_serialization import deserialize_callable as deserialize_callable
32      from .callable_serialization import serialize_callable as serialize_callable
33      from .deserialization import deserialize_chatgenerator_inplace as deserialize_chatgenerator_inplace
34      from .device import ComponentDevice as ComponentDevice
35      from .device import Device as Device
36      from .device import DeviceMap as DeviceMap
37      from .device import DeviceType as DeviceType
38      from .filters import document_matches_filter as document_matches_filter
39      from .filters import raise_on_invalid_filter_syntax as raise_on_invalid_filter_syntax
40      from .jinja2_extensions import Jinja2TimeExtension as Jinja2TimeExtension
41      from .jupyter import is_in_jupyter as is_in_jupyter
42      from .misc import expand_page_range as expand_page_range
43      from .misc import expit as expit
44      from .requests_utils import async_request_with_retry as async_request_with_retry
45      from .requests_utils import request_with_retry as request_with_retry
46      from .type_serialization import deserialize_type as deserialize_type
47      from .type_serialization import serialize_type as serialize_type
48  else:
49      sys.modules[__name__] = LazyImporter(name=__name__, module_file=__file__, import_structure=_import_structure)