dhisana 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dhisana/__init__.py +1 -0
- dhisana/cli/__init__.py +1 -0
- dhisana/cli/cli.py +20 -0
- dhisana/cli/datasets.py +27 -0
- dhisana/cli/models.py +26 -0
- dhisana/cli/predictions.py +20 -0
- dhisana/utils/__init__.py +1 -0
- dhisana/utils/agent_tools.py +779 -0
- dhisana/utils/tools_json.py +446 -0
- dhisana-0.1.0.dist-info/METADATA +23 -0
- dhisana-0.1.0.dist-info/RECORD +14 -0
- dhisana-0.1.0.dist-info/WHEEL +5 -0
- dhisana-0.1.0.dist-info/entry_points.txt +2 -0
- dhisana-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
global_assistant_tools = [
|
|
2
|
+
{
|
|
3
|
+
"type": "function",
|
|
4
|
+
"function": {
|
|
5
|
+
"name": "search_google_maps",
|
|
6
|
+
"description": "Search for locations on Google Maps.",
|
|
7
|
+
"parameters": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"query": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"description": "The search query, e.g., 'restaurants in New York'."
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"required": ["query"],
|
|
16
|
+
"additionalProperties": False
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"type": "function",
|
|
22
|
+
"function": {
|
|
23
|
+
"name": "enrich_company_with_apollo",
|
|
24
|
+
"description": "Enrich company information with information in apollo.",
|
|
25
|
+
"parameters": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"properties": {
|
|
28
|
+
"company_domain": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "website domain of the company'."
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"required": ["company_domain"],
|
|
34
|
+
"additionalProperties": False
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"type": "function",
|
|
40
|
+
"function": {
|
|
41
|
+
"name": "get_job_postings_from_apollo",
|
|
42
|
+
"description": "Get a list of active job postings for a company using Apollo.io.",
|
|
43
|
+
"parameters": {
|
|
44
|
+
"type": "object",
|
|
45
|
+
"properties": {
|
|
46
|
+
"organization_id": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"description": "The ID of the organization."
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"required": ["organization_id"],
|
|
52
|
+
"additionalProperties": False
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"type": "function",
|
|
58
|
+
"function": {
|
|
59
|
+
"name": "search_companies_with_apollo",
|
|
60
|
+
"description": "Search for companies on Apollo.io using various filters.",
|
|
61
|
+
"parameters": {
|
|
62
|
+
"type": "object",
|
|
63
|
+
"properties": {
|
|
64
|
+
"locations": {
|
|
65
|
+
"anyOf": [
|
|
66
|
+
{ "type": "string" },
|
|
67
|
+
{ "type": "array", "items": { "type": "string" } }
|
|
68
|
+
],
|
|
69
|
+
"description": "Locations to filter by. (e.g., 'San Jose', ['Seattle', 'New York'])"
|
|
70
|
+
},
|
|
71
|
+
"industries": {
|
|
72
|
+
"anyOf": [
|
|
73
|
+
{ "type": "string" },
|
|
74
|
+
{ "type": "array", "items": { "type": "string" } }
|
|
75
|
+
],
|
|
76
|
+
"description": "Industry sectors to filter by. (e.g., 'Manufacturing', ['Bio Medical', 'Defense'])"
|
|
77
|
+
},
|
|
78
|
+
"employee_size_ranges": {
|
|
79
|
+
"anyOf": [
|
|
80
|
+
{ "type": "string" },
|
|
81
|
+
{ "type": "array", "items": { "type": "string" } }
|
|
82
|
+
],
|
|
83
|
+
"description": "Employee size of company to filter by eg (e.g., '50,100', ['1,10', '101,200' ])."
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
"required": [],
|
|
87
|
+
"additionalProperties": False
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"type": "function",
|
|
93
|
+
"function": {
|
|
94
|
+
"name": "enrich_people_with_apollo",
|
|
95
|
+
"description": "Enrich a list of people's information using Apollo.io.",
|
|
96
|
+
"parameters": {
|
|
97
|
+
"type": "object",
|
|
98
|
+
"properties": {
|
|
99
|
+
"lead_list": {
|
|
100
|
+
"type": "array",
|
|
101
|
+
"items": {
|
|
102
|
+
"type": "object",
|
|
103
|
+
"properties": {
|
|
104
|
+
"first_name": {
|
|
105
|
+
"type": "string",
|
|
106
|
+
"description": "The person's first name."
|
|
107
|
+
},
|
|
108
|
+
"last_name": {
|
|
109
|
+
"type": "string",
|
|
110
|
+
"description": "The person's last name."
|
|
111
|
+
},
|
|
112
|
+
"name": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"description": "The person's full name."
|
|
115
|
+
},
|
|
116
|
+
"email": {
|
|
117
|
+
"type": "string",
|
|
118
|
+
"description": "The person's email address."
|
|
119
|
+
},
|
|
120
|
+
"hashed_email": {
|
|
121
|
+
"type": "string",
|
|
122
|
+
"description": "The hashed email of the person."
|
|
123
|
+
},
|
|
124
|
+
"organization_name": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"description": "The person's organization name."
|
|
127
|
+
},
|
|
128
|
+
"domain": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"description": "The organization's domain name."
|
|
131
|
+
},
|
|
132
|
+
"id": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"description": "The person's unique identifier."
|
|
135
|
+
},
|
|
136
|
+
"linkedin_url": {
|
|
137
|
+
"type": "string",
|
|
138
|
+
"description": "The person's LinkedIn URL."
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"additionalProperties": False
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"required": ["lead_list"],
|
|
146
|
+
"additionalProperties": False
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"type": "function",
|
|
152
|
+
"function": {
|
|
153
|
+
"name": "search_google",
|
|
154
|
+
"description": "Search for information on Google Search.",
|
|
155
|
+
"parameters": {
|
|
156
|
+
"type": "object",
|
|
157
|
+
"properties": {
|
|
158
|
+
"query": {
|
|
159
|
+
"type": "string",
|
|
160
|
+
"description": "The search query, e.g., 'weather tomorrow'."
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
"required": ["query"],
|
|
164
|
+
"additionalProperties": False
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"type": "function",
|
|
170
|
+
"function": {
|
|
171
|
+
"name": "search_google_jobs",
|
|
172
|
+
"description": "Search for jobs on Google Jobs.",
|
|
173
|
+
"parameters": {
|
|
174
|
+
"type": "object",
|
|
175
|
+
"properties": {
|
|
176
|
+
"query": {
|
|
177
|
+
"type": "string",
|
|
178
|
+
"description": "The search query, e.g., 'software engineer jobs in San Francisco'."
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
"required": ["query"],
|
|
182
|
+
"additionalProperties": False
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"type": "function",
|
|
188
|
+
"function": {
|
|
189
|
+
"name": "search_google_news",
|
|
190
|
+
"description": "Search for news articles on Google News.",
|
|
191
|
+
"parameters": {
|
|
192
|
+
"type": "object",
|
|
193
|
+
"properties": {
|
|
194
|
+
"query": {
|
|
195
|
+
"type": "string",
|
|
196
|
+
"description": "The search query, e.g., 'latest tech news'."
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
"required": ["query"],
|
|
200
|
+
"additionalProperties": False
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"type": "function",
|
|
206
|
+
"function": {
|
|
207
|
+
"name": "get_html_content_from_url",
|
|
208
|
+
"description": "Retrieve the HTML content from a given URL.",
|
|
209
|
+
"parameters": {
|
|
210
|
+
"type": "object",
|
|
211
|
+
"properties": {
|
|
212
|
+
"url": {
|
|
213
|
+
"type": "string",
|
|
214
|
+
"description": "The URL of the webpage to fetch."
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"required": ["url"],
|
|
218
|
+
"additionalProperties": False
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"type": "function",
|
|
224
|
+
"function": {
|
|
225
|
+
"name": "parse_html_content",
|
|
226
|
+
"description": "Parse HTML content and extract text.",
|
|
227
|
+
"parameters": {
|
|
228
|
+
"type": "object",
|
|
229
|
+
"properties": {
|
|
230
|
+
"html_content": {
|
|
231
|
+
"type": "string",
|
|
232
|
+
"description": "The HTML content to parse."
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"required": ["html_content"],
|
|
236
|
+
"additionalProperties": False
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"type": "function",
|
|
242
|
+
"function": {
|
|
243
|
+
"name": "extract_image_links",
|
|
244
|
+
"description": "Extract image links from HTML content.",
|
|
245
|
+
"parameters": {
|
|
246
|
+
"type": "object",
|
|
247
|
+
"properties": {
|
|
248
|
+
"html_content": {
|
|
249
|
+
"type": "string",
|
|
250
|
+
"description": "The HTML content to parse."
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
"required": ["html_content"],
|
|
254
|
+
"additionalProperties": False
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"type": "function",
|
|
260
|
+
"function": {
|
|
261
|
+
"name": "extract_head_section_from_html_content",
|
|
262
|
+
"description": "Extract the <head> section from HTML content.",
|
|
263
|
+
"parameters": {
|
|
264
|
+
"type": "object",
|
|
265
|
+
"properties": {
|
|
266
|
+
"html_content": {
|
|
267
|
+
"type": "string",
|
|
268
|
+
"description": "The HTML content to parse."
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
"required": ["html_content"],
|
|
272
|
+
"additionalProperties": False
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
"type": "function",
|
|
278
|
+
"function": {
|
|
279
|
+
"name": "get_email_if_exists",
|
|
280
|
+
"description": "Extract an email address if it exists in the given content.",
|
|
281
|
+
"parameters": {
|
|
282
|
+
"type": "object",
|
|
283
|
+
"properties": {
|
|
284
|
+
"website_content": {
|
|
285
|
+
"type": "string",
|
|
286
|
+
"description": "The text content to search for an email address."
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
"required": ["website_content"],
|
|
290
|
+
"additionalProperties": False
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"type": "function",
|
|
296
|
+
"function": {
|
|
297
|
+
"name": "search_crunchbase",
|
|
298
|
+
"description": "Search for organizations on Crunchbase.",
|
|
299
|
+
"parameters": {
|
|
300
|
+
"type": "object",
|
|
301
|
+
"properties": {
|
|
302
|
+
"query": {
|
|
303
|
+
"type": "string",
|
|
304
|
+
"description": "The organization name to search for."
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
"required": ["query"],
|
|
308
|
+
"additionalProperties": False
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"type": "function",
|
|
314
|
+
"function": {
|
|
315
|
+
"name": "search_people_with_apollo",
|
|
316
|
+
"description": "Search for people on Apollo.io using various filters.",
|
|
317
|
+
"parameters": {
|
|
318
|
+
"type": "object",
|
|
319
|
+
"properties": {
|
|
320
|
+
"person_titles": {
|
|
321
|
+
"type": ["string", "array"],
|
|
322
|
+
"items": {
|
|
323
|
+
"type": "string"
|
|
324
|
+
},
|
|
325
|
+
"description": "Titles of the person to filter by (e.g., ['Sales Manager', 'Engineer', 'Director'])."
|
|
326
|
+
},
|
|
327
|
+
"q_keywords": {
|
|
328
|
+
"type": "string",
|
|
329
|
+
"description": "A string of words over which we want to filter the results (e.g., 'Operations Manager, Production Manager')."
|
|
330
|
+
},
|
|
331
|
+
"person_locations": {
|
|
332
|
+
"type": ["string", "array"],
|
|
333
|
+
"items": {
|
|
334
|
+
"type": "string"
|
|
335
|
+
},
|
|
336
|
+
"description": "Locations of the person to filter by (e.g., ['California, US', 'Minnesota, US'])."
|
|
337
|
+
},
|
|
338
|
+
"person_seniorities": {
|
|
339
|
+
"type": ["string", "array"],
|
|
340
|
+
"items": {
|
|
341
|
+
"type": "string"
|
|
342
|
+
},
|
|
343
|
+
"description": "Seniorities or levels (e.g., ['manager', 'director', 'ceo'])."
|
|
344
|
+
},
|
|
345
|
+
"organization_locations": {
|
|
346
|
+
"type": ["string", "array"],
|
|
347
|
+
"items": {
|
|
348
|
+
"type": "string"
|
|
349
|
+
},
|
|
350
|
+
"description": "Locations of the organization (e.g., ['Minnesota, US', 'California, US'])."
|
|
351
|
+
},
|
|
352
|
+
"organization_num_employees_ranges": {
|
|
353
|
+
"type": ["string", "array"],
|
|
354
|
+
"items": {
|
|
355
|
+
"type": "string"
|
|
356
|
+
},
|
|
357
|
+
"description": "Employee size ranges of the organization (e.g., ['101,200', '200,500'])."
|
|
358
|
+
},
|
|
359
|
+
"q_organization_domains": {
|
|
360
|
+
"type": ["string", "array"],
|
|
361
|
+
"items": {
|
|
362
|
+
"type": "string"
|
|
363
|
+
},
|
|
364
|
+
"description": "Domains of the organizations to filter by (e.g., ['apollo.io', 'facebook.com']). Organization domain is company domain like facebook.com."
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
"required": [],
|
|
368
|
+
"additionalProperties": False
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"type": "function",
|
|
374
|
+
"function": {
|
|
375
|
+
"name": "get_file_content_from_googledrive_by_name",
|
|
376
|
+
"description": "Searches for a file by name in Google Drive using a service account, downloads it, saves it with a unique filename, and returns the local file path.",
|
|
377
|
+
"parameters": {
|
|
378
|
+
"type": "object",
|
|
379
|
+
"properties": {
|
|
380
|
+
"file_name": {
|
|
381
|
+
"type": "string",
|
|
382
|
+
"description": "The name of the file to search for and download from Google Drive."
|
|
383
|
+
}
|
|
384
|
+
},
|
|
385
|
+
"required": ["file_name"],
|
|
386
|
+
"additionalProperties": False
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"type": "function",
|
|
392
|
+
"function": {
|
|
393
|
+
"name": "send_email_using_service_account",
|
|
394
|
+
"description": "Sends an email using the Gmail API with a service account. The service account must have domain-wide delegation to impersonate the sender.",
|
|
395
|
+
"parameters": {
|
|
396
|
+
"type": "object",
|
|
397
|
+
"properties": {
|
|
398
|
+
"sender": {
|
|
399
|
+
"type": "string",
|
|
400
|
+
"description": "The email address of the sender (must be a user in the domain)."
|
|
401
|
+
},
|
|
402
|
+
"recipient": {
|
|
403
|
+
"type": "string",
|
|
404
|
+
"description": "The email address of the recipient."
|
|
405
|
+
},
|
|
406
|
+
"subject": {
|
|
407
|
+
"type": "string",
|
|
408
|
+
"description": "The subject of the email."
|
|
409
|
+
},
|
|
410
|
+
"body": {
|
|
411
|
+
"type": "string",
|
|
412
|
+
"description": "The body text of the email."
|
|
413
|
+
}
|
|
414
|
+
},
|
|
415
|
+
"required": ["sender", "recipient", "subject", "body"],
|
|
416
|
+
"additionalProperties": False
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"type": "function",
|
|
422
|
+
"function": {
|
|
423
|
+
"name": "get_calendar_events_using_service_account",
|
|
424
|
+
"description": "Retrieves a list of events from a user's Google Calendar using a service account. Events are filtered based on the provided start and end date range.",
|
|
425
|
+
"parameters": {
|
|
426
|
+
"type": "object",
|
|
427
|
+
"properties": {
|
|
428
|
+
"user_email": {
|
|
429
|
+
"type": "string",
|
|
430
|
+
"description": "The email address of the user whose calendar events are to be retrieved."
|
|
431
|
+
},
|
|
432
|
+
"start_date": {
|
|
433
|
+
"type": "string",
|
|
434
|
+
"description": "The start date (inclusive) to filter events. Format: 'YYYY-MM-DD'."
|
|
435
|
+
},
|
|
436
|
+
"end_date": {
|
|
437
|
+
"type": "string",
|
|
438
|
+
"description": "The end date (exclusive) to filter events. Format: 'YYYY-MM-DD'."
|
|
439
|
+
}
|
|
440
|
+
},
|
|
441
|
+
"required": ["user_email", "start_date", "end_date"],
|
|
442
|
+
"additionalProperties": False
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: dhisana
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: A Python SDK for Dhisana AI Platform
|
|
5
|
+
Home-page: https://github.com/dhisana-ai/dhisana-python-sdk
|
|
6
|
+
Author: Admin
|
|
7
|
+
Author-email: contact@dhisana.ai
|
|
8
|
+
License: MIT
|
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
|
10
|
+
Classifier: Intended Audience :: Developers
|
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
13
|
+
Requires-Python: >=3.8
|
|
14
|
+
Requires-Dist: bs4
|
|
15
|
+
Requires-Dist: click>=7.0
|
|
16
|
+
Requires-Dist: fastapi
|
|
17
|
+
Requires-Dist: google-api-python-client
|
|
18
|
+
Requires-Dist: google-auth
|
|
19
|
+
Requires-Dist: openai
|
|
20
|
+
Requires-Dist: playwright
|
|
21
|
+
Requires-Dist: requests
|
|
22
|
+
Requires-Dist: uvicorn[standard]
|
|
23
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
dhisana/__init__.py,sha256=jv2YF__bseklT3OWEzlqJ5qE24c4aWd5F4r0TTjOrWQ,65
|
|
2
|
+
dhisana/cli/__init__.py,sha256=jv2YF__bseklT3OWEzlqJ5qE24c4aWd5F4r0TTjOrWQ,65
|
|
3
|
+
dhisana/cli/cli.py,sha256=mYoY2KjgDCOV2n1Wdx0yt7HrielK9eWvKsxDFrnZPT8,385
|
|
4
|
+
dhisana/cli/datasets.py,sha256=OwzoCrVQqmh0pKpUAKAg_w9uGYncbWU7ZrAL_QukxAk,839
|
|
5
|
+
dhisana/cli/models.py,sha256=IzUFZW_X32mL3fpM1_j4q8AF7v5nrxJcxBoqvG-TTgA,706
|
|
6
|
+
dhisana/cli/predictions.py,sha256=VYgoLK1Ksv6MFImoYZqjQJkds7e5Hso65dHwbxTNNzE,646
|
|
7
|
+
dhisana/utils/__init__.py,sha256=jv2YF__bseklT3OWEzlqJ5qE24c4aWd5F4r0TTjOrWQ,65
|
|
8
|
+
dhisana/utils/agent_tools.py,sha256=iehLlGkWLxnudlWDjrUhxg-9AEq6EomVYknBeuXWn4E,29177
|
|
9
|
+
dhisana/utils/tools_json.py,sha256=-OSs1RrOXewzj8VOk0fDSyV0-wggst1YJY3fmDHyLcE,17307
|
|
10
|
+
dhisana-0.1.0.dist-info/METADATA,sha256=xACGn8EK7qqb3vmiRaQVy3XaI9_ooilNMbFnESmcHcg,670
|
|
11
|
+
dhisana-0.1.0.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
|
12
|
+
dhisana-0.1.0.dist-info/entry_points.txt,sha256=jujxteZmNI9EkEaK-pOCoWuBujU8TCevdkfl9ZcKHek,49
|
|
13
|
+
dhisana-0.1.0.dist-info/top_level.txt,sha256=NETTHt6YifG_P7XtRHbQiXZlgSFk9Qh9aR-ng1XTf4s,8
|
|
14
|
+
dhisana-0.1.0.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
dhisana
|