edx-enterprise-data 8.8.1__py3-none-any.whl → 8.9.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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edx-enterprise-data
3
- Version: 8.8.1
3
+ Version: 8.9.0
4
4
  Summary: Enterprise Reporting
5
5
  Home-page: https://github.com/openedx/edx-enterprise-data
6
6
  Author: edX
@@ -1,4 +1,4 @@
1
- enterprise_data/__init__.py,sha256=SFfjo0qp4b4IjWzit7qM4Eib5E1or2vxpohALjmvTNM,123
1
+ enterprise_data/__init__.py,sha256=Zxnoju6lsQu0H9GDmX4En0Gmk8P-gBTSZJ-96C3W-0E,123
2
2
  enterprise_data/apps.py,sha256=aF6hZwDfI2oWj95tUTm_2ikHueQj-jLj-u0GrgzpsQI,414
3
3
  enterprise_data/clients.py,sha256=GvQupy5TVYfO_IKC3yzXSAgNP54r-PtIjidM5ws9Iks,3947
4
4
  enterprise_data/constants.py,sha256=uCKjfpdlMYFZJsAj3n9RMw4Cmg5_6s3NuwocO-fch3s,238
@@ -8,11 +8,11 @@ enterprise_data/paginators.py,sha256=YPrC5TeXFt-ymenT2H8H2nCbDCnAzJQlH9kFPElRxWE
8
8
  enterprise_data/renderers.py,sha256=9gIzavWspZTk4vDfVKXJtdn0tSZ2xNgkF-Akf7AWIDM,2389
9
9
  enterprise_data/signals.py,sha256=8eqNPnlvmfsKf19lGWv5xTIuBgQIqR8EZSp9UYzC8Rc,1024
10
10
  enterprise_data/urls.py,sha256=bqtKF5OEWEwrNmHG3os-pZNuNsmjlhxEqp7yM4TbPf4,243
11
- enterprise_data/utils.py,sha256=KykylyK9KTauj239-_V5w5iQHQBhFF3iuY3Df7p6Q5E,3017
11
+ enterprise_data/utils.py,sha256=_zK3BErjZSIkP_JNzK8m-DR5pRTnxKylP9I-vURaRcE,3009
12
12
  enterprise_data/admin_analytics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  enterprise_data/admin_analytics/completions_utils.py,sha256=kGmLy7x6aD0coNYgzLa5XzJypLkGTT5clDHLSH_QFDE,9442
14
14
  enterprise_data/admin_analytics/constants.py,sha256=aHDgTHdsjbKNpgtNLDsl4giqhhrRkCGi72ysGIEk0Ao,817
15
- enterprise_data/admin_analytics/data_loaders.py,sha256=YpSyygATVFtItcWlkIHvjsX5Lh1qMw6onDK-ZHP_AUw,5586
15
+ enterprise_data/admin_analytics/data_loaders.py,sha256=4PSsIveNBtpFqwrLUjTl5oywHVYFAMdZrNRHRGMk4XY,6116
16
16
  enterprise_data/admin_analytics/database.py,sha256=mNS_9xE5h6O7oMMzr6kr6LDTTSNvKzo8vaM-YG8tOd8,1312
17
17
  enterprise_data/admin_analytics/utils.py,sha256=CQuTlg36AALJiopp4us-JN8oTXsw-jDXSJenbphLDME,12270
18
18
  enterprise_data/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -159,8 +159,8 @@ enterprise_reporting/tests/test_send_enterprise_reports.py,sha256=WtL-RqGgu2x5PP
159
159
  enterprise_reporting/tests/test_utils.py,sha256=Zt_TA0LVb-B6fQGkUkAKKVlUKKnQh8jnw1US1jKe7g8,9493
160
160
  enterprise_reporting/tests/test_vertica_client.py,sha256=-R2yNCGUjRtoXwLMBloVFQkFYrJoo613VCr61gwI3kQ,140
161
161
  enterprise_reporting/tests/utils.py,sha256=xms2LM7DV3wczXEfctOK1ddel1EE0J_YSr17UzbCDy4,1401
