dhisana 0.0.1.dev222__py3-none-any.whl → 0.0.1.dev223__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.
@@ -1,5 +1,4 @@
1
1
  import asyncio
2
- import hashlib
3
2
  import json
4
3
  import logging
5
4
  import os
@@ -8,7 +7,6 @@ import aiohttp
8
7
  import backoff
9
8
 
10
9
  from dhisana.schemas.sales import LeadsQueryFilters, CompanyQueryFilters
11
- from dhisana.utils.cache_output_tools import cache_output, retrieve_output
12
10
  from dhisana.utils.assistant_tool_tag import assistant_tool
13
11
  from urllib.parse import urlparse, parse_qs
14
12
  from typing import Any, Dict, List, Optional, Tuple, Union
@@ -141,10 +139,6 @@ async def enrich_person_info_from_apollo(
141
139
  if linkedin_url:
142
140
  logger.debug(f"LinkedIn URL provided: {linkedin_url}")
143
141
  data['linkedin_url'] = linkedin_url
144
- cached_response = retrieve_output("enrich_person_info_from_apollo", linkedin_url)
145
- if cached_response is not None:
146
- logger.info(f"Cache hit for LinkedIn URL: {linkedin_url}")
147
- return cached_response
148
142
  if email:
149
143
  logger.debug(f"Email provided: {email}")
150
144
  data['email'] = email
@@ -165,8 +159,6 @@ async def enrich_person_info_from_apollo(
165
159
  logger.debug(f"Received response status: {response.status}")
166
160
  if response.status == 200:
167
161
  result = await response.json()
168
- if linkedin_url:
169
- cache_output("enrich_person_info_from_apollo", linkedin_url, result)
170
162
  logger.info("Successfully retrieved person info from Apollo.")
171
163
  return result
172
164
  elif response.status == 429:
@@ -232,16 +224,6 @@ async def lookup_person_in_apollo_by_name(
232
224
  "per_page": 10
233
225
  }
234
226
 
235
- # Build a cache key that includes full_name and company_name (if provided)
236
- # so that results are correctly cached and retrieved.
237
- key_item = f"lookup_person_in_apollo_by_name_{full_name}_{company_name or ''}".lower()
238
-
239
- # Attempt to retrieve a cached response first
240
- cached_response = retrieve_output("lookup_person_in_apollo_by_name", key_item)
241
- if cached_response is not None:
242
- logger.info(f"Cache hit for user: {full_name}, company: {company_name or ''}")
243
- return cached_response
244
-
245
227
  url = 'https://api.apollo.io/api/v1/mixed_people/search'
246
228
  logger.debug(f"Making request to Apollo with payload: {data}")
247
229
 
@@ -252,7 +234,6 @@ async def lookup_person_in_apollo_by_name(
252
234
  if response.status == 200:
253
235
  result = await response.json()
254
236
  logger.info("Successfully looked up person by name on Apollo.")
255
- cache_output("lookup_person_in_apollo_by_name", key_item, result)
256
237
  return result
257
238
  elif response.status == 429:
258
239
  msg = "Rate limit exceeded"
@@ -312,11 +293,6 @@ async def enrich_organization_info_from_apollo(
312
293
  else:
313
294
  headers["X-Api-Key"] = token
314
295
 
315
- cached_response = retrieve_output("enrich_organization_info_from_apollo", organization_domain)
316
- if cached_response is not None:
317
- logger.info(f"Cache hit for organization domain: {organization_domain}")
318
- return cached_response
319
-
320
296
  url = f'https://api.apollo.io/api/v1/organizations/enrich?domain={organization_domain}'
321
297
  logger.debug(f"Making GET request to Apollo for organization domain: {organization_domain}")
322
298
 
@@ -326,7 +302,6 @@ async def enrich_organization_info_from_apollo(
326
302
  logger.debug(f"Received response status: {response.status}")
327
303
  if response.status == 200:
328
304
  result = await response.json()
329
- cache_output("enrich_organization_info_from_apollo", organization_domain, result)
330
305
  logger.info("Successfully retrieved organization info from Apollo.")
331
306
  return result
332
307
  elif response.status == 429:
@@ -358,22 +333,12 @@ async def enrich_organization_info_from_apollo(
358
333
  )
359
334
  async def fetch_apollo_data(session, url: str, headers: Dict[str, str], payload: Dict[str, Any]) -> Optional[Dict[str, Any]]:
360
335
  logger.info("Entering fetch_apollo_data")
361
- key_data = f"{url}_{json.dumps(payload, sort_keys=True)}"
362
- key_hash = hashlib.sha256(key_data.encode()).hexdigest()
363
- logger.debug(f"Cache key hash: {key_hash}")
364
-
365
- cached_response = retrieve_output("fetch_apollo_data", key_hash)
366
- if cached_response is not None:
367
- logger.info("Cache hit for fetch_apollo_data.")
368
- return cached_response
369
-
370
- logger.debug("No cache hit. Making POST request to Apollo.")
336
+ logger.debug("Making POST request to Apollo.")
371
337
  async with session.post(url, headers=headers, json=payload) as response:
372
338
  logger.debug(f"Received response status: {response.status}")
373
339
  if response.status == 200:
374
340
  result = await response.json()
375
- cache_output("fetch_apollo_data", key_hash, result)
376
- logger.info("Successfully fetched data from Apollo and cached it.")
341
+ logger.info("Successfully fetched data from Apollo.")
377
342
  return result
378
343
  elif response.status == 429:
379
344
  msg = "Rate limit exceeded"
@@ -1019,11 +984,6 @@ async def get_organization_details_from_apollo(
1019
984
  else:
1020
985
  headers["X-Api-Key"] = token
1021
986
 
1022
- cached_response = retrieve_output("get_organization_details_from_apollo", organization_id)
1023
- if cached_response is not None:
1024
- logger.info(f"Cache hit for organization ID: {organization_id}")
1025
- return cached_response
1026
-
1027
987
  url = f'https://api.apollo.io/api/v1/organizations/{organization_id}'
1028
988
  logger.debug(f"Making GET request to Apollo for organization ID: {organization_id}")
1029
989
 
@@ -1035,7 +995,6 @@ async def get_organization_details_from_apollo(
1035
995
  result = await response.json()
1036
996
  org_details = result.get('organization', {})
1037
997
  if org_details:
1038
- cache_output("get_organization_details_from_apollo", organization_id, org_details)
1039
998
  logger.info("Successfully retrieved organization details from Apollo.")
1040
999
  return org_details
1041
1000
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dhisana
3
- Version: 0.0.1.dev222
3
+ Version: 0.0.1.dev223
4
4
  Summary: A Python SDK for Dhisana AI Platform
5
5
  Home-page: https://github.com/dhisana-ai/dhisana-python-sdk
6
6
  Author: Admin
@@ -12,7 +12,7 @@ dhisana/ui/components.py,sha256=4NXrAyl9tx2wWwoVYyABO-EOGnreGMvql1AkXWajIIo,1431
12
12
  dhisana/utils/__init__.py,sha256=jv2YF__bseklT3OWEzlqJ5qE24c4aWd5F4r0TTjOrWQ,65
13
13
  dhisana/utils/add_mapping.py,sha256=oq_QNqag86DhgdwINBRRXNx7SOb8Q9M-V0QLP6pTzr8,13837
14
14
  dhisana/utils/agent_tools.py,sha256=pzBFvfhU4wfSB4zv1eiRzjmnteJnfhC5V32r_v1m38Y,2321
15
- dhisana/utils/apollo_tools.py,sha256=aOJYxFlSWaFa_uCt0ZTDEvX6qZTrnAO5NrZgDBYWPN4,66506
15
+ dhisana/utils/apollo_tools.py,sha256=DUg9HQBHwD9ZjqbdLP2QPWxbPSAN7aN2d_Brq4svSg0,64297
16
16
  dhisana/utils/assistant_tool_tag.py,sha256=rYRl8ubLI7fUUIjg30XTefHBkFgRqNEVC12lF6U6Z-8,119
17
17
  dhisana/utils/built_with_api_tools.py,sha256=TFNGhnPb2vFdveVCpjiCvE1WKe_eK95UPpR0Ha5NgMQ,10260
18
18
  dhisana/utils/cache_output_tools.py,sha256=sSAruvUZn-WAJQ0lB9T1QjSmkm-_14AuxC9xKmcCQ0k,3428
@@ -92,8 +92,8 @@ dhisana/workflow/agent.py,sha256=esv7_i_XuMkV2j1nz_UlsHov_m6X5WZZiZm_tG4OBHU,565
92
92
  dhisana/workflow/flow.py,sha256=xWE3qQbM7j2B3FH8XnY3zOL_QXX4LbTW4ArndnEYJE0,1638
93
93
  dhisana/workflow/task.py,sha256=HlWz9mtrwLYByoSnePOemBUBrMEcj7KbgNjEE1oF5wo,1830
94
94
  dhisana/workflow/test.py,sha256=kwW8jWqSBNcRmoyaxlTuZCMOpGJpTbJQgHI7gSjwdzM,3399
95
- dhisana-0.0.1.dev222.dist-info/METADATA,sha256=ahyrM5wSavdXGW7dSp2J-g-GKaFH-DgxqQo_nVsIOGk,1190
96
- dhisana-0.0.1.dev222.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
97
- dhisana-0.0.1.dev222.dist-info/entry_points.txt,sha256=jujxteZmNI9EkEaK-pOCoWuBujU8TCevdkfl9ZcKHek,49
98
- dhisana-0.0.1.dev222.dist-info/top_level.txt,sha256=NETTHt6YifG_P7XtRHbQiXZlgSFk9Qh9aR-ng1XTf4s,8
99
- dhisana-0.0.1.dev222.dist-info/RECORD,,
95
+ dhisana-0.0.1.dev223.dist-info/METADATA,sha256=29qd5ggtvK6g1x6hIG1OOqm8sJPwn8OnPaMgRp60W0k,1190
96
+ dhisana-0.0.1.dev223.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
97
+ dhisana-0.0.1.dev223.dist-info/entry_points.txt,sha256=jujxteZmNI9EkEaK-pOCoWuBujU8TCevdkfl9ZcKHek,49
98
+ dhisana-0.0.1.dev223.dist-info/top_level.txt,sha256=NETTHt6YifG_P7XtRHbQiXZlgSFk9Qh9aR-ng1XTf4s,8
99
+ dhisana-0.0.1.dev223.dist-info/RECORD,,