maisaedu-utilities-prefect 1.2.58__tar.gz → 1.2.60__tar.gz

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.
Files changed (72) hide show
  1. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/PKG-INFO +1 -1
  2. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/database/athena.py +15 -8
  3. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/email_events.py +14 -30
  4. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect.egg-info/PKG-INFO +1 -1
  5. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/setup.py +1 -1
  6. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/LICENSE +0 -0
  7. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/__init__.py +0 -0
  8. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/azure_blob_service/__init__.py +0 -0
  9. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/azure_blob_service/azureBlobService.py +0 -0
  10. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/constants/__init__.py +0 -0
  11. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/constants/env.py +0 -0
  12. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/constants/notification.py +0 -0
  13. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/constants/redshift.py +0 -0
  14. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/constants/selenium.py +0 -0
  15. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/database/__init__.py +0 -0
  16. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/database/postgres.py +0 -0
  17. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/dw.py +0 -0
  18. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/googlesheet/__init__.py +0 -0
  19. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/googlesheet/gspread.py +0 -0
  20. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/__init__.py +0 -0
  21. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/associations.py +0 -0
  22. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/company.py +0 -0
  23. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/contacts.py +0 -0
  24. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/contacts_lists.py +0 -0
  25. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/deals.py +0 -0
  26. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/form_submission_events.py +0 -0
  27. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/forms.py +0 -0
  28. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/forms_submissions.py +0 -0
  29. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/landing_pages.py +0 -0
  30. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/lineItems.py +0 -0
  31. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/marketing_emails.py +0 -0
  32. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/objects.py +0 -0
  33. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/owners.py +0 -0
  34. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/pipelines.py +0 -0
  35. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/tickets.py +0 -0
  36. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/hubspot/users.py +0 -0
  37. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/llm/__init__.py +0 -0
  38. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/llm/service/__init__.py +0 -0
  39. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/llm/service/llm_service.py +0 -0
  40. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/notification.py +0 -0
  41. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/one_drive/__init__.py +0 -0
  42. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/one_drive/document_handling.py +0 -0
  43. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/one_drive/extractor.py +0 -0
  44. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/__init__.py +0 -0
  45. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/models/__init__.py +0 -0
  46. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/models/adminGroupModel.py +0 -0
  47. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/models/datasetDatasourceModel.py +0 -0
  48. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/models/datasetRefreshScheduleModel.py +0 -0
  49. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/models/datasourceModel.py +0 -0
  50. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/models/gatewayModel.py +0 -0
  51. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/services/__init__.py +0 -0
  52. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/services/activityLogsService.py +0 -0
  53. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/services/adminGroupsService.py +0 -0
  54. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/services/client.py +0 -0
  55. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/services/datasetService.py +0 -0
  56. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/services/datasourceService.py +0 -0
  57. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/services/gatewayService.py +0 -0
  58. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/powerbi_api/services/userService.py +0 -0
  59. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/prefect_api/__init__.py +0 -0
  60. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/prefect_api/flows.py +0 -0
  61. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/scripts/flow-mem-limit +0 -0
  62. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/scripts/refresh-secrets +0 -0
  63. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/secrets.py +0 -0
  64. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/selenium/__init__.py +0 -0
  65. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/selenium/service/__init__.py +0 -0
  66. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/tunnel.py +0 -0
  67. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect/utils.py +0 -0
  68. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect.egg-info/SOURCES.txt +0 -0
  69. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect.egg-info/dependency_links.txt +0 -0
  70. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect.egg-info/requires.txt +0 -0
  71. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/maisaedu_utilities_prefect.egg-info/top_level.txt +0 -0
  72. {maisaedu_utilities_prefect-1.2.58 → maisaedu_utilities_prefect-1.2.60}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: maisaedu_utilities_prefect
3
- Version: 1.2.58
3
+ Version: 1.2.60
4
4
  Summary: Utilities for interaction with Prefect, for +A Education
5
5
  Home-page: UNKNOWN
6
6
  Author: A+ Educação
@@ -5,10 +5,11 @@ import pandas as pd
5
5
  from botocore.exceptions import ClientError
