edx-enterprise-data 10.9.0__tar.gz → 10.9.2__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.
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/CHANGELOG.rst +8 -0
- {edx_enterprise_data-10.9.0/edx_enterprise_data.egg-info → edx_enterprise_data-10.9.2}/PKG-INFO +1 -1
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2/edx_enterprise_data.egg-info}/PKG-INFO +1 -1
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/edx_enterprise_data.egg-info/SOURCES.txt +1 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/__init__.py +1 -1
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v1/serializers.py +51 -2
- edx_enterprise_data-10.9.2/enterprise_data/migrations/0048_alter_enterpriseexecedlcmoduleperformance_avg_after_lo_score_and_more.py +23 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/models.py +2 -2
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/renderers.py +1 -1
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/requirements/base.txt +15 -14
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/requirements/ci.txt +3 -3
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/requirements/dev.txt +25 -24
- edx_enterprise_data-10.9.2/requirements/django.txt +1 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/requirements/pip.txt +1 -1
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/requirements/quality.txt +27 -26
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/requirements/test-master.txt +16 -15
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/requirements/test-reporting.txt +14 -12
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/requirements/test.txt +17 -16
- edx_enterprise_data-10.9.0/requirements/django.txt +0 -1
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/LICENSE +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/MANIFEST.in +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/README.md +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/edx_enterprise_data.egg-info/dependency_links.txt +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/edx_enterprise_data.egg-info/not-zip-safe +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/edx_enterprise_data.egg-info/requires.txt +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/edx_enterprise_data.egg-info/top_level.txt +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/constants.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/data_loaders.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/database/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/database/queries/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/database/queries/fact_engagement_admin_dash.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/database/queries/fact_enrollment_admin_dash.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/database/queries/skills_daily_rollup_admin_dash.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/database/tables/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/database/tables/base.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/database/tables/fact_engagement_admin_dash.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/database/tables/fact_enrollment_admin_dash.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/database/tables/skills_daily_rollup_admin_dash.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/admin_analytics/database/utils.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/urls.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v0/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v0/serializers.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v0/urls.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v0/views.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v1/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v1/urls.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v1/views/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v1/views/analytics_completions.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v1/views/analytics_engagements.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v1/views/analytics_enrollments.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v1/views/analytics_leaderboard.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v1/views/base.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v1/views/enterprise_admin.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v1/views/enterprise_learner.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v1/views/enterprise_offers.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/apps.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/cache/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/cache/decorators.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/clients.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/constants.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/filters.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/fixtures/enterprise_enrollment.json +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/fixtures/enterprise_user.json +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/create_dummy_data.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/create_dummy_data_lpr_v1.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/create_enterprise_enrollment.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/create_enterprise_learner_enrollment_lpr_v1.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/create_enterprise_learner_lpr_v1.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/create_enterprise_offer.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/create_enterprise_user.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/pre_warm_analytics_cache.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/tests/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/tests/test_create_dummy_data_lpr_v1.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/tests/test_create_enterprise_enrollment.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/tests/test_create_enterprise_learner_enrollment_lpr_v1.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/tests/test_create_enterprise_learner_lpr_v1.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/tests/test_create_enterprise_user.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/management/commands/tests/test_pre_warm_analytics_cache.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0001_initial.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0002_auto_20180430_1358.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0003_auto_20180501_0603.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0004_auto_20180501_0928.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0004_auto_20180508_1652.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0005_auto_20180524_2204.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0006_auto_20180612_0336.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0007_auto_20180612_0534.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0008_auto_20180614_0108.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0009_auto_20180628_1152.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0010_enterpriseenrollment_created.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0011_enterpriseuser.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0012_auto_20180831_1930.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0013_auto_20180831_1931.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0014_enterpriseuser_created.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0015_auto_20180907_1757.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0016_auto_20180924_2138.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0017_enterpriseenrollment_unenrollment_timestamp.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0018_enterprisedatafeaturerole_enterprisedataroleassignment.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0019_add_enterprise_data_feature_roles.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0020_add_role_based_access_control_switch.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0021_auto_20190329_1241.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0022_remove_role_based_access_control_switch.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0023_enterpriselearner_enterpriselearnerenrollment.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0024_auto_20210602_1811.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0025_auto_20210703_1854.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0026_auto_20210916_0414.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0027_enterpriselearnerenrollment_total_learning_time_seconds.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0028_enterpriselearnerenrollment_offer_id.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0029_enterpriseoffer.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0030_auto_20230609_1353.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0031_auto_20230615_0705.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0032_auto_20230704_0818.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0033_enterpriseadminlearnerprogress_enterpriseadminsummarizeinsights.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0034_auto_20230907_0834.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0035_auto_20230907_1154.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0036_enterprisesubsidybudget_subsidy_access_policy_display_name.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0037_alter_enterpriseenrollment_consent_granted.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0038_enterpriseoffer_export_timestamp.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0039_auto_20240212_1403.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0040_auto_20240718_0536_squashed_0043_alter_enterpriselearnerenrollment_enterprise_enrollment_id.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0044_enterpriseexecedlcmoduleperformance.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0045_alter_enterpriseexecedlcmoduleperformance_options_and_more.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0046_enterprisegroupmembership.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/0047_enterpriseexecedlcmoduleperformance_avg_after_lo_score_and_more.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/migrations/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/paginators.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/settings/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/settings/test.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/signals.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/admin_analytics/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/admin_analytics/mock_analytics_data.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/admin_analytics/mock_enrollments.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/admin_analytics/test_analytics_engagements.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/admin_analytics/test_analytics_enrollments.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/admin_analytics/test_analytics_leaderboard.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/admin_analytics/test_data_loaders.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/admin_analytics/test_enterprise_completions.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/api/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/api/v0/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/api/v0/test_serializers.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/api/v1/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/api/v1/test_serializers.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/api/v1/test_views.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/api/v1/views/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/api/v1/views/test_enterprise_admin.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/factories.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/mixins.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/test_clients.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/test_filters.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/test_models.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/test_utils.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/tests/test_views.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/urls.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/utils.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/admin.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/apps.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/constants.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/migrations/0001_initial.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/migrations/0002_add_enterprise_data_feature_roles.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/migrations/0003_add_role_based_access_control_switch.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/migrations/0004_enterprisedataroleassignment_enterprise_id.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/migrations/0005_turn_on_role_based_access_control_switch.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/migrations/0006_remove_role_based_access_control_switch.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/migrations/0007_enterprisedataroleassignment_applies_to_all_contexts.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/migrations/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/models.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/rules.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/tests/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/tests/factories.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data_roles/tests/test_models.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/clients/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/clients/enterprise.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/clients/s3.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/clients/snowflake.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/clients/vertica.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/delivery_method.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/external_resource_link_report.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/fixtures/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/fixtures/enterprise_customer_reporting.json +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/reporter.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/send_enterprise_reports.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/tests/__init__.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/tests/test_clients.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/tests/test_delivery_method.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/tests/test_enterprise_client.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/tests/test_external_link_report.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/tests/test_reporter.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/tests/test_send_enterprise_reports.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/tests/test_utils.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/tests/test_vertica_client.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/tests/utils.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_reporting/utils.py +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/requirements/base.in +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/requirements/common_constraints.txt +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/requirements/constraints.txt +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/requirements/pip_tools.txt +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/requirements/reporting.in +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/setup.cfg +0 -0
- {edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/setup.py +0 -0
@@ -16,10 +16,18 @@ Unreleased
|
|
16
16
|
|
17
17
|
=========================
|
18
18
|
|
19
|
+
[10.9.2] - 2025-03-11
|
20
|
+
---------------------
|
21
|
+
* feat: support flex groups in csv report on LPR.
|
22
|
+
|
19
23
|
[10.9.0] - 2025-02-24
|
20
24
|
---------------------
|
21
25
|
* feat: get groups data from membership endpoint using enterprise client.
|
22
26
|
|
27
|
+
[10.8.1] - 2025-02-20
|
28
|
+
---------------------
|
29
|
+
* fix: Limited accuracy of floating pointing numbers to 2 places.
|
30
|
+
|
23
31
|
[10.8.1] - 2025-02-20
|
24
32
|
---------------------
|
25
33
|
* feat: Added 2 new columns in module performance report model and exposed them via associated REST API.
|
{edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/edx_enterprise_data.egg-info/SOURCES.txt
RENAMED
@@ -118,6 +118,7 @@ enterprise_data/migrations/0044_enterpriseexecedlcmoduleperformance.py
|
|
118
118
|
enterprise_data/migrations/0045_alter_enterpriseexecedlcmoduleperformance_options_and_more.py
|
119
119
|
enterprise_data/migrations/0046_enterprisegroupmembership.py
|
120
120
|
enterprise_data/migrations/0047_enterpriseexecedlcmoduleperformance_avg_after_lo_score_and_more.py
|
121
|
+
enterprise_data/migrations/0048_alter_enterpriseexecedlcmoduleperformance_avg_after_lo_score_and_more.py
|
121
122
|
enterprise_data/migrations/__init__.py
|
122
123
|
enterprise_data/settings/__init__.py
|
123
124
|
enterprise_data/settings/test.py
|
{edx_enterprise_data-10.9.0 → edx_enterprise_data-10.9.2}/enterprise_data/api/v1/serializers.py
RENAMED
@@ -6,6 +6,7 @@ from uuid import UUID
|
|
6
6
|
from rest_framework import serializers
|
7
7
|
|
8
8
|
from enterprise_data.admin_analytics.constants import ResponseType
|
9
|
+
from enterprise_data.cache.decorators import cache_it
|
9
10
|
from enterprise_data.models import (
|
10
11
|
EnterpriseAdminLearnerProgress,
|
11
12
|
EnterpriseAdminSummarizeInsights,
|
@@ -26,6 +27,8 @@ class EnterpriseLearnerEnrollmentSerializer(serializers.ModelSerializer):
|
|
26
27
|
course_api_url = serializers.SerializerMethodField()
|
27
28
|
enterprise_user_id = serializers.SerializerMethodField()
|
28
29
|
total_learning_time_hours = serializers.SerializerMethodField()
|
30
|
+
enterprise_flex_group_name = serializers.SerializerMethodField()
|
31
|
+
enterprise_flex_group_uuid = serializers.SerializerMethodField()
|
29
32
|
|
30
33
|
class Meta:
|
31
34
|
model = EnterpriseLearnerEnrollment
|
@@ -44,8 +47,9 @@ class EnterpriseLearnerEnrollmentSerializer(serializers.ModelSerializer):
|
|
44
47
|
'last_activity_date', 'progress_status', 'passed_date', 'current_grade',
|
45
48
|
'letter_grade', 'enterprise_user_id', 'user_email', 'user_account_creation_date',
|
46
49
|
'user_country_code', 'user_username', 'user_first_name', 'user_last_name', 'enterprise_name',
|
47
|
-
'enterprise_customer_uuid', 'enterprise_sso_uid', 'created', 'course_api_url',
|
48
|
-
'
|
50
|
+
'enterprise_customer_uuid', 'enterprise_sso_uid', 'created', 'course_api_url',
|
51
|
+
'total_learning_time_hours', 'is_subsidy', 'course_product_line', 'budget_id',
|
52
|
+
'enterprise_flex_group_name', 'enterprise_flex_group_uuid',
|
49
53
|
)
|
50
54
|
|
51
55
|
def get_course_api_url(self, obj):
|
@@ -62,6 +66,51 @@ class EnterpriseLearnerEnrollmentSerializer(serializers.ModelSerializer):
|
|
62
66
|
"""Returns the learners total learning time in hours"""
|
63
67
|
return round((obj.total_learning_time_seconds or 0.0)/3600.0, 2)
|
64
68
|
|
69
|
+
@cache_it()
|
70
|
+
def _get_flex_groups(self, obj):
|
71
|
+
"""
|
72
|
+
Returns list of tuples containing group (name, uuid) pairs for the learner.
|
73
|
+
This is cached to prevent duplicate database queries.
|
74
|
+
"""
|
75
|
+
enterprise_user_id = obj.enterprise_user_id
|
76
|
+
|
77
|
+
if not enterprise_user_id:
|
78
|
+
return []
|
79
|
+
|
80
|
+
# Get all group memberships for this user in a single query
|
81
|
+
# Order by name for consistent ordering
|
82
|
+
return list(
|
83
|
+
EnterpriseGroupMembership.objects.filter(
|
84
|
+
enterprise_customer_user_id=enterprise_user_id,
|
85
|
+
membership_is_removed=False,
|
86
|
+
group_is_removed=False,
|
87
|
+
group_type="flex",
|
88
|
+
)
|
89
|
+
.order_by("enterprise_group_name")
|
90
|
+
.values_list("enterprise_group_name", "enterprise_group_uuid")
|
91
|
+
.distinct()
|
92
|
+
)
|
93
|
+
|
94
|
+
def get_enterprise_flex_group_name(self, obj):
|
95
|
+
"""Returns a comma-separated list of enterprise group names that the learner is associated with"""
|
96
|
+
groups = self._get_flex_groups(obj)
|
97
|
+
|
98
|
+
if not groups:
|
99
|
+
return obj.enterprise_group_name
|
100
|
+
|
101
|
+
# Return comma-separated list of group names (first element of each tuple)
|
102
|
+
return ', '.join(group[0] for group in groups)
|
103
|
+
|
104
|
+
def get_enterprise_flex_group_uuid(self, obj):
|
105
|
+
"""Returns a comma-separated list of enterprise group UUIDs that the learner is associated with"""
|
106
|
+
groups = self._get_flex_groups(obj)
|
107
|
+
|
108
|
+
if not groups:
|
109
|
+
return obj.enterprise_group_uuid
|
110
|
+
|
111
|
+
# Return comma-separated list of group UUIDs (second element of each tuple)
|
112
|
+
return ', '.join(str(group[1]) for group in groups)
|
113
|
+
|
65
114
|
|
66
115
|
class EnterpriseSubsidyBudgetSerializer(serializers.ModelSerializer):
|
67
116
|
"""
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Generated by Django 4.2.15 on 2025-02-25 08:17
|
2
|
+
|
3
|
+
from django.db import migrations, models
|
4
|
+
|
5
|
+
|
6
|
+
class Migration(migrations.Migration):
|
7
|
+
|
8
|
+
dependencies = [
|
9
|
+
('enterprise_data', '0047_enterpriseexecedlcmoduleperformance_avg_after_lo_score_and_more'),
|
10
|
+
]
|
11
|
+
|
12
|
+
operations = [
|
13
|
+
migrations.AlterField(
|
14
|
+
model_name='enterpriseexecedlcmoduleperformance',
|
15
|
+
name='avg_after_lo_score',
|
16
|
+
field=models.DecimalField(decimal_places=2, max_digits=38, null=True),
|
17
|
+
),
|
18
|
+
migrations.AlterField(
|
19
|
+
model_name='enterpriseexecedlcmoduleperformance',
|
20
|
+
name='avg_before_lo_score',
|
21
|
+
field=models.DecimalField(decimal_places=2, max_digits=38, null=True),
|
22
|
+
),
|
23
|
+
]
|
@@ -559,8 +559,8 @@ class EnterpriseExecEdLCModulePerformance(models.Model):
|
|
559
559
|
discussion_forum_activities_total_count = models.PositiveIntegerField(null=True)
|
560
560
|
pass_grade = models.DecimalField(max_digits=38, decimal_places=2, null=True)
|
561
561
|
question_name = models.CharField(max_length=500, null=True)
|
562
|
-
avg_before_lo_score = models.DecimalField(max_digits=38, decimal_places=
|
563
|
-
avg_after_lo_score = models.DecimalField(max_digits=38, decimal_places=
|
562
|
+
avg_before_lo_score = models.DecimalField(max_digits=38, decimal_places=2, null=True)
|
563
|
+
avg_after_lo_score = models.DecimalField(max_digits=38, decimal_places=2, null=True)
|
564
564
|
|
565
565
|
def __str__(self):
|
566
566
|
"""
|
@@ -27,7 +27,7 @@ class EnrollmentsCSVRenderer(CSVStreamingRenderer):
|
|
27
27
|
'letter_grade', 'enterprise_user_id', 'user_email', 'user_account_creation_date',
|
28
28
|
'user_country_code', 'user_username', 'user_first_name', 'user_last_name', 'enterprise_name',
|
29
29
|
'enterprise_customer_uuid', 'enterprise_sso_uid', 'created', 'course_api_url', 'total_learning_time_hours',
|
30
|
-
'is_subsidy', 'course_product_line', 'budget_id', '
|
30
|
+
'is_subsidy', 'course_product_line', 'budget_id', 'enterprise_flex_group_name', 'enterprise_flex_group_uuid',
|
31
31
|
]
|
32
32
|
|
33
33
|
|
@@ -10,15 +10,15 @@ asgiref==3.8.1
|
|
10
10
|
# via django
|
11
11
|
asn1crypto==1.5.1
|
12
12
|
# via snowflake-connector-python
|
13
|
-
awscli==1.
|
13
|
+
awscli==1.38.9
|
14
14
|
# via -r requirements/reporting.in
|
15
|
-
bcrypt==4.
|
15
|
+
bcrypt==4.3.0
|
16
16
|
# via paramiko
|
17
17
|
billiard==4.2.1
|
18
18
|
# via celery
|
19
|
-
boto3==1.
|
19
|
+
boto3==1.37.9
|
20
20
|
# via -r requirements/reporting.in
|
21
|
-
botocore==1.
|
21
|
+
botocore==1.37.9
|
22
22
|
# via
|
23
23
|
# awscli
|
24
24
|
# boto3
|
@@ -54,7 +54,7 @@ click-repl==0.3.0
|
|
54
54
|
# via celery
|
55
55
|
colorama==0.4.6
|
56
56
|
# via awscli
|
57
|
-
cryptography==44.0.
|
57
|
+
cryptography==44.0.2
|
58
58
|
# via
|
59
59
|
# -r requirements/reporting.in
|
60
60
|
# django-fernet-fields-v2
|
@@ -63,7 +63,7 @@ cryptography==44.0.1
|
|
63
63
|
# pyjwt
|
64
64
|
# pyopenssl
|
65
65
|
# snowflake-connector-python
|
66
|
-
django==4.2.
|
66
|
+
django==4.2.20
|
67
67
|
# via
|
68
68
|
# -c /home/runner/work/edx-enterprise-data/edx-enterprise-data/requirements/common_constraints.txt
|
69
69
|
# -r requirements/base.in
|
@@ -106,7 +106,7 @@ docutils==0.16
|
|
106
106
|
# via awscli
|
107
107
|
drf-jwt==1.19.2
|
108
108
|
# via edx-drf-extensions
|
109
|
-
edx-django-utils==7.
|
109
|
+
edx-django-utils==7.2.0
|
110
110
|
# via
|
111
111
|
# -r requirements/base.in
|
112
112
|
# edx-drf-extensions
|
@@ -125,7 +125,7 @@ edx-rest-api-client==6.1.0
|
|
125
125
|
# via -r requirements/base.in
|
126
126
|
factory-boy==3.3.3
|
127
127
|
# via -r requirements/base.in
|
128
|
-
faker==
|
128
|
+
faker==37.0.0
|
129
129
|
# via factory-boy
|
130
130
|
filelock==3.17.0
|
131
131
|
# via snowflake-connector-python
|
@@ -145,7 +145,7 @@ monotonic==1.6
|
|
145
145
|
# via py2neo
|
146
146
|
mysql-connector-python==9.2.0
|
147
147
|
# via -r requirements/base.in
|
148
|
-
newrelic==10.
|
148
|
+
newrelic==10.7.0
|
149
149
|
# via edx-django-utils
|
150
150
|
numpy==2.2.3
|
151
151
|
# via
|
@@ -191,13 +191,13 @@ pyjwt[crypto]==2.10.1
|
|
191
191
|
# snowflake-connector-python
|
192
192
|
pyminizip==0.2.6
|
193
193
|
# via -r requirements/reporting.in
|
194
|
-
pymongo==4.11.
|
194
|
+
pymongo==4.11.2
|
195
195
|
# via edx-opaque-keys
|
196
196
|
pynacl==1.5.0
|
197
197
|
# via
|
198
198
|
# edx-django-utils
|
199
199
|
# paramiko
|
200
|
-
pyopenssl==
|
200
|
+
pyopenssl==25.0.0
|
201
201
|
# via snowflake-connector-python
|
202
202
|
python-dateutil==2.9.0.post0
|
203
203
|
# via
|
@@ -222,7 +222,7 @@ rsa==4.7.2
|
|
222
222
|
# via awscli
|
223
223
|
rules==3.5
|
224
224
|
# via -r requirements/base.in
|
225
|
-
s3transfer==0.11.
|
225
|
+
s3transfer==0.11.4
|
226
226
|
# via
|
227
227
|
# awscli
|
228
228
|
# boto3
|
@@ -235,13 +235,13 @@ six==1.17.0
|
|
235
235
|
# py2neo
|
236
236
|
# python-dateutil
|
237
237
|
# vertica-python
|
238
|
-
snowflake-connector-python==3.
|
238
|
+
snowflake-connector-python==3.14.0
|
239
239
|
# via -r requirements/reporting.in
|
240
240
|
sortedcontainers==2.4.0
|
241
241
|
# via snowflake-connector-python
|
242
242
|
sqlparse==0.5.3
|
243
243
|
# via django
|
244
|
-
stevedore==5.4.
|
244
|
+
stevedore==5.4.1
|
245
245
|
# via
|
246
246
|
# edx-django-utils
|
247
247
|
# edx-opaque-keys
|
@@ -250,6 +250,7 @@ tomlkit==0.13.2
|
|
250
250
|
typing-extensions==4.12.2
|
251
251
|
# via
|
252
252
|
# edx-opaque-keys
|
253
|
+
# pyopenssl
|
253
254
|
# snowflake-connector-python
|
254
255
|
tzdata==2025.1
|
255
256
|
# via
|
@@ -4,7 +4,7 @@
|
|
4
4
|
#
|
5
5
|
# make upgrade
|
6
6
|
#
|
7
|
-
cachetools==5.5.
|
7
|
+
cachetools==5.5.2
|
8
8
|
# via tox
|
9
9
|
chardet==5.2.0
|
10
10
|
# via tox
|
@@ -30,7 +30,7 @@ pluggy==1.5.0
|
|
30
30
|
# via tox
|
31
31
|
pyproject-api==1.9.0
|
32
32
|
# via tox
|
33
|
-
tox==4.24.
|
33
|
+
tox==4.24.2
|
34
34
|
# via -r requirements/ci.in
|
35
|
-
virtualenv==20.29.
|
35
|
+
virtualenv==20.29.3
|
36
36
|
# via tox
|
@@ -10,26 +10,26 @@ asgiref==3.8.1
|
|
10
10
|
# via django
|
11
11
|
asn1crypto==1.5.1
|
12
12
|
# via snowflake-connector-python
|
13
|
-
astroid==3.3.
|
13
|
+
astroid==3.3.9
|
14
14
|
# via
|
15
15
|
# pylint
|
16
16
|
# pylint-celery
|
17
|
-
awscli==1.
|
17
|
+
awscli==1.38.9
|
18
18
|
# via -r requirements/reporting.in
|
19
|
-
bcrypt==4.
|
19
|
+
bcrypt==4.3.0
|
20
20
|
# via paramiko
|
21
21
|
billiard==4.2.1
|
22
22
|
# via celery
|
23
|
-
boto3==1.
|
23
|
+
boto3==1.37.9
|
24
24
|
# via -r requirements/reporting.in
|
25
|
-
botocore==1.
|
25
|
+
botocore==1.37.9
|
26
26
|
# via
|
27
27
|
# awscli
|
28
28
|
# boto3
|
29
29
|
# s3transfer
|
30
30
|
build==1.2.2.post1
|
31
31
|
# via pip-tools
|
32
|
-
cachetools==5.5.
|
32
|
+
cachetools==5.5.2
|
33
33
|
# via tox
|
34
34
|
celery==5.3.6
|
35
35
|
# via -r requirements/reporting.in
|
@@ -76,7 +76,7 @@ colorama==0.4.6
|
|
76
76
|
# via
|
77
77
|
# awscli
|
78
78
|
# tox
|
79
|
-
cryptography==44.0.
|
79
|
+
cryptography==44.0.2
|
80
80
|
# via
|
81
81
|
# -r requirements/reporting.in
|
82
82
|
# django-fernet-fields-v2
|
@@ -86,13 +86,13 @@ cryptography==44.0.1
|
|
86
86
|
# pyopenssl
|
87
87
|
# secretstorage
|
88
88
|
# snowflake-connector-python
|
89
|
-
diff-cover==9.2.
|
89
|
+
diff-cover==9.2.4
|
90
90
|
# via -r requirements/dev-enterprise_data.in
|
91
91
|
dill==0.3.9
|
92
92
|
# via pylint
|
93
93
|
distlib==0.3.9
|
94
94
|
# via virtualenv
|
95
|
-
django==4.2.
|
95
|
+
django==4.2.20
|
96
96
|
# via
|
97
97
|
# -c /home/runner/work/edx-enterprise-data/edx-enterprise-data/requirements/common_constraints.txt
|
98
98
|
# -r requirements/base.in
|
@@ -138,7 +138,7 @@ docutils==0.16
|
|
138
138
|
# readme-renderer
|
139
139
|
drf-jwt==1.19.2
|
140
140
|
# via edx-drf-extensions
|
141
|
-
edx-django-utils==7.
|
141
|
+
edx-django-utils==7.2.0
|
142
142
|
# via
|
143
143
|
# -r requirements/base.in
|
144
144
|
# edx-drf-extensions
|
@@ -163,7 +163,7 @@ edx-rest-api-client==6.1.0
|
|
163
163
|
# via -r requirements/base.in
|
164
164
|
factory-boy==3.3.3
|
165
165
|
# via -r requirements/base.in
|
166
|
-
faker==
|
166
|
+
faker==37.0.0
|
167
167
|
# via factory-boy
|
168
168
|
filelock==3.17.0
|
169
169
|
# via
|
@@ -178,7 +178,7 @@ idna==3.10
|
|
178
178
|
# snowflake-connector-python
|
179
179
|
interchange==2021.0.4
|
180
180
|
# via py2neo
|
181
|
-
isort==6.0.
|
181
|
+
isort==6.0.1
|
182
182
|
# via
|
183
183
|
# -r requirements/quality.in
|
184
184
|
# pylint
|
@@ -188,11 +188,11 @@ jaraco-context==6.0.1
|
|
188
188
|
# via keyring
|
189
189
|
jaraco-functools==4.1.0
|
190
190
|
# via keyring
|
191
|
-
jeepney==0.
|
191
|
+
jeepney==0.9.0
|
192
192
|
# via
|
193
193
|
# keyring
|
194
194
|
# secretstorage
|
195
|
-
jinja2==3.1.
|
195
|
+
jinja2==3.1.6
|
196
196
|
# via
|
197
197
|
# code-annotations
|
198
198
|
# diff-cover
|
@@ -226,9 +226,9 @@ more-itertools==10.6.0
|
|
226
226
|
# jaraco-functools
|
227
227
|
mysql-connector-python==9.2.0
|
228
228
|
# via -r requirements/base.in
|
229
|
-
newrelic==10.
|
229
|
+
newrelic==10.7.0
|
230
230
|
# via edx-django-utils
|
231
|
-
nh3==0.2.
|
231
|
+
nh3==0.2.21
|
232
232
|
# via readme-renderer
|
233
233
|
numpy==2.2.3
|
234
234
|
# via
|
@@ -298,7 +298,7 @@ pyjwt[crypto]==2.10.1
|
|
298
298
|
# edx-drf-extensions
|
299
299
|
# edx-rest-api-client
|
300
300
|
# snowflake-connector-python
|
301
|
-
pylint==3.3.
|
301
|
+
pylint==3.3.5
|
302
302
|
# via
|
303
303
|
# edx-lint
|
304
304
|
# pylint-celery
|
@@ -314,13 +314,13 @@ pylint-plugin-utils==0.8.2
|
|
314
314
|
# pylint-django
|
315
315
|
pyminizip==0.2.6
|
316
316
|
# via -r requirements/reporting.in
|
317
|
-
pymongo==4.11.
|
317
|
+
pymongo==4.11.2
|
318
318
|
# via edx-opaque-keys
|
319
319
|
pynacl==1.5.0
|
320
320
|
# via
|
321
321
|
# edx-django-utils
|
322
322
|
# paramiko
|
323
|
-
pyopenssl==
|
323
|
+
pyopenssl==25.0.0
|
324
324
|
# via snowflake-connector-python
|
325
325
|
pyproject-api==1.9.0
|
326
326
|
# via tox
|
@@ -367,7 +367,7 @@ rsa==4.7.2
|
|
367
367
|
# via awscli
|
368
368
|
rules==3.5
|
369
369
|
# via -r requirements/base.in
|
370
|
-
s3transfer==0.11.
|
370
|
+
s3transfer==0.11.4
|
371
371
|
# via
|
372
372
|
# awscli
|
373
373
|
# boto3
|
@@ -385,13 +385,13 @@ six==1.17.0
|
|
385
385
|
# vertica-python
|
386
386
|
snowballstemmer==2.2.0
|
387
387
|
# via pydocstyle
|
388
|
-
snowflake-connector-python==3.
|
388
|
+
snowflake-connector-python==3.14.0
|
389
389
|
# via -r requirements/reporting.in
|
390
390
|
sortedcontainers==2.4.0
|
391
391
|
# via snowflake-connector-python
|
392
392
|
sqlparse==0.5.3
|
393
393
|
# via django
|
394
|
-
stevedore==5.4.
|
394
|
+
stevedore==5.4.1
|
395
395
|
# via
|
396
396
|
# code-annotations
|
397
397
|
# edx-django-utils
|
@@ -404,13 +404,14 @@ tomlkit==0.13.2
|
|
404
404
|
# via
|
405
405
|
# pylint
|
406
406
|
# snowflake-connector-python
|
407
|
-
tox==4.24.
|
407
|
+
tox==4.24.2
|
408
408
|
# via -r requirements/dev-enterprise_data.in
|
409
409
|
twine==6.1.0
|
410
410
|
# via -r requirements/dev-enterprise_data.in
|
411
411
|
typing-extensions==4.12.2
|
412
412
|
# via
|
413
413
|
# edx-opaque-keys
|
414
|
+
# pyopenssl
|
414
415
|
# snowflake-connector-python
|
415
416
|
tzdata==2025.1
|
416
417
|
# via
|
@@ -434,7 +435,7 @@ vine==5.1.0
|
|
434
435
|
# amqp
|
435
436
|
# celery
|
436
437
|
# kombu
|
437
|
-
virtualenv==20.29.
|
438
|
+
virtualenv==20.29.3
|
438
439
|
# via tox
|
439
440
|
wcwidth==0.2.13
|
440
441
|
# via prompt-toolkit
|
@@ -0,0 +1 @@
|
|
1
|
+
django==4.2.20
|