edx-enterprise-data 10.6.0__tar.gz → 10.7.0__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 (201) hide show
  1. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/CHANGELOG.rst +8 -0
  2. {edx_enterprise_data-10.6.0/edx_enterprise_data.egg-info → edx_enterprise_data-10.7.0}/PKG-INFO +1 -1
  3. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0/edx_enterprise_data.egg-info}/PKG-INFO +1 -1
  4. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/edx_enterprise_data.egg-info/SOURCES.txt +1 -0
  5. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/__init__.py +1 -1
  6. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/database/queries/fact_enrollment_admin_dash.py +1 -0
  7. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v1/serializers.py +3 -3
  8. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v1/views/enterprise_learner.py +3 -3
  9. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/tests/test_create_enterprise_learner_enrollment_lpr_v1.py +4 -0
  10. edx_enterprise_data-10.7.0/enterprise_data/migrations/0045_alter_enterpriseexecedlcmoduleperformance_options_and_more.py +27 -0
  11. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/models.py +2 -0
  12. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/renderers.py +3 -3
  13. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/test_utils.py +4 -0
  14. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/base.txt +6 -6
  15. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/dev.txt +8 -8
  16. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/quality.txt +8 -8
  17. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/test-master.txt +6 -6
  18. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/test-reporting.txt +4 -4
  19. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/test.txt +6 -6
  20. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/LICENSE +0 -0
  21. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/MANIFEST.in +0 -0
  22. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/README.md +0 -0
  23. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/edx_enterprise_data.egg-info/dependency_links.txt +0 -0
  24. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/edx_enterprise_data.egg-info/not-zip-safe +0 -0
  25. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/edx_enterprise_data.egg-info/requires.txt +0 -0
  26. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/edx_enterprise_data.egg-info/top_level.txt +0 -0
  27. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/__init__.py +0 -0
  28. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/constants.py +0 -0
  29. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/data_loaders.py +0 -0
  30. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/database/__init__.py +0 -0
  31. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/database/queries/__init__.py +0 -0
  32. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/database/queries/fact_engagement_admin_dash.py +0 -0
  33. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/database/queries/skills_daily_rollup_admin_dash.py +0 -0
  34. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/database/tables/__init__.py +0 -0
  35. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/database/tables/base.py +0 -0
  36. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/database/tables/fact_engagement_admin_dash.py +0 -0
  37. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/database/tables/fact_enrollment_admin_dash.py +0 -0
  38. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/database/tables/skills_daily_rollup_admin_dash.py +0 -0
  39. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/admin_analytics/database/utils.py +0 -0
  40. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/__init__.py +0 -0
  41. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/urls.py +0 -0
  42. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v0/__init__.py +0 -0
  43. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v0/serializers.py +0 -0
  44. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v0/urls.py +0 -0
  45. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v0/views.py +0 -0
  46. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v1/__init__.py +0 -0
  47. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v1/urls.py +0 -0
  48. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v1/views/__init__.py +0 -0
  49. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v1/views/analytics_completions.py +0 -0
  50. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v1/views/analytics_engagements.py +0 -0
  51. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v1/views/analytics_enrollments.py +0 -0
  52. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v1/views/analytics_leaderboard.py +0 -0
  53. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v1/views/base.py +0 -0
  54. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v1/views/enterprise_admin.py +0 -0
  55. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/api/v1/views/enterprise_offers.py +0 -0
  56. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/apps.py +0 -0
  57. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/cache/__init__.py +0 -0
  58. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/cache/decorators.py +0 -0
  59. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/clients.py +0 -0
  60. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/constants.py +0 -0
  61. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/filters.py +0 -0
  62. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/fixtures/enterprise_enrollment.json +0 -0
  63. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/fixtures/enterprise_user.json +0 -0
  64. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/__init__.py +0 -0
  65. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/__init__.py +0 -0
  66. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/create_dummy_data.py +0 -0
  67. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/create_dummy_data_lpr_v1.py +0 -0
  68. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/create_enterprise_enrollment.py +0 -0
  69. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/create_enterprise_learner_enrollment_lpr_v1.py +0 -0
  70. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/create_enterprise_learner_lpr_v1.py +0 -0
  71. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/create_enterprise_offer.py +0 -0
  72. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/create_enterprise_user.py +0 -0
  73. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/pre_warm_analytics_cache.py +0 -0
  74. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/tests/__init__.py +0 -0
  75. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/tests/test_create_dummy_data_lpr_v1.py +0 -0
  76. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/tests/test_create_enterprise_enrollment.py +0 -0
  77. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/tests/test_create_enterprise_learner_lpr_v1.py +0 -0
  78. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/tests/test_create_enterprise_user.py +0 -0
  79. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/management/commands/tests/test_pre_warm_analytics_cache.py +0 -0
  80. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0001_initial.py +0 -0
  81. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0002_auto_20180430_1358.py +0 -0
  82. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0003_auto_20180501_0603.py +0 -0
  83. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0004_auto_20180501_0928.py +0 -0
  84. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0004_auto_20180508_1652.py +0 -0
  85. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0005_auto_20180524_2204.py +0 -0
  86. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0006_auto_20180612_0336.py +0 -0
  87. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0007_auto_20180612_0534.py +0 -0
  88. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0008_auto_20180614_0108.py +0 -0
  89. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0009_auto_20180628_1152.py +0 -0
  90. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0010_enterpriseenrollment_created.py +0 -0
  91. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0011_enterpriseuser.py +0 -0
  92. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0012_auto_20180831_1930.py +0 -0
  93. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0013_auto_20180831_1931.py +0 -0
  94. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0014_enterpriseuser_created.py +0 -0
  95. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0015_auto_20180907_1757.py +0 -0
  96. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0016_auto_20180924_2138.py +0 -0
  97. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0017_enterpriseenrollment_unenrollment_timestamp.py +0 -0
  98. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0018_enterprisedatafeaturerole_enterprisedataroleassignment.py +0 -0
  99. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0019_add_enterprise_data_feature_roles.py +0 -0
  100. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0020_add_role_based_access_control_switch.py +0 -0
  101. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0021_auto_20190329_1241.py +0 -0
  102. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0022_remove_role_based_access_control_switch.py +0 -0
  103. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0023_enterpriselearner_enterpriselearnerenrollment.py +0 -0
  104. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0024_auto_20210602_1811.py +0 -0
  105. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0025_auto_20210703_1854.py +0 -0
  106. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0026_auto_20210916_0414.py +0 -0
  107. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0027_enterpriselearnerenrollment_total_learning_time_seconds.py +0 -0
  108. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0028_enterpriselearnerenrollment_offer_id.py +0 -0
  109. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0029_enterpriseoffer.py +0 -0
  110. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0030_auto_20230609_1353.py +0 -0
  111. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0031_auto_20230615_0705.py +0 -0
  112. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0032_auto_20230704_0818.py +0 -0
  113. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0033_enterpriseadminlearnerprogress_enterpriseadminsummarizeinsights.py +0 -0
  114. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0034_auto_20230907_0834.py +0 -0
  115. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0035_auto_20230907_1154.py +0 -0
  116. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0036_enterprisesubsidybudget_subsidy_access_policy_display_name.py +0 -0
  117. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0037_alter_enterpriseenrollment_consent_granted.py +0 -0
  118. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0038_enterpriseoffer_export_timestamp.py +0 -0
  119. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0039_auto_20240212_1403.py +0 -0
  120. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0040_auto_20240718_0536_squashed_0043_alter_enterpriselearnerenrollment_enterprise_enrollment_id.py +0 -0
  121. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/0044_enterpriseexecedlcmoduleperformance.py +0 -0
  122. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/migrations/__init__.py +0 -0
  123. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/paginators.py +0 -0
  124. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/settings/__init__.py +0 -0
  125. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/settings/test.py +0 -0
  126. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/signals.py +0 -0
  127. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/__init__.py +0 -0
  128. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/admin_analytics/__init__.py +0 -0
  129. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/admin_analytics/mock_analytics_data.py +0 -0
  130. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/admin_analytics/mock_enrollments.py +0 -0
  131. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/admin_analytics/test_analytics_engagements.py +0 -0
  132. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/admin_analytics/test_analytics_enrollments.py +0 -0
  133. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/admin_analytics/test_analytics_leaderboard.py +0 -0
  134. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/admin_analytics/test_data_loaders.py +0 -0
  135. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/admin_analytics/test_enterprise_completions.py +0 -0
  136. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/api/__init__.py +0 -0
  137. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/api/v0/__init__.py +0 -0
  138. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/api/v0/test_serializers.py +0 -0
  139. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/api/v1/__init__.py +0 -0
  140. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/api/v1/test_serializers.py +0 -0
  141. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/api/v1/test_views.py +0 -0
  142. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/api/v1/views/__init__.py +0 -0
  143. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/api/v1/views/test_enterprise_admin.py +0 -0
  144. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/factories.py +0 -0
  145. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/mixins.py +0 -0
  146. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/test_clients.py +0 -0
  147. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/test_filters.py +0 -0
  148. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/test_models.py +0 -0
  149. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/tests/test_views.py +0 -0
  150. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/urls.py +0 -0
  151. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data/utils.py +0 -0
  152. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/__init__.py +0 -0
  153. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/admin.py +0 -0
  154. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/apps.py +0 -0
  155. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/constants.py +0 -0
  156. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/migrations/0001_initial.py +0 -0
  157. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/migrations/0002_add_enterprise_data_feature_roles.py +0 -0
  158. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/migrations/0003_add_role_based_access_control_switch.py +0 -0
  159. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/migrations/0004_enterprisedataroleassignment_enterprise_id.py +0 -0
  160. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/migrations/0005_turn_on_role_based_access_control_switch.py +0 -0
  161. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/migrations/0006_remove_role_based_access_control_switch.py +0 -0
  162. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/migrations/0007_enterprisedataroleassignment_applies_to_all_contexts.py +0 -0
  163. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/migrations/__init__.py +0 -0
  164. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/models.py +0 -0
  165. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/rules.py +0 -0
  166. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/tests/__init__.py +0 -0
  167. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/tests/factories.py +0 -0
  168. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_data_roles/tests/test_models.py +0 -0
  169. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/__init__.py +0 -0
  170. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/clients/__init__.py +0 -0
  171. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/clients/enterprise.py +0 -0
  172. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/clients/s3.py +0 -0
  173. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/clients/snowflake.py +0 -0
  174. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/clients/vertica.py +0 -0
  175. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/delivery_method.py +0 -0
  176. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/external_resource_link_report.py +0 -0
  177. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/fixtures/__init__.py +0 -0
  178. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/fixtures/enterprise_customer_reporting.json +0 -0
  179. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/reporter.py +0 -0
  180. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/send_enterprise_reports.py +0 -0
  181. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/tests/__init__.py +0 -0
  182. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/tests/test_clients.py +0 -0
  183. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/tests/test_delivery_method.py +0 -0
  184. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/tests/test_enterprise_client.py +0 -0
  185. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/tests/test_external_link_report.py +0 -0
  186. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/tests/test_reporter.py +0 -0
  187. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/tests/test_send_enterprise_reports.py +0 -0
  188. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/tests/test_utils.py +0 -0
  189. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/tests/test_vertica_client.py +0 -0
  190. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/tests/utils.py +0 -0
  191. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/enterprise_reporting/utils.py +0 -0
  192. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/base.in +0 -0
  193. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/ci.txt +0 -0
  194. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/common_constraints.txt +0 -0
  195. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/constraints.txt +0 -0
  196. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/django.txt +0 -0
  197. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/pip.txt +0 -0
  198. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/pip_tools.txt +0 -0
  199. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/requirements/reporting.in +0 -0
  200. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/setup.cfg +0 -0
  201. {edx_enterprise_data-10.6.0 → edx_enterprise_data-10.7.0}/setup.py +0 -0
