edx-enterprise-data 4.11.2__tar.gz → 5.0.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 (154) hide show
  1. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/CHANGELOG.rst +7 -1
  2. {edx-enterprise-data-4.11.2/edx_enterprise_data.egg-info → edx-enterprise-data-5.0.0}/PKG-INFO +1 -1
  3. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0/edx_enterprise_data.egg-info}/PKG-INFO +1 -1
  4. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/__init__.py +1 -1
  5. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/api/v1/views.py +5 -5
  6. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/api/v1/test_views.py +3 -3
  7. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/requirements/base.txt +12 -11
  8. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/requirements/ci.txt +3 -3
  9. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/requirements/dev.txt +35 -27
  10. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/requirements/pip.txt +2 -2
  11. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/requirements/pip_tools.txt +3 -3
  12. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/requirements/quality.txt +37 -29
  13. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/requirements/test-master.txt +27 -13
  14. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/requirements/test-reporting.txt +12 -12
  15. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/requirements/test.txt +14 -13
  16. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/LICENSE +0 -0
  17. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/MANIFEST.in +0 -0
  18. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/README.md +0 -0
  19. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/edx_enterprise_data.egg-info/SOURCES.txt +0 -0
  20. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/edx_enterprise_data.egg-info/dependency_links.txt +0 -0
  21. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/edx_enterprise_data.egg-info/not-zip-safe +0 -0
  22. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/edx_enterprise_data.egg-info/requires.txt +0 -0
  23. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/edx_enterprise_data.egg-info/top_level.txt +0 -0
  24. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/api/__init__.py +0 -0
  25. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/api/urls.py +0 -0
  26. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/api/v0/__init__.py +0 -0
  27. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/api/v0/serializers.py +0 -0
  28. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/api/v0/urls.py +0 -0
  29. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/api/v0/views.py +0 -0
  30. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/api/v1/__init__.py +0 -0
  31. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/api/v1/serializers.py +0 -0
  32. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/api/v1/urls.py +0 -0
  33. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/apps.py +0 -0
  34. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/clients.py +0 -0
  35. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/constants.py +0 -0
  36. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/filters.py +0 -0
  37. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/fixtures/enterprise_enrollment.json +0 -0
  38. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/fixtures/enterprise_user.json +0 -0
  39. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/__init__.py +0 -0
  40. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/__init__.py +0 -0
  41. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_dummy_data.py +0 -0
  42. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_dummy_data_lpr_v1.py +0 -0
  43. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_enterprise_enrollment.py +0 -0
  44. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_enterprise_learner_enrollment_lpr_v1.py +0 -0
  45. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_enterprise_learner_lpr_v1.py +0 -0
  46. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_enterprise_offer.py +0 -0
  47. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/create_enterprise_user.py +0 -0
  48. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/tests/__init__.py +0 -0
  49. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/tests/test_create_dummy_data_lpr_v1.py +0 -0
  50. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/tests/test_create_enterprise_enrollment.py +0 -0
  51. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/tests/test_create_enterprise_learner_enrollment_lpr_v1.py +0 -0
  52. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/tests/test_create_enterprise_learner_lpr_v1.py +0 -0
  53. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/management/commands/tests/test_create_enterprise_user.py +0 -0
  54. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0001_initial.py +0 -0
  55. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0002_auto_20180430_1358.py +0 -0
  56. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0003_auto_20180501_0603.py +0 -0
  57. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0004_auto_20180501_0928.py +0 -0
  58. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0004_auto_20180508_1652.py +0 -0
  59. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0005_auto_20180524_2204.py +0 -0
  60. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0006_auto_20180612_0336.py +0 -0
  61. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0007_auto_20180612_0534.py +0 -0
  62. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0008_auto_20180614_0108.py +0 -0
  63. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0009_auto_20180628_1152.py +0 -0
  64. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0010_enterpriseenrollment_created.py +0 -0
  65. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0011_enterpriseuser.py +0 -0
  66. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0012_auto_20180831_1930.py +0 -0
  67. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0013_auto_20180831_1931.py +0 -0
  68. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0014_enterpriseuser_created.py +0 -0
  69. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0015_auto_20180907_1757.py +0 -0
  70. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0016_auto_20180924_2138.py +0 -0
  71. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0017_enterpriseenrollment_unenrollment_timestamp.py +0 -0
  72. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0018_enterprisedatafeaturerole_enterprisedataroleassignment.py +0 -0
  73. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0019_add_enterprise_data_feature_roles.py +0 -0
  74. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0020_add_role_based_access_control_switch.py +0 -0
  75. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0021_auto_20190329_1241.py +0 -0
  76. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0022_remove_role_based_access_control_switch.py +0 -0
  77. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0023_enterpriselearner_enterpriselearnerenrollment.py +0 -0
  78. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0024_auto_20210602_1811.py +0 -0
  79. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0025_auto_20210703_1854.py +0 -0
  80. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0026_auto_20210916_0414.py +0 -0
  81. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0027_enterpriselearnerenrollment_total_learning_time_seconds.py +0 -0
  82. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0028_enterpriselearnerenrollment_offer_id.py +0 -0
  83. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0029_enterpriseoffer.py +0 -0
  84. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0030_auto_20230609_1353.py +0 -0
  85. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0031_auto_20230615_0705.py +0 -0
  86. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0032_auto_20230704_0818.py +0 -0
  87. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/0033_enterpriseadminlearnerprogress_enterpriseadminsummarizeinsights.py +0 -0
  88. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/migrations/__init__.py +0 -0
  89. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/models.py +0 -0
  90. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/paginators.py +0 -0
  91. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/settings/__init__.py +0 -0
  92. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/settings/test.py +0 -0
  93. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/signals.py +0 -0
  94. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/__init__.py +0 -0
  95. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/api/__init__.py +0 -0
  96. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/api/v0/__init__.py +0 -0
  97. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/api/v0/test_serializers.py +0 -0
  98. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/api/v1/__init__.py +0 -0
  99. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/api/v1/test_serializers.py +0 -0
  100. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/factories.py +0 -0
  101. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/mixins.py +0 -0
  102. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/test_clients.py +0 -0
  103. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/test_filters.py +0 -0
  104. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/test_models.py +0 -0
  105. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/test_utils.py +0 -0
  106. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/tests/test_views.py +0 -0
  107. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/urls.py +0 -0
  108. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data/utils.py +0 -0
  109. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/__init__.py +0 -0
  110. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/admin.py +0 -0
  111. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/apps.py +0 -0
  112. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/constants.py +0 -0
  113. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0001_initial.py +0 -0
  114. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0002_add_enterprise_data_feature_roles.py +0 -0
  115. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0003_add_role_based_access_control_switch.py +0 -0
  116. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0004_enterprisedataroleassignment_enterprise_id.py +0 -0
  117. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0005_turn_on_role_based_access_control_switch.py +0 -0
  118. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0006_remove_role_based_access_control_switch.py +0 -0
  119. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/0007_enterprisedataroleassignment_applies_to_all_contexts.py +0 -0
  120. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/migrations/__init__.py +0 -0
  121. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/models.py +0 -0
  122. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/rules.py +0 -0
  123. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/tests/__init__.py +0 -0
  124. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/tests/factories.py +0 -0
  125. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_data_roles/tests/test_models.py +0 -0
  126. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/__init__.py +0 -0
  127. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/clients/__init__.py +0 -0
  128. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/clients/enterprise.py +0 -0
  129. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/clients/s3.py +0 -0
  130. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/clients/snowflake.py +0 -0
  131. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/clients/vertica.py +0 -0
  132. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/delivery_method.py +0 -0
  133. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/external_resource_link_report.py +0 -0
  134. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/fixtures/__init__.py +0 -0
  135. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/fixtures/enterprise_customer_reporting.json +0 -0
  136. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/reporter.py +0 -0
  137. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/send_enterprise_reports.py +0 -0
  138. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/__init__.py +0 -0
  139. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_clients.py +0 -0
  140. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_delivery_method.py +0 -0
  141. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_enterprise_client.py +0 -0
  142. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_external_link_report.py +0 -0
  143. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_reporter.py +0 -0
  144. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_send_enterprise_reports.py +0 -0
  145. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_utils.py +0 -0
  146. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/test_vertica_client.py +0 -0
  147. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/tests/utils.py +0 -0
  148. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/enterprise_reporting/utils.py +0 -0
  149. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/requirements/base.in +0 -0
  150. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/requirements/constraints.txt +0 -0
  151. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/requirements/django.txt +0 -0
  152. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/requirements/reporting.in +0 -0
  153. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/setup.cfg +0 -0
  154. {edx-enterprise-data-4.11.2 → edx-enterprise-data-5.0.0}/setup.py +0 -0