162
- edx_enterprise_data-8.8.1.dist-info/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
163
- edx_enterprise_data-8.8.1.dist-info/METADATA,sha256=hQ_trgT7XN1RJtLpZUIF33MB0ycCnKRAf1aOKxatsWw,1569
164
- edx_enterprise_data-8.8.1.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
165
- edx_enterprise_data-8.8.1.dist-info/top_level.txt,sha256=f5F2kU-dob6MqiHJpgZkFzoCD5VMhsdpkTV5n9Tvq3I,59
166
- edx_enterprise_data-8.8.1.dist-info/RECORD,,
162
+ edx_enterprise_data-8.9.0.dist-info/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
163
+ edx_enterprise_data-8.9.0.dist-info/METADATA,sha256=UTWat3hOmN-XCrlQYPFRaNeyVtqtigs8ZUkDs8dmJWo,1569
164
+ edx_enterprise_data-8.9.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
165
+ edx_enterprise_data-8.9.0.dist-info/top_level.txt,sha256=f5F2kU-dob6MqiHJpgZkFzoCD5VMhsdpkTV5n9Tvq3I,59
166
+ edx_enterprise_data-8.9.0.dist-info/RECORD,,
@@ -2,4 +2,4 @@
2
2
  Enterprise data api application. This Django app exposes API endpoints used by enterprises.
3
3
  """
4
4
 
5
- __version__ = "8.8.1"
5
+ __version__ = "8.9.0"
@@ -1,6 +1,8 @@
1
1
  """
2
2
  Utility functions for fetching data from the database.
3
3
  """
4
+ from logging import getLogger
5
+
4
6
  import numpy
5
7
  import pandas
6
8
 
@@ -9,6 +11,8 @@ from django.http import Http404
9
11
  from enterprise_data.admin_analytics.database import run_query
10
12
  from enterprise_data.utils import timer
11
13
 
14
+ LOGGER = getLogger(__name__)
15
+
12
16
 
13
17
  def get_select_query(table: str, columns: list, enterprise_uuid: str) -> str:
14
18
  """
@@ -68,10 +72,13 @@ def fetch_enrollment_data(enterprise_uuid: str):
68
72
 
69
73
  with timer('fetch_enrollment_data'):
70
74
  results = run_query(query=query)
75
+
71
76
  if not results:
72
77
  raise Http404(f'No enrollment data found for enterprise {enterprise_uuid}')
73
78
 
79
+ LOGGER.info(f'[PLOTLY] Enrollment data fetched successfully. Records: {len(results)}')
74
80
  enrollments = pandas.DataFrame(numpy.array(results), columns=columns)
81
+ LOGGER.info('[PLOTLY] Enrollment data converted to DataFrame.')
75
82
 
76
83
  # Convert date columns to datetime.
77
84
  enrollments['enterprise_enrollment_date'] = enrollments['enterprise_enrollment_date'].astype('datetime64[ns]')
@@ -120,7 +127,9 @@ def fetch_engagement_data(enterprise_uuid: str):
120
127
  if not results:
121
128
  raise Http404(f'No engagement data found for enterprise {enterprise_uuid}')
122
129
 
130
+ LOGGER.info(f'[PLOTLY] Engagement data fetched successfully. Records: {len(results)}')
123
131
  engagement = pandas.DataFrame(numpy.array(results), columns=columns)
132
+ LOGGER.info('[PLOTLY] Engagement data converted to DataFrame.')
124
133
  engagement['activity_date'] = engagement['activity_date'].astype('datetime64[ns]')
125
134
 
126
135
  return engagement
@@ -180,7 +189,9 @@ def fetch_skills_data(enterprise_uuid: str):
180
189
  if not skills:
181
190
  raise Http404(f'No skills data found for enterprise {enterprise_uuid}')
182
191
 
192
+ LOGGER.info(f'[PLOTLY] Skills data fetched successfully. Records: {len(skills)}')
183
193
  skills = pandas.DataFrame(numpy.array(skills), columns=cols)
194
+ LOGGER.info('[PLOTLY] Skills data converted to DataFrame.')
184
195
  skills['date'] = skills['date'].astype('datetime64[ns]')
185
196
 
186
197
  return skills
enterprise_data/utils.py CHANGED
@@ -79,9 +79,8 @@ def timer(prefix):
79
79
  """
80
80
  start = time.time()
81
81
  yield
82
- end = time.time()
83
- difference = end - start
84
- print(f"TIMER:: {prefix} took {difference:.20f} seconds")
82
+ difference = time.time() - start
83
+ LOGGER.info(f"TIMER:: {prefix} took {difference:.20f} seconds")
85
84
 
86
85
 
87
86
  def date_filter(start, end, data_frame, date_column):