@@ -16,6 +16,14 @@ Unreleased
16
16
 
17
17
  =========================
18
18
 
19
+ [10.7.0] - 2024-12-24
20
+ ---------------------
21
+ * feat: Added user's first and last name in the enterprise enrollments API and related DB table.
22
+
23
+ [10.6.1] - 2024-12-10
24
+ ---------------------
25
+ * feat: add course_title in top courses in enrollments csv
26
+
19
27
  [10.6.0] - 2024-12-09
20
28
  ---------------------
21
29
  * chore: upgrade python requirements
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edx-enterprise-data
3
- Version: 10.6.0
3
+ Version: 10.7.0
4
4
  Summary: Enterprise Reporting
5
5
  Home-page: https://github.com/openedx/edx-enterprise-data
6
6
  Author: edX
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edx-enterprise-data
3
- Version: 10.6.0
3
+ Version: 10.7.0
4
4
  Summary: Enterprise Reporting
5
5
  Home-page: https://github.com/openedx/edx-enterprise-data
6
6
  Author: edX
@@ -115,6 +115,7 @@ enterprise_data/migrations/0038_enterpriseoffer_export_timestamp.py
115
115
  enterprise_data/migrations/0039_auto_20240212_1403.py
116
116
  enterprise_data/migrations/0040_auto_20240718_0536_squashed_0043_alter_enterpriselearnerenrollment_enterprise_enrollment_id.py