@@ -15,9 +15,15 @@ Unreleased
15
15
  ----------
16
16
 
17
17
  =========================
18
+ [5.0.0] - 2023-08-22
19
+ ---------------------
20
+ * Rename `summary` to `learner_engagement` in `EnterpriseLearnerEnrollmentViewSet` response
21
+
22
+
18
23
  [4.11.2] - 2023-08-18
19
24
  ---------------------
20
- * Add api filtering for `EnterpriseLearnerEnrollmentViewSet` for course_title or user_email
25
+ * Fix offer id filtering in `EnterpriseLearnerEnrollmentViewSet`
26
+
21
27
 
22
28
  [4.11.1] - 2023-08-17
23
29
  ---------------------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: edx-enterprise-data
3
- Version: 4.11.2
3
+ Version: 5.0.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: 4.11.2
3
+ Version: 5.0.0
4
4
  Summary: Enterprise Reporting
5
5
  Home-page: https://github.com/openedx/edx-enterprise-data
6
6
  Author: edX
@@ -2,6 +2,6 @@
2
2
  Enterprise data api application. This Django app exposes API endpoints used by enterprises.
3
3
  """
4
4
 
5
- __version__ = "4.11.2"
5
+ __version__ = "5.0.0"
6
6
 
7
7
  default_app_config = "enterprise_data.apps.EnterpriseDataAppConfig" # pylint: disable=invalid-name
@@ -492,7 +492,7 @@ class EnterpriseAdminInsightsView(APIView):
492
492
  """
