File size: 8,548 Bytes
129cd69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
"""**Utilities** are the integrations with third-part systems and packages.

Other LangChain classes use **Utilities** to interact with third-part systems
and packages.
"""
from typing import Any

from langchain.utilities.requests import Requests, RequestsWrapper, TextRequestsWrapper


def _import_alpha_vantage() -> Any:
    from langchain.utilities.alpha_vantage import AlphaVantageAPIWrapper

    return AlphaVantageAPIWrapper


def _import_apify() -> Any:
    from langchain.utilities.apify import ApifyWrapper

    return ApifyWrapper


def _import_arcee() -> Any:
    from langchain.utilities.arcee import ArceeWrapper

    return ArceeWrapper


def _import_arxiv() -> Any:
    from langchain.utilities.arxiv import ArxivAPIWrapper

    return ArxivAPIWrapper


def _import_awslambda() -> Any:
    from langchain.utilities.awslambda import LambdaWrapper

    return LambdaWrapper


def _import_bibtex() -> Any:
    from langchain.utilities.bibtex import BibtexparserWrapper

    return BibtexparserWrapper


def _import_bing_search() -> Any:
    from langchain.utilities.bing_search import BingSearchAPIWrapper

    return BingSearchAPIWrapper


def _import_brave_search() -> Any:
    from langchain.utilities.brave_search import BraveSearchWrapper

    return BraveSearchWrapper


def _import_duckduckgo_search() -> Any:
    from langchain.utilities.duckduckgo_search import DuckDuckGoSearchAPIWrapper

    return DuckDuckGoSearchAPIWrapper


def _import_golden_query() -> Any:
    from langchain.utilities.golden_query import GoldenQueryAPIWrapper

    return GoldenQueryAPIWrapper


def _import_google_places_api() -> Any:
    from langchain.utilities.google_places_api import GooglePlacesAPIWrapper

    return GooglePlacesAPIWrapper


def _import_google_scholar() -> Any:
    from langchain.utilities.google_scholar import GoogleScholarAPIWrapper

    return GoogleScholarAPIWrapper


def _import_google_search() -> Any:
    from langchain.utilities.google_search import GoogleSearchAPIWrapper

    return GoogleSearchAPIWrapper


def _import_google_serper() -> Any:
    from langchain.utilities.google_serper import GoogleSerperAPIWrapper

    return GoogleSerperAPIWrapper


def _import_graphql() -> Any:
    from langchain.utilities.graphql import GraphQLAPIWrapper

    return GraphQLAPIWrapper


def _import_jira() -> Any:
    from langchain.utilities.jira import JiraAPIWrapper

    return JiraAPIWrapper


def _import_max_compute() -> Any:
    from langchain.utilities.max_compute import MaxComputeAPIWrapper

    return MaxComputeAPIWrapper


def _import_metaphor_search() -> Any:
    from langchain.utilities.metaphor_search import MetaphorSearchAPIWrapper

    return MetaphorSearchAPIWrapper


def _import_openweathermap() -> Any:
    from langchain.utilities.openweathermap import OpenWeatherMapAPIWrapper

    return OpenWeatherMapAPIWrapper


def _import_outline() -> Any:
    from langchain.utilities.outline import OutlineAPIWrapper

    return OutlineAPIWrapper


def _import_portkey() -> Any:
    from langchain.utilities.portkey import Portkey

    return Portkey


def _import_powerbi() -> Any:
    from langchain.utilities.powerbi import PowerBIDataset

    return PowerBIDataset


def _import_pubmed() -> Any:
    from langchain.utilities.pubmed import PubMedAPIWrapper

    return PubMedAPIWrapper


def _import_python() -> Any:
    from langchain.utilities.python import PythonREPL

    return PythonREPL


def _import_scenexplain() -> Any:
    from langchain.utilities.scenexplain import SceneXplainAPIWrapper

    return SceneXplainAPIWrapper


def _import_searchapi() -> Any:
    from langchain.utilities.searchapi import SearchApiAPIWrapper

    return SearchApiAPIWrapper


def _import_searx_search() -> Any:
    from langchain.utilities.searx_search import SearxSearchWrapper

    return SearxSearchWrapper


def _import_serpapi() -> Any:
    from langchain.utilities.serpapi import SerpAPIWrapper

    return SerpAPIWrapper


def _import_spark_sql() -> Any:
    from langchain.utilities.spark_sql import SparkSQL

    return SparkSQL


def _import_sql_database() -> Any:
    from langchain.utilities.sql_database import SQLDatabase

    return SQLDatabase


def _import_tensorflow_datasets() -> Any:
    from langchain.utilities.tensorflow_datasets import TensorflowDatasets

    return TensorflowDatasets