117
117
  enterprise_data/migrations/0044_enterpriseexecedlcmoduleperformance.py
118
+ enterprise_data/migrations/0045_alter_enterpriseexecedlcmoduleperformance_options_and_more.py
118
119
  enterprise_data/migrations/__init__.py
119
120
  enterprise_data/settings/__init__.py
120
121
  enterprise_data/settings/test.py
@@ -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__ = "10.6.0"
5
+ __version__ = "10.7.0"
@@ -124,6 +124,7 @@ class FactEnrollmentAdminDashQueries:
124
124
 
125
125
  SELECT
126
126
  d.course_key,
127
+ MAX(d.course_title) AS course_title,
127
128
  d.enroll_type,
128
129
  COUNT(*) AS enrollment_count
129
130
  FROM filtered_data d
@@ -41,9 +41,9 @@ class EnterpriseLearnerEnrollmentSerializer(serializers.ModelSerializer):
41
41
  'course_primary_program', 'primary_program_type', 'course_primary_subject', 'has_passed',
42
42
  'last_activity_date', 'progress_status', 'passed_date', 'current_grade',
43
43
  'letter_grade', 'enterprise_user_id', 'user_email', 'user_account_creation_date',
44
- 'user_country_code', 'user_username', 'enterprise_name', 'enterprise_customer_uuid',
45
- 'enterprise_sso_uid', 'created', 'course_api_url', 'total_learning_time_hours', 'is_subsidy',
46
- 'course_product_line', 'budget_id', 'enterprise_group_name', 'enterprise_group_uuid',
44
+ 'user_country_code', 'user_username', 'user_first_name', 'user_last_name', 'enterprise_name',
45
+ 'enterprise_customer_uuid', 'enterprise_sso_uid', 'created', 'course_api_url', 'total_learning_time_hours',
46
+ 'is_subsidy', 'course_product_line', 'budget_id', 'enterprise_group_name', 'enterprise_group_uuid',
47
47
  )