6
6
 
7
7
  def aws_client_factory(
8
- aws_access_key: str,
9
- aws_secret_key: str,
8
+ aws_access_key: str = None,
9
+ aws_secret_key: str = None,
10
10
  aws_region: str = 'us-east-1',
11
- type: str = 'athena'
11
+ type: str = 'athena',
12
+ profile_name: str = None
12
13
  ):
13
14
  """
14
15
  Factory function to create and return initialized AWS Athena and S3 clients.
@@ -30,11 +31,17 @@ def aws_client_factory(
30
31
  Initialized AWS client for Athena or S3 based on the type specified.
31
32
  """
32
33
 
33
- session = boto3.Session(
34
- aws_access_key_id=aws_access_key,
35
- aws_secret_access_key=aws_secret_key,
36
- region_name=aws_region
37
- )
34
+ if aws_access_key is not None and aws_secret_key is not None:
35
+ session = boto3.Session(
36
+ aws_access_key_id=aws_access_key,
37
+ aws_secret_access_key=aws_secret_key,
38
+ region_name=aws_region
39
+ )
40
+ elif profile_name is not None:
41
+ session = boto3.Session(profile_name=profile_name, region_name=aws_region)
42
+ else:
43
+ session = boto3.Session(region_name=aws_region)
44
+
38
45
  if type == 'athena':
39
46
  return session.client('athena')
40
47
  elif type == 's3':
@@ -2,8 +2,7 @@ import requests
2
2
  import json
3
3
  import urllib
4
4
  import time
5
- import prefect
6
-
5
+ from retry import retry
7
6
 
8
7
  def get_events(
9
8
  api_key,
@@ -43,6 +42,15 @@ def get_events(
43
42
  return response_dict
44
43
 
45
44
 
45
+ @retry(tries=5, delay=30)
46
+ def get_data(api_key, app_private_token, start_timestamp, end_timestamp, offset, limit):
47
+ resp = get_events(
48
+ api_key, app_private_token, start_timestamp, end_timestamp, offset, limit
49
+ )
50
+
51
+ return resp["events"], resp['hasMore'], resp['offset']
52
+
53
+
46
54
  def get_all_email_events(
47
55
  api_key, app_private_token, start_timestamp=None, end_timestamp=None, limit=1000
48
56
  ):
@@ -50,32 +58,8 @@ def get_all_email_events(
50
58
  has_more = True
51
59
  attempts = 0
52
60
  while has_more:
53
- resp = get_events(
54
- api_key, app_private_token, start_timestamp, end_timestamp, offset, limit
55
- )
56
-
57
- try:
58
- if "hasMore" in resp and "offset" in resp:
59
- attempts = 0
60
- has_more = resp["hasMore"]
61
- offset = resp["offset"]
61
+ events, has_more, offset = get_data(api_key, app_private_token, start_timestamp, end_timestamp, offset, limit)
62
62
 
63
- yield resp["events"]
64
- else:
65
- attempts += 1
66
- if attempts > 3:
67
- has_more = False
68
- except Exception as e:
69
- if (
70
- isinstance(e, TypeError)
71
- and "errorType" in e
72
- and e["errorType"] == "RATE_LIMIT"
73
- ):
74
- print(e)
75
- print(resp)
76
- time.sleep(10)
77
- else:
78
- prefect.get_run_logger().error("Failed")
79
- prefect.get_run_logger().error(e)
80
- prefect.get_run_logger().error(resp)
81
- raise e
63
+ yield events
64
+ if has_more:
65
+ offset = offset
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: maisaedu-utilities-prefect
3
- Version: 1.2.58
3
+ Version: 1.2.60
4
4
  Summary: Utilities for interaction with Prefect, for +A Education
5
5
  Home-page: UNKNOWN
6
6
  Author: A+ Educação
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="maisaedu_utilities_prefect",
5
- version="1.2.58",
5
+ version="1.2.60",
6
6
  description="Utilities for interaction with Prefect, for +A Education",
7
7
  license="MIT License",
8
8
  author="A+ Educação",