def _import_twilio() -> Any:
    from langchain.utilities.twilio import TwilioAPIWrapper

    return TwilioAPIWrapper


def _import_wikipedia() -> Any:
    from langchain.utilities.wikipedia import WikipediaAPIWrapper

    return WikipediaAPIWrapper


def _import_wolfram_alpha() -> Any:
    from langchain.utilities.wolfram_alpha import WolframAlphaAPIWrapper

    return WolframAlphaAPIWrapper


def _import_zapier() -> Any:
    from langchain.utilities.zapier import ZapierNLAWrapper

    return ZapierNLAWrapper


def __getattr__(name: str) -> Any:
    if name == "AlphaVantageAPIWrapper":
        return _import_alpha_vantage()
    elif name == "ApifyWrapper":
        return _import_apify()
    elif name == "ArceeWrapper":
        return _import_arcee()
    elif name == "ArxivAPIWrapper":
        return _import_arxiv()
    elif name == "LambdaWrapper":
        return _import_awslambda()
    elif name == "BibtexparserWrapper":
        return _import_bibtex()
    elif name == "BingSearchAPIWrapper":
        return _import_bing_search()
    elif name == "BraveSearchWrapper":
        return _import_brave_search()
    elif name == "DuckDuckGoSearchAPIWrapper":
        return _import_duckduckgo_search()
    elif name == "GoldenQueryAPIWrapper":
        return _import_golden_query()
    elif name == "GoogleScholarAPIWrapper":
        return _import_google_scholar()
    elif name == "GooglePlacesAPIWrapper":
        return _import_google_places_api()
    elif name == "GoogleSearchAPIWrapper":
        return _import_google_search()
    elif name == "GoogleSerperAPIWrapper":
        return _import_google_serper()
    elif name == "GraphQLAPIWrapper":
        return _import_graphql()
    elif name == "JiraAPIWrapper":
        return _import_jira()
    elif name == "MaxComputeAPIWrapper":
        return _import_max_compute()
    elif name == "MetaphorSearchAPIWrapper":
        return _import_metaphor_search()
    elif name == "OpenWeatherMapAPIWrapper":
        return _import_openweathermap()
    elif name == "OutlineAPIWrapper":
        return _import_outline()
    elif name == "Portkey":
        return _import_portkey()
    elif name == "PowerBIDataset":
        return _import_powerbi()
    elif name == "PubMedAPIWrapper":
        return _import_pubmed()
    elif name == "PythonREPL":
        return _import_python()
    elif name == "SceneXplainAPIWrapper":
        return _import_scenexplain()
    elif name == "SearchApiAPIWrapper":
        return _import_searchapi()
    elif name == "SearxSearchWrapper":
        return _import_searx_search()
    elif name == "SerpAPIWrapper":
        return _import_serpapi()
    elif name == "SparkSQL":
        return _import_spark_sql()
    elif name == "SQLDatabase":
        return _import_sql_database()
    elif name == "TensorflowDatasets":
        return _import_tensorflow_datasets()
    elif name == "TwilioAPIWrapper":
        return _import_twilio()
    elif name == "WikipediaAPIWrapper":
        return _import_wikipedia()
    elif name == "WolframAlphaAPIWrapper":
        return _import_wolfram_alpha()
    elif name == "ZapierNLAWrapper":
        return _import_zapier()
    else:
        raise AttributeError(f"Could not find: {name}")


__all__ = [
    "AlphaVantageAPIWrapper",
    "ApifyWrapper",
    "ArceeWrapper",
    "ArxivAPIWrapper",
    "BibtexparserWrapper",
    "BingSearchAPIWrapper",
    "BraveSearchWrapper",
    "DuckDuckGoSearchAPIWrapper",
    "GoldenQueryAPIWrapper",
    "GooglePlacesAPIWrapper",
    "GoogleScholarAPIWrapper",
    "GoogleSearchAPIWrapper",
    "GoogleSerperAPIWrapper",
    "GraphQLAPIWrapper",
    "JiraAPIWrapper",
    "LambdaWrapper",
    "MaxComputeAPIWrapper",
    "MetaphorSearchAPIWrapper",
    "OpenWeatherMapAPIWrapper",
    "OutlineAPIWrapper",
    "Portkey",
    "PowerBIDataset",
    "PubMedAPIWrapper",
    "PythonREPL",
    "Requests",
    "RequestsWrapper",
    "SQLDatabase",
    "SceneXplainAPIWrapper",
    "SearchApiAPIWrapper",
    "SearxSearchWrapper",
    "SerpAPIWrapper",
    "SparkSQL",
    "TensorflowDatasets",
    "TextRequestsWrapper",
    "TwilioAPIWrapper",
    "WikipediaAPIWrapper",
    "WolframAlphaAPIWrapper",
    "ZapierNLAWrapper",
]