48
48
 
49
49
  def get_course_api_url(self, obj):
@@ -59,9 +59,9 @@ class EnterpriseLearnerEnrollmentViewSet(EnterpriseViewSetMixin, viewsets.ReadOn
59
59
  'course_primary_program', 'primary_program_type', 'course_primary_subject', 'has_passed',
60
60
  'last_activity_date', 'progress_status', 'passed_date', 'current_grade',
61
61
  'letter_grade', 'enterprise_user_id', 'user_email', 'user_account_creation_date',
62
- 'user_country_code', 'user_username', 'enterprise_name', 'enterprise_customer_uuid',
63
- 'enterprise_sso_uid', 'created', 'course_api_url', 'total_learning_time_hours', 'is_subsidy',
64
- 'course_product_line', 'budget_id'
62
+ 'user_country_code', 'user_username', 'user_first_name', 'user_last_name', 'enterprise_name',
63
+ 'enterprise_customer_uuid', 'enterprise_sso_uid', 'created', 'course_api_url', 'total_learning_time_hours',
64
+ 'is_subsidy', 'course_product_line', 'budget_id',
65
65
  ]
66
66
 
67
67
  # TODO: Remove after we release the streaming csv changes
@@ -39,6 +39,8 @@ class TestCreateEnterpriseLearnerEnrollmentCommand(TestCase):
39
39
  assert enterprise_learner_enrollment[0].letter_grade is None