493
493
  response_data = {}
494
494
  learner_progress = {}
495
- summary = {}
495
+ learner_engagement = {}
496
496
 
497
497
  try:
498
498
  learner_progress = EnterpriseAdminLearnerProgress.objects.get(enterprise_customer_uuid=enterprise_id)
@@ -502,14 +502,14 @@ class EnterpriseAdminInsightsView(APIView):
502
502
  pass
503
503
 
504
504
  try:
505
- summary = EnterpriseAdminSummarizeInsights.objects.get(enterprise_customer_uuid=enterprise_id)
506
- summary = serializers.EnterpriseAdminSummarizeInsightsSerializer(summary).data
507
- response_data['summary'] = summary
505
+ learner_engagement = EnterpriseAdminSummarizeInsights.objects.get(enterprise_customer_uuid=enterprise_id)
506
+ learner_engagement = serializers.EnterpriseAdminSummarizeInsightsSerializer(learner_engagement).data
507
+ response_data['learner_engagement'] = learner_engagement
508
508
  except EnterpriseAdminSummarizeInsights.DoesNotExist:
509
509
  pass
510
510
 
511
511
  status = HTTP_200_OK
512
- if learner_progress == {} and summary == {}:
512
+ if learner_progress == {} and learner_engagement == {}:
513
513
  status = HTTP_404_NOT_FOUND
514
514
 
515
515
  return Response(data=response_data, status=status)
@@ -338,7 +338,7 @@ class TestEnterpriseAdminInsightsView(JWTTestMixin, APITransactionTestCase):
338
338
  learner_progress_obj = EnterpriseAdminLearnerProgressFactory.create(
339
339
  enterprise_customer_uuid=enterprise_customer_uuid
340
340
  )
