deepgram.clients.analyze.v1.options

 1# Copyright 2024 Deepgram SDK contributors. All Rights Reserved.
 2# Use of this source code is governed by a MIT license that can be found in the LICENSE file.
 3# SPDX-License-Identifier: MIT
 4
 5import logging
 6from typing import List, Union, Optional
 7
 8from dataclasses import dataclass, field
 9from dataclasses_json import config as dataclass_config
10
11from ....utils import verboselogs
12from ...common import (
13    TextSource,
14    FileSource,
15    BufferSource,
16    StreamSource,
17    UrlSource,
18    BaseResponse,
19)
20
21
22@dataclass
23class AnalyzeOptions(BaseResponse):  # pylint: disable=too-many-instance-attributes
24    """
25    Contains all the options for the AnalyzeOptions.
26
27    Reference:
28    https://developers.deepgram.com/reference/text-intelligence-apis
29    """
30
31    callback: Optional[str] = field(
32        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
33    )
34    callback_method: Optional[str] = field(
35        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
36    )
37    custom_intent: Optional[Union[List[str], str]] = field(
38        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
39    )
40    custom_intent_mode: Optional[str] = field(
41        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
42    )
43    custom_topic: Optional[Union[List[str], str]] = field(
44        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
45    )
46    custom_topic_mode: Optional[str] = field(
47        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
48    )
49    intents: Optional[bool] = field(
50        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
51    )
52    language: Optional[str] = field(
53        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
54    )
55    sentiment: Optional[bool] = field(
56        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
57    )
58    summarize: Optional[bool] = field(
59        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
60    )
61    topics: Optional[bool] = field(
62        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
63    )
64
65    def check(self):
66        """
67        Check the options for the AnalyzeOptions.
68        """
69        logger = verboselogs.VerboseLogger(__name__)
70        logger.addHandler(logging.StreamHandler())
71        prev = logger.level
72        logger.setLevel(verboselogs.ERROR)
73
74        # no op at the moment
75
76        logger.setLevel(prev)
77
78        return True
79
80
81# unique
82AnalyzeSource = Union[UrlSource, FileSource]
83AnalyzeStreamSource = StreamSource
@dataclass
class AnalyzeOptions(deepgram.clients.common.v1.shared_response.BaseResponse):
23@dataclass
24class AnalyzeOptions(BaseResponse):  # pylint: disable=too-many-instance-attributes
25    """
26    Contains all the options for the AnalyzeOptions.
27
28    Reference:
29    https://developers.deepgram.com/reference/text-intelligence-apis
30    """
31
32    callback: Optional[str] = field(
33        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
34    )
35    callback_method: Optional[str] = field(
36        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
37    )
38    custom_intent: Optional[Union[List[str], str]] = field(
39        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
40    )
41    custom_intent_mode: Optional[str] = field(
42        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
43    )
44    custom_topic: Optional[Union[List[str], str]] = field(
45        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
46    )
47    custom_topic_mode: Optional[str] = field(
48        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
49    )
50    intents: Optional[bool] = field(
51        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
52    )
53    language: Optional[str] = field(
54        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
55    )
56    sentiment: Optional[bool] = field(
57        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
58    )
59    summarize: Optional[bool] = field(
60        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
61    )
62    topics: Optional[bool] = field(
63        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
64    )
65
66    def check(self):
67        """
68        Check the options for the AnalyzeOptions.
69        """
70        logger = verboselogs.VerboseLogger(__name__)
71        logger.addHandler(logging.StreamHandler())
72        prev = logger.level
73        logger.setLevel(verboselogs.ERROR)
74
75        # no op at the moment
76
77        logger.setLevel(prev)
78
79        return True

Contains all the options for the AnalyzeOptions.

Reference: https://developers.deepgram.com/reference/text-intelligence-apis

AnalyzeOptions( callback: Optional[str] = None, callback_method: Optional[str] = None, custom_intent: Union[List[str], str, NoneType] = None, custom_intent_mode: Optional[str] = None, custom_topic: Union[List[str], str, NoneType] = None, custom_topic_mode: Optional[str] = None, intents: Optional[bool] = None, language: Optional[str] = None, sentiment: Optional[bool] = None, summarize: Optional[bool] = None, topics: Optional[bool] = None)
callback: Optional[str] = None
callback_method: Optional[str] = None
custom_intent: Union[List[str], str, NoneType] = None
custom_intent_mode: Optional[str] = None
custom_topic: Union[List[str], str, NoneType] = None
custom_topic_mode: Optional[str] = None
intents: Optional[bool] = None
language: Optional[str] = None
sentiment: Optional[bool] = None
summarize: Optional[bool] = None
topics: Optional[bool] = None
def check(self):
66    def check(self):
67        """
68        Check the options for the AnalyzeOptions.
69        """
70        logger = verboselogs.VerboseLogger(__name__)
71        logger.addHandler(logging.StreamHandler())
72        prev = logger.level
73        logger.setLevel(verboselogs.ERROR)
74
75        # no op at the moment
76
77        logger.setLevel(prev)
78
79        return True

Check the options for the AnalyzeOptions.

AnalyzeStreamSource = <class 'deepgram.clients.common.StreamSource'>