40
40
  assert enterprise_learner_enrollment[0].enterprise_user_id is None
41
41
  assert enterprise_learner_enrollment[0].user_username is None
42
+ assert enterprise_learner_enrollment[0].user_first_name is None
43
+ assert enterprise_learner_enrollment[0].user_last_name is None
42
44
  assert enterprise_learner_enrollment[0].user_email is None
43
45
  assert enterprise_learner_enrollment[0].enterprise_user is None
44
46
 
@@ -62,6 +64,8 @@ class TestCreateEnterpriseLearnerEnrollmentCommand(TestCase):
62
64
  assert enterprise_learner_enrollment[0].progress_status is not None
63
65
  assert enterprise_learner_enrollment[0].enterprise_user_id is not None
64
66
  assert enterprise_learner_enrollment[0].user_username is not None
67
+ assert enterprise_learner_enrollment[0].user_first_name is not None
68
+ assert enterprise_learner_enrollment[0].user_last_name is not None
65
69
  assert enterprise_learner_enrollment[0].enterprise_user is not None
66
70
  assert enterprise_learner_enrollment[0].user_email is not None
67
71
  assert EnterpriseLearner.objects.count() == 1
@@ -0,0 +1,27 @@
1
+ # Generated by Django 4.2.15 on 2024-12-23 12:55
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ('enterprise_data', '0044_enterpriseexecedlcmoduleperformance'),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.AlterModelOptions(
14
+ name='enterpriseexecedlcmoduleperformance',
15
+ options={'verbose_name': 'Exec Ed LC Module Performance', 'verbose_name_plural': 'Exec Ed LC Module Performance'},
16
+ ),
17
+ migrations.AddField(
18
+ model_name='enterpriselearnerenrollment',
19
+ name='user_first_name',
20
+ field=models.CharField(max_length=255, null=True),
21
+ ),
22
+ migrations.AddField(
23
+ model_name='enterpriselearnerenrollment',
24
+ name='user_last_name',
25
+ field=models.CharField(max_length=255, null=True),
26
+ ),
27
+ ]
@@ -128,6 +128,8 @@ class EnterpriseLearnerEnrollment(models.Model):
128
128
  user_account_creation_date = models.DateTimeField(null=True)
129
129
  user_country_code = models.CharField(max_length=2, null=True)
130
130
  user_username = models.CharField(max_length=255, null=True)
131
+ user_first_name = models.CharField(max_length=255, null=True)
132
+ user_last_name = models.CharField(max_length=255, null=True)
131
133
  enterprise_name = models.CharField(max_length=255, db_index=True, null=False)
132
134
  enterprise_customer_uuid = models.UUIDField(db_index=True, null=False)
133
135
  enterprise_sso_uid = models.CharField(max_length=255, null=True)
@@ -25,9 +25,9 @@ class EnrollmentsCSVRenderer(CSVStreamingRenderer):
25
25
  'course_primary_program', 'primary_program_type', 'course_primary_subject', 'has_passed',
26
26
  'last_activity_date', 'progress_status', 'passed_date', 'current_grade',
27
27
  'letter_grade', 'enterprise_user_id', 'user_email', 'user_account_creation_date',
28
- 'user_country_code', 'user_username', 'enterprise_name', 'enterprise_customer_uuid',
29
- 'enterprise_sso_uid', 'created', 'course_api_url', 'total_learning_time_hours', 'is_subsidy',
30
- 'course_product_line', 'budget_id', 'enterprise_group_name', 'enterprise_group_uuid',
28
+ 'user_country_code', 'user_username', 'user_first_name', 'user_last_name', 'enterprise_name',
29
+ 'enterprise_customer_uuid', 'enterprise_sso_uid', 'created', 'course_api_url', 'total_learning_time_hours',
30
+ 'is_subsidy', 'course_product_line', 'budget_id', 'enterprise_group_name', 'enterprise_group_uuid',
31
31
  ]