341
- summary_obj = EnterpriseAdminSummarizeInsightsFactory.create(
341
+ learner_engagement_obj = EnterpriseAdminSummarizeInsightsFactory.create(
342
342
  enterprise_customer_uuid=enterprise_customer_uuid
343
343
  )
344
344
 
@@ -350,8 +350,8 @@ class TestEnterpriseAdminInsightsView(JWTTestMixin, APITransactionTestCase):
350
350
 
351
351
  learner_progress = response_json['learner_progress']
352
352
  self.verify_data(learner_progress, learner_progress_obj)
353
- summary = response_json['summary']
354
- self.verify_data(summary, summary_obj)
353
+ learner_engagement = response_json['learner_engagement']
354
+ self.verify_data(learner_engagement, learner_engagement_obj)
355
355
 
356
356
  def test_retrieve_enterprise_admin_insights_no_data(self):
357
357
  """
@@ -12,22 +12,22 @@ asn1crypto==1.5.1
12
12
  # via
13
13
  # oscrypto
14
14
  # snowflake-connector-python
15
- awscli==1.28.0
15
+ awscli==1.29.10
16
16
  # via -r requirements/reporting.in
17
17
  bcrypt==4.0.1
18
18
  # via paramiko
19
19
  billiard==3.6.4.0
20
20
  # via celery
21
- boto3==1.27.0
21
+ boto3==1.28.10
22
22
  # via -r requirements/reporting.in
23
- botocore==1.30.0
23
+ botocore==1.31.10
24
24
  # via
25
25
  # awscli
26
26
  # boto3
27
27
  # s3transfer
28
28
  celery==4.4.7
29
29
  # via -r requirements/reporting.in
30
- certifi==2023.5.7
30
+ certifi==2023.7.22
31
31
  # via
32
32
  # py2neo
33
33
  # requests
@@ -37,11 +37,11 @@ cffi==1.15.1
37
37
  # cryptography
38
38
  # pynacl
39
39
  # snowflake-connector-python
40
- charset-normalizer==3.1.0
40
+ charset-normalizer==3.2.0
41
41
  # via
42
42
  # requests
43
43
  # snowflake-connector-python
44
- click==8.1.3
44
+ click==8.1.6
45
45
  # via edx-django-utils
46
46
  colorama==0.4.4
47
47
  # via awscli
@@ -91,7 +91,7 @@ docutils==0.16
91
91
  # via awscli
92
92
  drf-jwt==1.19.2
93
93
  # via edx-drf-extensions
94
- edx-django-utils==5.5.0
94
+ edx-django-utils==5.6.0
95
95
  # via
96
96
  # -r requirements/base.in
97
97
  # edx-drf-extensions
@@ -108,9 +108,9 @@ edx-rbac==1.7.0
108
108
  # via -r requirements/base.in
109
109
  edx-rest-api-client==5.5.2
110
110
  # via -r requirements/base.in
111
- factory-boy==3.2.1
111
+ factory-boy==3.3.0
112
112
  # via -r requirements/base.in
113
- faker==18.11.2
113
+ faker==19.2.0
114
114
  # via factory-boy
115
115
  filelock==3.12.2
116
116
  # via snowflake-connector-python
@@ -158,7 +158,7 @@ pycryptodomex==3.18.0
158
158
  # via snowflake-connector-python
159
159
  pygments==2.15.1
160
160
  # via py2neo
161
- pyjwt[crypto]==2.7.0
161
+ pyjwt[crypto]==2.8.0
162
162
  # via
163
163
  # drf-jwt
164
164
  # edx-drf-extensions
@@ -187,7 +187,7 @@ pytz==2023.3
187
187
  # djangorestframework
188
188
  # interchange
189
189
  # snowflake-connector-python
190
- pyyaml==5.4.1
190
+ pyyaml==6.0.1
191
191
  # via awscli
192
192
  requests==2.31.0
193
193
  # via
@@ -230,6 +230,7 @@ stevedore==5.1.0
230
230
  typing-extensions==4.7.1
231
231
  # via
232
232
  # asgiref
233
+ # faker
233
234
  # snowflake-connector-python
234
235
  unicodecsv==0.14.1
235
236
  # via -r requirements/reporting.in
@@ -6,7 +6,7 @@
6
6
  #
7
7
  coverage==7.2.7
8
8
  # via -r requirements/ci.in
9
- distlib==0.3.6
9
+ distlib==0.3.7
10
10
  # via virtualenv
11
11
  filelock==3.12.2
12
12
  # via
@@ -14,7 +14,7 @@ filelock==3.12.2
14
14
  # virtualenv
15
15
  packaging==23.1
16
16
  # via tox
17
- platformdirs==3.8.0
17
+ platformdirs==3.9.1
18
18
  # via virtualenv
19
19
  pluggy==1.2.0
20
20
  # via tox
@@ -31,5 +31,5 @@ tox==3.28.0
31
31
  # tox-battery
32
32
  tox-battery==0.6.1
33
33
  # via -r requirements/ci.in
34
- virtualenv==20.23.1
34
+ virtualenv==20.24.2
35
35
  # via tox
@@ -12,11 +12,11 @@ asn1crypto==1.5.1
12
12
  # via
13
13
  # oscrypto
14
14
  # snowflake-connector-python
15
- astroid==2.15.5
15
+ astroid==2.15.6
16
16
  # via
17
17
  # pylint
18
18
  # pylint-celery
19
- awscli==1.28.0
19
+ awscli==1.29.10
20
20
  # via -r requirements/reporting.in
21
21
  bcrypt==4.0.1
22
22
  # via paramiko
@@ -24,9 +24,9 @@ billiard==3.6.4.0
24
24
  # via celery
25
25
  bleach==6.0.0
26
26
  # via readme-renderer
27
- boto3==1.27.0
27
+ boto3==1.28.10
28
28
  # via -r requirements/reporting.in
29
- botocore==1.30.0
29
+ botocore==1.31.10
30
30
  # via
31
31
  # awscli
32
32
  # boto3
@@ -35,7 +35,7 @@ build==0.10.0
35
35
  # via pip-tools
36
36
  celery==4.4.7
37
37
  # via -r requirements/reporting.in
38
- certifi==2023.5.7
38
+ certifi==2023.7.22
39
39
  # via
40
40
  # py2neo
41
41
  # requests
@@ -47,11 +47,11 @@ cffi==1.15.1
47
47
  # snowflake-connector-python
48
48
  chardet==5.1.0
49
49
  # via diff-cover
50
- charset-normalizer==3.1.0
50
+ charset-normalizer==3.2.0
51
51
  # via
52
52
  # requests
53
53
  # snowflake-connector-python
54
- click==8.1.3
54
+ click==8.1.6
55
55
  # via
56
56
  # click-log
57
57
  # code-annotations
@@ -60,7 +60,7 @@ click==8.1.3
60
60
  # pip-tools
61
61
  click-log==0.4.0
62
62
  # via edx-lint
63
- code-annotations==1.3.0
63
+ code-annotations==1.5.0
64
64
  # via edx-lint
65
65
  colorama==0.4.4
66
66
  # via awscli
@@ -72,12 +72,13 @@ cryptography==40.0.2
72
72
  # pgpy
73
73
  # pyjwt
74
74
  # pyopenssl
75
+ # secretstorage
75
76
  # snowflake-connector-python
76
- diff-cover==7.6.0
77
+ diff-cover==7.7.0
77
78
  # via -r requirements/dev-enterprise_data.in
78
- dill==0.3.6
79
+ dill==0.3.7
79
80
  # via pylint
80
- distlib==0.3.6
81
+ distlib==0.3.7
81
82
  # via virtualenv
82
83
  django==3.2.20
83
84
  # via
@@ -119,7 +120,7 @@ docutils==0.16
119
120
  # readme-renderer
120
121
  drf-jwt==1.19.2
121
122
  # via edx-drf-extensions
122
- edx-django-utils==5.5.0
123
+ edx-django-utils==5.6.0
123
124
  # via
124
125
  # -r requirements/base.in
125
126
  # edx-drf-extensions
@@ -128,7 +129,7 @@ edx-drf-extensions==8.8.0
128
129
  # via
129
130
  # -r requirements/base.in
130
131
  # edx-rbac
131
- edx-i18n-tools==0.9.2
132
+ edx-i18n-tools==1.0.0
132
133
  # via -r requirements/dev-enterprise_data.in
133
134
  edx-lint==5.3.4
134
135
  # via
@@ -142,9 +143,9 @@ edx-rbac==1.7.0
142
143
  # via -r requirements/base.in
143
144
  edx-rest-api-client==5.5.2
144
145
  # via -r requirements/base.in
145
- factory-boy==3.2.1
146
+ factory-boy==3.3.0
146
147
  # via -r requirements/base.in
147
- faker==18.11.2
148
+ faker==19.2.0
148
149
  # via factory-boy
149
150
  filelock==3.12.2
150
151
  # via
@@ -155,11 +156,11 @@ idna==3.4
155
156
  # via
156
157
  # requests
157
158
  # snowflake-connector-python
158
- importlib-metadata==6.7.0
159
+ importlib-metadata==6.8.0
159
160
  # via
160
161
  # keyring
161
162
  # twine
162
- importlib-resources==5.12.0
163
+ importlib-resources==6.0.0
163
164
  # via keyring
164
165
  interchange==2021.0.4
165
166
  # via py2neo
@@ -167,8 +168,12 @@ isort==5.12.0
167
168
  # via
168
169
  # -r requirements/quality.in
169
170
  # pylint
170
- jaraco-classes==3.2.3
171
+ jaraco-classes==3.3.0
171
172
  # via keyring
173
+ jeepney==0.8.0
174
+ # via
175
+ # keyring
176
+ # secretstorage
172
177
  jinja2==3.1.2
173
178
  # via
174
179
  # code-annotations
@@ -193,7 +198,7 @@ mdurl==0.1.2
193
198
  # via markdown-it-py
194
199
  monotonic==1.6
195
200
  # via py2neo
196
- more-itertools==9.1.0
201
+ more-itertools==10.0.0
197
202
  # via jaraco-classes
198
203
  newrelic==8.8.1
199
204
  # via edx-django-utils
@@ -209,17 +214,17 @@ pansi==2020.7.3
209
214
  # via py2neo
210
215
  paramiko==3.2.0
211
216
  # via -r requirements/reporting.in
212
- path==16.6.0
217
+ path==16.7.1
213
218
  # via edx-i18n-tools
214
219
  pbr==5.11.1
215
220
  # via stevedore
216
221
  pgpy==0.6.0
217
222
  # via -r requirements/reporting.in
218
- pip-tools==6.14.0
223
+ pip-tools==7.1.0
219
224
  # via -r requirements/dev-enterprise_data.in
220
225
  pkginfo==1.9.6
221
226
  # via twine
222
- platformdirs==3.8.0
227
+ platformdirs==3.9.1
223
228
  # via
224
229
  # pylint
225
230
  # virtualenv
@@ -253,7 +258,7 @@ pygments==2.15.1
253
258
  # py2neo
254
259
  # readme-renderer
255
260
  # rich
256
- pyjwt[crypto]==2.7.0
261
+ pyjwt[crypto]==2.8.0
257
262
  # via
258
263
  # drf-jwt
259
264
  # edx-drf-extensions
@@ -300,7 +305,7 @@ pytz==2023.3
300
305
  # djangorestframework
301
306
  # interchange
302
307
  # snowflake-connector-python
303
- pyyaml==5.4.1
308
+ pyyaml==6.0.1
304
309
  # via
305
310
  # awscli
306
311
  # code-annotations
@@ -330,6 +335,8 @@ s3transfer==0.6.1
330
335
  # via
331
336
  # awscli
332
337
  # boto3
338
+ secretstorage==3.3.3
339
+ # via keyring
333
340
  semantic-version==2.10.0
334
341
  # via edx-drf-extensions
335
342
  six==1.16.0
@@ -385,6 +392,7 @@ typing-extensions==4.7.1
385
392
  # via
386
393
  # asgiref
387
394
  # astroid
395
+ # faker
388
396
  # pylint
389
397
  # rich
390
398
  # snowflake-connector-python
@@ -403,17 +411,17 @@ vine==1.3.0
403
411
  # via
404
412
  # amqp
405
413
  # celery
406
- virtualenv==20.23.1
414
+ virtualenv==20.24.2
407
415
  # via tox
408
416
  webencodings==0.5.1
409
417
  # via bleach
410
- wheel==0.40.0
418
+ wheel==0.41.0
411
419
  # via
412
420
  # -r requirements/dev-enterprise_data.in
413
421
  # pip-tools
414
422
  wrapt==1.15.0
415
423
  # via astroid
416
- zipp==3.15.0
424
+ zipp==3.16.2
417
425
  # via
418
426
  # importlib-metadata
419
427
  # importlib-resources
@@ -4,11 +4,11 @@
4
4
  #
5
5
  # make upgrade
6
6
  #
7
- wheel==0.40.0
7
+ wheel==0.41.0
8
8
  # via -r requirements/pip.in
9
9
 
10
10
  # The following packages are considered to be unsafe in a requirements file:
11
- pip==23.1.2
11
+ pip==23.2.1
12
12
  # via -r requirements/pip.in
13
13
  setuptools==68.0.0
14
14
  # via -r requirements/pip.in
@@ -6,11 +6,11 @@
6
6
  #
7
7
  build==0.10.0
8
8
  # via pip-tools
9
- click==8.1.3
9
+ click==8.1.6
10
10
  # via pip-tools
11
11
  packaging==23.1
12
12
  # via build
13
- pip-tools==6.14.0
13
+ pip-tools==7.1.0
14
14
  # via -r requirements/pip_tools.in
15
15
  pyproject-hooks==1.0.0
16
16
  # via build
@@ -18,7 +18,7 @@ tomli==2.0.1
18
18
  # via
19
19
  # build
20
20
  # pip-tools
21
- wheel==0.40.0
21
+ wheel==0.41.0
22
22
  # via pip-tools
23
23
 
24
24
  # The following packages are considered to be unsafe in a requirements file:
@@ -12,11 +12,11 @@ asn1crypto==1.5.1
12
12
  # via
13
13
  # oscrypto
14
14
  # snowflake-connector-python
15
- astroid==2.15.5
15
+ astroid==2.15.6
16
16
  # via
17
17
  # pylint
18
18
  # pylint-celery
19
- awscli==1.28.0
19
+ awscli==1.29.10
20
20
  # via -r requirements/reporting.in
21
21
  bcrypt==4.0.1
22
22
  # via paramiko
@@ -24,9 +24,9 @@ billiard==3.6.4.0
24
24
  # via celery
25
25
  bleach==6.0.0
26
26
  # via readme-renderer
27
- boto3==1.27.0
27
+ boto3==1.28.10
28
28
  # via -r requirements/reporting.in
29
- botocore==1.30.0
29
+ botocore==1.31.10
30
30
  # via
31
31
  # awscli
32
32
  # boto3
@@ -35,7 +35,7 @@ build==0.10.0
35
35
  # via pip-tools
36
36
  celery==4.4.7
37
37
  # via -r requirements/reporting.in
38
- certifi==2023.5.7
38
+ certifi==2023.7.22
39
39
  # via
40
40
  # py2neo
41
41
  # requests
@@ -47,11 +47,11 @@ cffi==1.15.1
47
47
  # snowflake-connector-python
48
48
  chardet==5.1.0
49
49
  # via diff-cover
50
- charset-normalizer==3.1.0
50
+ charset-normalizer==3.2.0
51
51
  # via
52
52
  # requests
53
53
  # snowflake-connector-python
54
- click==8.1.3
54
+ click==8.1.6
55
55
  # via
56
56
  # click-log
57
57
  # code-annotations
@@ -60,7 +60,7 @@ click==8.1.3
60
60
  # pip-tools
61
61
  click-log==0.4.0
62
62
  # via edx-lint
63
- code-annotations==1.3.0
63
+ code-annotations==1.5.0
64
64
  # via edx-lint
65
65
  colorama==0.4.4
66
66
  # via awscli
@@ -74,14 +74,15 @@ cryptography==40.0.2
74
74
  # pgpy
75
75
  # pyjwt
76
76
  # pyopenssl
77
+ # secretstorage
77
78
  # snowflake-connector-python
78
79
  ddt==1.6.0
79
80
  # via -r requirements/test.in
80
- diff-cover==7.6.0
81
+ diff-cover==7.7.0
81
82
  # via -r requirements/dev-enterprise_data.in
82
- dill==0.3.6
83
+ dill==0.3.7
83
84
  # via pylint
84
- distlib==0.3.6
85
+ distlib==0.3.7
85
86
  # via virtualenv
86
87
  django==3.2.20
87
88
  # via
@@ -124,7 +125,7 @@ docutils==0.16
124
125
  # readme-renderer
125
126
  drf-jwt==1.19.2
126
127
  # via edx-drf-extensions
127
- edx-django-utils==5.5.0
128
+ edx-django-utils==5.6.0
128
129
  # via
129
130
  # -r requirements/base.in
130
131
  # edx-drf-extensions
@@ -133,7 +134,7 @@ edx-drf-extensions==8.8.0
133
134
  # via
134
135
  # -r requirements/base.in
135
136
  # edx-rbac
136
- edx-i18n-tools==0.9.2
137
+ edx-i18n-tools==1.0.0
137
138
  # via -r requirements/dev-enterprise_data.in
138
139
  edx-lint==5.3.4
139
140
  # via
@@ -149,11 +150,11 @@ edx-rest-api-client==5.5.2
149
150
  # via -r requirements/base.in
150
151
  exceptiongroup==1.1.2
151
152
  # via pytest
152
- factory-boy==3.2.1
153
+ factory-boy==3.3.0
153
154
  # via
154
155
  # -r requirements/base.in
155
156
  # -r requirements/test.in
156
- faker==18.11.2
157
+ faker==19.2.0
157
158
  # via factory-boy
158
159
  filelock==3.12.2
159
160
  # via
@@ -168,11 +169,11 @@ idna==3.4
168
169
  # via
169
170
  # requests
170
171
  # snowflake-connector-python
171
- importlib-metadata==6.7.0
172
+ importlib-metadata==6.8.0
172
173
  # via
173
174
  # keyring
174
175
  # twine
175
- importlib-resources==5.12.0
176
+ importlib-resources==6.0.0
176
177
  # via keyring
177
178
  iniconfig==2.0.0
178
179
  # via pytest
@@ -182,8 +183,12 @@ isort==5.12.0
182
183
  # via
183
184
  # -r requirements/quality.in
184
185
  # pylint
185
- jaraco-classes==3.2.3
186
+ jaraco-classes==3.3.0
186
187
  # via keyring
188
+ jeepney==0.8.0
189
+ # via
190
+ # keyring
191
+ # secretstorage
187
192
  jinja2==3.1.2
188
193
  # via
189
194
  # code-annotations
@@ -206,11 +211,11 @@ mccabe==0.7.0
206
211
  # via pylint
207
212
  mdurl==0.1.2
208
213
  # via markdown-it-py
209
- mock==5.0.2
214
+ mock==5.1.0
210
215
  # via -r requirements/test.in
211
216
  monotonic==1.6
212
217
  # via py2neo
213
- more-itertools==9.1.0
218
+ more-itertools==10.0.0
214
219
  # via jaraco-classes
215
220
  newrelic==8.8.1
216
221
  # via edx-django-utils
@@ -227,17 +232,17 @@ pansi==2020.7.3
227
232
  # via py2neo
228
233
  paramiko==3.2.0
229
234
  # via -r requirements/reporting.in
230
- path==16.6.0
235
+ path==16.7.1
231
236
  # via edx-i18n-tools
232
237
  pbr==5.11.1
233
238
  # via stevedore
234
239
  pgpy==0.6.0
235
240
  # via -r requirements/reporting.in
236
- pip-tools==6.14.0
241
+ pip-tools==7.1.0
237
242
  # via -r requirements/dev-enterprise_data.in
238
243
  pkginfo==1.9.6
239
244
  # via twine
240
- platformdirs==3.8.0
245
+ platformdirs==3.9.1
241
246
  # via
242
247
  # pylint
243
248
  # virtualenv
@@ -272,7 +277,7 @@ pygments==2.15.1
272
277
  # py2neo
273
278
  # readme-renderer
274
279
  # rich
275
- pyjwt[crypto]==2.7.0
280
+ pyjwt[crypto]==2.8.0
276
281
  # via
277
282
  # drf-jwt
278
283
  # edx-drf-extensions
@@ -328,7 +333,7 @@ pytz==2023.3
328
333
  # djangorestframework
329
334
  # interchange
330
335
  # snowflake-connector-python
331
- pyyaml==5.4.1
336
+ pyyaml==6.0.1
332
337
  # via
333
338
  # awscli
334
339
  # code-annotations
@@ -362,6 +367,8 @@ s3transfer==0.6.1
362
367
  # via
363
368
  # awscli
364
369
  # boto3
370
+ secretstorage==3.3.3
371
+ # via keyring
365
372
  semantic-version==2.10.0
366
373
  # via edx-drf-extensions
367
374
  six==1.16.0
@@ -417,12 +424,13 @@ tox-battery==0.6.1
417
424
  # via -r requirements/dev-enterprise_data.in
418
425
  twine==4.0.2
419
426
  # via -r requirements/dev-enterprise_data.in
420
- types-pyyaml==6.0.12.10
427
+ types-pyyaml==6.0.12.11
421
428
  # via responses
422
429
  typing-extensions==4.7.1
423
430
  # via
424
431
  # asgiref
425
432
  # astroid
433
+ # faker
426
434
  # pylint
427
435
  # rich
428
436
  # snowflake-connector-python
@@ -442,17 +450,17 @@ vine==1.3.0
442
450
  # via
443
451
  # amqp
444
452
  # celery
445
- virtualenv==20.23.1
453
+ virtualenv==20.24.2
446
454
  # via tox
447
455
  webencodings==0.5.1
448
456
  # via bleach
449
- wheel==0.40.0
457
+ wheel==0.41.0
450
458
  # via
451
459
  # -r requirements/dev-enterprise_data.in
452
460
  # pip-tools
453
461
  wrapt==1.15.0
454
462
  # via astroid
455
- zipp==3.15.0
463
+ zipp==3.16.2
456
464
  # via
457
465
  # importlib-metadata
458
466
  # importlib-resources