32
32
 
33
33
 
@@ -180,6 +180,8 @@ class EnterpriseLearnerEnrollmentFactory(factory.django.DjangoModelFactory):
180
180
  enterprise_user_id = factory.Sequence(lambda n: n)
181
181
  user_email = factory.lazy_attribute(lambda x: FAKER.email()) # pylint: disable=no-member
182
182
  user_username = factory.Sequence('robot{}'.format)
183
+ user_first_name = factory.Sequence('Robot First {}'.format)
184
+ user_last_name = factory.Sequence('Robot Last {}'.format)
183
185
  user_account_creation_date = factory.lazy_attribute(lambda x: '2018-01-01')
184
186
  user_country_code = factory.lazy_attribute(lambda x: FAKER.country_code())
185
187
  is_subsidy = factory.lazy_attribute(lambda x: FAKER.boolean()) # pylint: disable=no-member
@@ -230,6 +232,8 @@ class EnterpriseLearnerEnrollmentFactory(factory.django.DjangoModelFactory):
230
232
  'user_account_creation_date',
231
233
  'user_country_code',
232
234
  'user_username',
235
+ 'user_first_name',
236
+ 'user_last_name',
233
237
  ]
234
238
  if create and not obj.is_consent_granted:
235
239
  for field in dsc_dependent_fields:
@@ -10,22 +10,22 @@ asgiref==3.8.1
10
10
  # via django
11
11
  asn1crypto==1.5.1
12
12
  # via snowflake-connector-python
13
- awscli==1.36.17
13
+ awscli==1.36.22
14
14
  # via -r requirements/reporting.in
15
15
  bcrypt==4.2.1
16
16
  # via paramiko
17
17
  billiard==4.2.1
18
18
  # via celery
19
- boto3==1.35.76
19
+ boto3==1.35.81
20
20
  # via -r requirements/reporting.in
21
- botocore==1.35.76
21
+ botocore==1.35.81
22
22
  # via
23
23
  # awscli
24
24
  # boto3
25
25
  # s3transfer
26
26
  celery==5.3.6
27
27
  # via -r requirements/reporting.in
28
- certifi==2024.8.30
28
+ certifi==2024.12.14
29
29
  # via
30
30
  # py2neo
31
31
  # requests
@@ -145,7 +145,7 @@ monotonic==1.6
145
145
  # via py2neo
146
146
  mysql-connector-python==9.1.0
147
147
  # via -r requirements/base.in
148
- newrelic==10.3.1
148
+ newrelic==10.4.0
149
149
  # via edx-django-utils
150
150
  numpy==2.2.0
151
151
  # via
@@ -240,7 +240,7 @@ snowflake-connector-python==3.12.4
240
240
  # via -r requirements/reporting.in
241
241
  sortedcontainers==2.4.0
242
242
  # via snowflake-connector-python
243
- sqlparse==0.5.2
243
+ sqlparse==0.5.3
244
244
  # via django
245
245
  stevedore==5.4.0
246
246
  # via
@@ -14,15 +14,15 @@ astroid==3.3.6
14
14
  # via
15
15
  # pylint
16
16
  # pylint-celery
17
- awscli==1.36.17
17
+ awscli==1.36.22
18
18
  # via -r requirements/reporting.in
19
19
  bcrypt==4.2.1
20
20
  # via paramiko
21
21
  billiard==4.2.1
22
22
  # via celery
23
- boto3==1.35.76
23
+ boto3==1.35.81
24
24
  # via -r requirements/reporting.in
25
- botocore==1.35.76
25
+ botocore==1.35.81
26
26
  # via
27
27
  # awscli
28
28
  # boto3
@@ -33,7 +33,7 @@ cachetools==5.5.0
33
33
  # via tox
34
34
  celery==5.3.6
35
35
  # via -r requirements/reporting.in
36
- certifi==2024.8.30
36
+ certifi==2024.12.14
37
37
  # via
38
38
  # py2neo
39
39
  # requests
@@ -70,7 +70,7 @@ click-plugins==1.1.1
70
70
  # via celery
71
71
  click-repl==0.3.0
72
72
  # via celery
73
- code-annotations==2.0.0
73
+ code-annotations==2.1.0
74
74
  # via edx-lint
75
75
  colorama==0.4.6
76
76
  # via
@@ -86,7 +86,7 @@ cryptography==44.0.0
86
86
  # pyopenssl
87
87
  # secretstorage
88
88
  # snowflake-connector-python
89
- diff-cover==9.2.0
89
+ diff-cover==9.2.1
90
90
  # via -r requirements/dev-enterprise_data.in
91
91
  dill==0.3.9
92
92
  # via pylint
@@ -224,7 +224,7 @@ more-itertools==10.5.0
224
224
  # jaraco-functools
225
225
  mysql-connector-python==9.1.0
226
226
  # via -r requirements/base.in
227
- newrelic==10.3.1
227
+ newrelic==10.4.0
228
228
  # via edx-django-utils
229
229
  nh3==0.2.19
230
230
  # via readme-renderer
@@ -389,7 +389,7 @@ snowflake-connector-python==3.12.4
389
389
  # via -r requirements/reporting.in
390
390
  sortedcontainers==2.4.0
391
391
  # via snowflake-connector-python
392
- sqlparse==0.5.2
392
+ sqlparse==0.5.3
393
393
  # via django
394
394
  stevedore==5.4.0
395
395
  # via
@@ -14,15 +14,15 @@ astroid==3.3.6
14
14
  # via
15
15
  # pylint
16
16
  # pylint-celery
17
- awscli==1.36.17
17
+ awscli==1.36.22
18
18
  # via -r requirements/reporting.in
19
19
  bcrypt==4.2.1
20
20
  # via paramiko
21
21
  billiard==4.2.1
22
22
  # via celery
23
- boto3==1.35.76
23
+ boto3==1.35.81
24
24
  # via -r requirements/reporting.in
25
- botocore==1.35.76
25
+ botocore==1.35.81
26
26
  # via
27
27
  # awscli
28
28
  # boto3
@@ -33,7 +33,7 @@ cachetools==5.5.0
33
33
  # via tox
34
34
  celery==5.3.6
35
35
  # via -r requirements/reporting.in
36
- certifi==2024.8.30
36
+ certifi==2024.12.14
37
37
  # via
38
38
  # py2neo
39
39
  # requests
@@ -70,7 +70,7 @@ click-plugins==1.1.1
70
70
  # via celery
71
71
  click-repl==0.3.0
72
72
  # via celery
73
- code-annotations==2.0.0
73
+ code-annotations==2.1.0
74
74
  # via edx-lint
75
75
  colorama==0.4.6
76
76
  # via
@@ -90,7 +90,7 @@ cryptography==44.0.0
90
90
  # snowflake-connector-python
91
91
  ddt==1.7.2
92
92
  # via -r requirements/test.in
93
- diff-cover==9.2.0
93
+ diff-cover==9.2.1
94
94
  # via -r requirements/dev-enterprise_data.in
95
95
  dill==0.3.9
96
96
  # via pylint
@@ -239,7 +239,7 @@ more-itertools==10.5.0
239
239
  # jaraco-functools
240
240
  mysql-connector-python==9.1.0
241
241
  # via -r requirements/base.in
242
- newrelic==10.3.1
242
+ newrelic==10.4.0
243
243
  # via edx-django-utils
244
244
  nh3==0.2.19
245
245
  # via readme-renderer
@@ -419,7 +419,7 @@ snowflake-connector-python==3.12.4
419
419
  # via -r requirements/reporting.in
420
420
  sortedcontainers==2.4.0
421
421
  # via snowflake-connector-python
422
- sqlparse==0.5.2
422
+ sqlparse==0.5.3
423
423
  # via django
424
424
  stevedore==5.4.0
425
425
  # via
@@ -10,22 +10,22 @@ asgiref==3.8.1
10
10
  # via django
11
11
  asn1crypto==1.5.1
12
12
  # via snowflake-connector-python
13
- awscli==1.36.17
13
+ awscli==1.36.22
14
14
  # via -r requirements/reporting.in
15
15
  bcrypt==4.2.1
16
16
  # via paramiko
17
17
  billiard==4.2.1
18
18
  # via celery
19
- boto3==1.35.76
19
+ boto3==1.35.81
20
20
  # via -r requirements/reporting.in
21
- botocore==1.35.76
21
+ botocore==1.35.81
22
22
  # via
23
23
  # awscli
24
24
  # boto3
25
25
  # s3transfer
26
26
  celery==5.3.6
27
27
  # via -r requirements/reporting.in
28
- certifi==2024.8.30
28
+ certifi==2024.12.14
29
29
  # via
30
30
  # py2neo
31
31
  # requests
@@ -162,7 +162,7 @@ monotonic==1.6
162
162
  # via py2neo
163
163
  mysql-connector-python==9.1.0
164
164
  # via -r requirements/base.in
165
- newrelic==10.3.1
165
+ newrelic==10.4.0
166
166
  # via edx-django-utils
167
167
  numpy==2.2.0
168
168
  # via
@@ -274,7 +274,7 @@ snowflake-connector-python==3.12.4
274
274
  # via -r requirements/reporting.in
275
275
  sortedcontainers==2.4.0
276
276
  # via snowflake-connector-python
277
- sqlparse==0.5.2
277
+ sqlparse==0.5.3
278
278
  # via django
279
279
  stevedore==5.4.0
280
280
  # via
@@ -8,15 +8,15 @@ amqp==5.3.1
8
8
  # via kombu
9
9
  asn1crypto==1.5.1
10
10
  # via snowflake-connector-python
11
- awscli==1.36.17
11
+ awscli==1.36.22
12
12
  # via -r /home/runner/work/edx-enterprise-data/edx-enterprise-data/requirements/reporting.in
13
13
  bcrypt==4.2.1
14
14
  # via paramiko
15
15
  billiard==4.2.1
16
16
  # via celery
17
- boto3==1.35.76
17
+ boto3==1.35.81
18
18
  # via -r /home/runner/work/edx-enterprise-data/edx-enterprise-data/requirements/reporting.in
19
- botocore==1.35.76
19
+ botocore==1.35.81
20
20
  # via
21
21
  # awscli
22
22
  # boto3
@@ -25,7 +25,7 @@ cachetools==5.5.0
25
25
  # via tox
26
26
  celery==5.3.6
27
27
  # via -r /home/runner/work/edx-enterprise-data/edx-enterprise-data/requirements/reporting.in
28
- certifi==2024.8.30
28
+ certifi==2024.12.14
29
29
  # via
30
30
  # py2neo
31
31
  # requests
@@ -10,22 +10,22 @@ asgiref==3.8.1
10
10
  # via django
11
11
  asn1crypto==1.5.1
12
12
  # via snowflake-connector-python
13
- awscli==1.36.17
13
+ awscli==1.36.22
14
14
  # via -r requirements/reporting.in
15
15
  bcrypt==4.2.1
16
16
  # via paramiko
17
17
  billiard==4.2.1
18
18
  # via celery
19
- boto3==1.35.76
19
+ boto3==1.35.81
20
20
  # via -r requirements/reporting.in
21
- botocore==1.35.76
21
+ botocore==1.35.81
22
22
  # via
23
23
  # awscli
24
24
  # boto3
25
25
  # s3transfer
26
26
  celery==5.3.6
27
27
  # via -r requirements/reporting.in
28
- certifi==2024.8.30
28
+ certifi==2024.12.14
29
29
  # via
30
30
  # py2neo
31
31
  # requests
@@ -160,7 +160,7 @@ monotonic==1.6
160
160
  # via py2neo
161
161
  mysql-connector-python==9.1.0
162
162
  # via -r requirements/base.in
163
- newrelic==10.3.1
163
+ newrelic==10.4.0
164
164
  # via edx-django-utils
165
165
  numpy==2.2.0
166
166
  # via
@@ -272,7 +272,7 @@ snowflake-connector-python==3.12.4
272
272
  # via -r requirements/reporting.in
273
273
  sortedcontainers==2.4.0
274
274
  # via snowflake-connector-python
275
- sqlparse==0.5.2
275
+ sqlparse==0.5.3
276
276
  # via django
277
277
  stevedore==5.4.0
278
278
  # via