edx-enterprise-data 9.6.0__tar.gz → 10.0.1__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-9.6.0 → edx_enterprise_data-10.0.1}/CHANGELOG.rst +14 -0
- {edx_enterprise_data-9.6.0/edx_enterprise_data.egg-info → edx_enterprise_data-10.0.1}/PKG-INFO +3 -4
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1/edx_enterprise_data.egg-info}/PKG-INFO +3 -4
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/edx_enterprise_data.egg-info/requires.txt +2 -2
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/__init__.py +1 -1
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v1/serializers.py +13 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v1/urls.py +5 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v1/views/enterprise_admin.py +24 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v1/views/enterprise_learner.py +4 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/api/v1/views/test_enterprise_admin.py +47 -1
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/base.in +2 -2
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/base.txt +21 -24
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/ci.txt +5 -5
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/constraints.txt +0 -15
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/dev.txt +33 -49
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/pip.txt +2 -2
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/pip_tools.txt +2 -2
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/quality.txt +34 -50
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/test-master.txt +22 -25
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/test-reporting.txt +13 -14
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/test.txt +22 -25
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/setup.py +0 -1
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/LICENSE +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/MANIFEST.in +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/README.md +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/edx_enterprise_data.egg-info/SOURCES.txt +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/edx_enterprise_data.egg-info/dependency_links.txt +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/edx_enterprise_data.egg-info/not-zip-safe +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/edx_enterprise_data.egg-info/top_level.txt +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/constants.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/data_loaders.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/database/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/database/queries/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/database/queries/fact_engagement_admin_dash.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/database/queries/fact_enrollment_admin_dash.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/database/queries/skills_daily_rollup_admin_dash.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/database/tables/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/database/tables/base.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/database/tables/fact_engagement_admin_dash.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/database/tables/fact_enrollment_admin_dash.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/database/tables/skills_daily_rollup_admin_dash.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/admin_analytics/database/utils.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/urls.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v0/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v0/serializers.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v0/urls.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v0/views.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v1/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v1/views/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v1/views/analytics_completions.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v1/views/analytics_engagements.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v1/views/analytics_enrollments.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v1/views/analytics_leaderboard.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v1/views/base.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v1/views/enterprise_offers.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/apps.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/cache/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/cache/decorators.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/clients.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/constants.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/filters.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/fixtures/enterprise_enrollment.json +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/fixtures/enterprise_user.json +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/create_dummy_data.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/create_dummy_data_lpr_v1.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/create_enterprise_enrollment.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/create_enterprise_learner_enrollment_lpr_v1.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/create_enterprise_learner_lpr_v1.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/create_enterprise_offer.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/create_enterprise_user.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/tests/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/tests/test_create_dummy_data_lpr_v1.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/tests/test_create_enterprise_enrollment.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/tests/test_create_enterprise_learner_enrollment_lpr_v1.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/tests/test_create_enterprise_learner_lpr_v1.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/management/commands/tests/test_create_enterprise_user.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0001_initial.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0002_auto_20180430_1358.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0003_auto_20180501_0603.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0004_auto_20180501_0928.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0004_auto_20180508_1652.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0005_auto_20180524_2204.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0006_auto_20180612_0336.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0007_auto_20180612_0534.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0008_auto_20180614_0108.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0009_auto_20180628_1152.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0010_enterpriseenrollment_created.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0011_enterpriseuser.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0012_auto_20180831_1930.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0013_auto_20180831_1931.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0014_enterpriseuser_created.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0015_auto_20180907_1757.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0016_auto_20180924_2138.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0017_enterpriseenrollment_unenrollment_timestamp.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0018_enterprisedatafeaturerole_enterprisedataroleassignment.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0019_add_enterprise_data_feature_roles.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0020_add_role_based_access_control_switch.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0021_auto_20190329_1241.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0022_remove_role_based_access_control_switch.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0023_enterpriselearner_enterpriselearnerenrollment.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0024_auto_20210602_1811.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0025_auto_20210703_1854.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0026_auto_20210916_0414.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0027_enterpriselearnerenrollment_total_learning_time_seconds.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0028_enterpriselearnerenrollment_offer_id.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0029_enterpriseoffer.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0030_auto_20230609_1353.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0031_auto_20230615_0705.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0032_auto_20230704_0818.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0033_enterpriseadminlearnerprogress_enterpriseadminsummarizeinsights.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0034_auto_20230907_0834.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0035_auto_20230907_1154.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0036_enterprisesubsidybudget_subsidy_access_policy_display_name.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0037_alter_enterpriseenrollment_consent_granted.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0038_enterpriseoffer_export_timestamp.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0039_auto_20240212_1403.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0040_auto_20240718_0536_squashed_0043_alter_enterpriselearnerenrollment_enterprise_enrollment_id.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/0044_enterpriseexecedlcmoduleperformance.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/migrations/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/models.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/paginators.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/renderers.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/settings/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/settings/test.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/signals.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/admin_analytics/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/admin_analytics/mock_analytics_data.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/admin_analytics/mock_enrollments.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/admin_analytics/test_analytics_engagements.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/admin_analytics/test_analytics_enrollments.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/admin_analytics/test_analytics_leaderboard.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/admin_analytics/test_data_loaders.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/admin_analytics/test_enterprise_completions.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/api/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/api/v0/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/api/v0/test_serializers.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/api/v1/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/api/v1/test_serializers.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/api/v1/test_views.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/api/v1/views/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/factories.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/mixins.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/test_clients.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/test_filters.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/test_models.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/test_utils.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/tests/test_views.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/urls.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/utils.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/admin.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/apps.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/constants.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/migrations/0001_initial.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/migrations/0002_add_enterprise_data_feature_roles.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/migrations/0003_add_role_based_access_control_switch.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/migrations/0004_enterprisedataroleassignment_enterprise_id.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/migrations/0005_turn_on_role_based_access_control_switch.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/migrations/0006_remove_role_based_access_control_switch.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/migrations/0007_enterprisedataroleassignment_applies_to_all_contexts.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/migrations/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/models.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/rules.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/tests/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/tests/factories.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data_roles/tests/test_models.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/clients/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/clients/enterprise.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/clients/s3.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/clients/snowflake.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/clients/vertica.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/delivery_method.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/external_resource_link_report.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/fixtures/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/fixtures/enterprise_customer_reporting.json +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/reporter.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/send_enterprise_reports.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/tests/__init__.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/tests/test_clients.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/tests/test_delivery_method.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/tests/test_enterprise_client.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/tests/test_external_link_report.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/tests/test_reporter.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/tests/test_send_enterprise_reports.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/tests/test_utils.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/tests/test_vertica_client.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/tests/utils.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_reporting/utils.py +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/common_constraints.txt +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/django.txt +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/requirements/reporting.in +0 -0
- {edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/setup.cfg +0 -0
@@ -16,6 +16,20 @@ Unreleased
|
|
16
16
|
|
17
17
|
=========================
|
18
18
|
|
19
|
+
[10.0.1] - 2024-10-25
|
20
|
+
---------------------
|
21
|
+
* Same as ``10.0.0``
|
22
|
+
* Bumping the version so a new tag can be created in the GitHub
|
23
|
+
|
24
|
+
[10.0.0] - 2024-10-25
|
25
|
+
---------------------
|
26
|
+
* feat!: Python 3.12 Upgrade
|
27
|
+
* Dropped support for ``Python<3.12``
|
28
|
+
|
29
|
+
[9.7.0] - 2024-10-23
|
30
|
+
---------------------
|
31
|
+
* feat: Add API to fetch enterprise budgets information
|
32
|
+
|
19
33
|
[9.6.0] - 2024-10-14
|
20
34
|
---------------------
|
21
35
|
* feat: Added caching for API endpoints related to advanced analytics.
|
{edx_enterprise_data-9.6.0/edx_enterprise_data.egg-info → edx_enterprise_data-10.0.1}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: edx-enterprise-data
|
3
|
-
Version:
|
3
|
+
Version: 10.0.1
|
4
4
|
Summary: Enterprise Reporting
|
5
5
|
Home-page: https://github.com/openedx/edx-enterprise-data
|
6
6
|
Author: edX
|
@@ -9,7 +9,6 @@ License: AGPL 3.0
|
|
9
9
|
Classifier: Framework :: Django
|
10
10
|
Classifier: Framework :: Django :: 4.2
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
12
|
-
Classifier: Programming Language :: Python :: 3.8
|
13
12
|
Classifier: Programming Language :: Python :: 3.12
|
14
13
|
License-File: LICENSE
|
15
14
|
Requires-Dist: Django
|
@@ -24,8 +23,8 @@ Requires-Dist: edx-rbac
|
|
24
23
|
Requires-Dist: edx-rest-api-client
|
25
24
|
Requires-Dist: factory_boy
|
26
25
|
Requires-Dist: mysql-connector-python
|
27
|
-
Requires-Dist: numpy
|
28
|
-
Requires-Dist: pandas
|
26
|
+
Requires-Dist: numpy
|
27
|
+
Requires-Dist: pandas
|
29
28
|
Requires-Dist: requests
|
30
29
|
Requires-Dist: rules
|
31
30
|
Provides-Extra: reporting
|
{edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1/edx_enterprise_data.egg-info}/PKG-INFO
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: edx-enterprise-data
|
3
|
-
Version:
|
3
|
+
Version: 10.0.1
|
4
4
|
Summary: Enterprise Reporting
|
5
5
|
Home-page: https://github.com/openedx/edx-enterprise-data
|
6
6
|
Author: edX
|
@@ -9,7 +9,6 @@ License: AGPL 3.0
|
|
9
9
|
Classifier: Framework :: Django
|
10
10
|
Classifier: Framework :: Django :: 4.2
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
12
|
-
Classifier: Programming Language :: Python :: 3.8
|
13
12
|
Classifier: Programming Language :: Python :: 3.12
|
14
13
|
License-File: LICENSE
|
15
14
|
Requires-Dist: Django
|
@@ -24,8 +23,8 @@ Requires-Dist: edx-rbac
|
|
24
23
|
Requires-Dist: edx-rest-api-client
|
25
24
|
Requires-Dist: factory_boy
|
26
25
|
Requires-Dist: mysql-connector-python
|
27
|
-
Requires-Dist: numpy
|
28
|
-
Requires-Dist: pandas
|
26
|
+
Requires-Dist: numpy
|
27
|
+
Requires-Dist: pandas
|
29
28
|
Requires-Dist: requests
|
30
29
|
Requires-Dist: rules
|
31
30
|
Provides-Extra: reporting
|
{edx_enterprise_data-9.6.0 → edx_enterprise_data-10.0.1}/enterprise_data/api/v1/serializers.py
RENAMED
@@ -240,6 +240,19 @@ class EnterpriseExecEdLCModulePerformanceSerializer(serializers.ModelSerializer)
|
|
240
240
|
return obj.extensions_requested if obj.extensions_requested is not None else 0
|
241
241
|
|
242
242
|
|
243
|
+
class EnterpriseBudgetSerializer(serializers.ModelSerializer):
|
244
|
+
"""
|
245
|
+
Serializer for EnterpriseSubsidyBudget model.
|
246
|
+
"""
|
247
|
+
|
248
|
+
class Meta:
|
249
|
+
model = EnterpriseSubsidyBudget
|
250
|
+
fields = (
|
251
|
+
'subsidy_access_policy_uuid',
|
252
|
+
'subsidy_access_policy_display_name',
|
253
|
+
)
|
254
|
+
|
255
|
+
|
243
256
|
class AdvanceAnalyticsQueryParamSerializer(serializers.Serializer): # pylint: disable=abstract-method
|
244
257
|
"""Serializer for validating query params"""
|
245
258
|
RESPONSE_TYPES = [
|
@@ -96,6 +96,11 @@ urlpatterns = [
|
|
96
96
|
enterprise_admin_views.EnterpriseAdminAnalyticsSkillsView.as_view(),
|
97
97
|
name='enterprise-admin-analytics-skills'
|
98
98
|
),
|
99
|
+
re_path(
|
100
|
+
fr'^enterprise/(?P<enterprise_uuid>{UUID4_REGEX})/budgets',
|
101
|
+
enterprise_admin_views.EnterpriseBudgetView.as_view(),
|
102
|
+
name='enterprise-budgets'
|
103
|
+
),
|
99
104
|
]
|
100
105
|
|
101
106
|
urlpatterns += router.urls
|
@@ -21,6 +21,7 @@ from enterprise_data.models import (
|
|
21
21
|
EnterpriseAdminLearnerProgress,
|
22
22
|
EnterpriseAdminSummarizeInsights,
|
23
23
|
EnterpriseExecEdLCModulePerformance,
|
24
|
+
EnterpriseSubsidyBudget,
|
24
25
|
)
|
25
26
|
from enterprise_data.utils import timer
|
26
27
|
|
@@ -206,3 +207,26 @@ class EnterpriseExecEdLCModulePerformanceViewSet(EnterpriseViewSetMixin, viewset
|
|
206
207
|
return EnterpriseExecEdLCModulePerformance.objects.filter(
|
207
208
|
enterprise_customer_uuid=self.kwargs['enterprise_id'],
|
208
209
|
)
|
210
|
+
|
211
|
+
|
212
|
+
class EnterpriseBudgetView(APIView):
|
213
|
+
"""
|
214
|
+
View for getting budgets information for an enterprise.
|
215
|
+
"""
|
216
|
+
authentication_classes = (JwtAuthentication,)
|
217
|
+
http_method_names = ["get"]
|
218
|
+
|
219
|
+
@permission_required("can_access_enterprise", fn=lambda request, enterprise_uuid: enterprise_uuid)
|
220
|
+
def get(self, request, enterprise_uuid):
|
221
|
+
"""
|
222
|
+
Return the queryset of EnterpriseSubsidyBudget objects.
|
223
|
+
"""
|
224
|
+
budgets = EnterpriseSubsidyBudget.objects.filter(
|
225
|
+
enterprise_customer_uuid=enterprise_uuid,
|
226
|
+
).values(
|
227
|
+
'subsidy_access_policy_uuid',
|
228
|
+
'subsidy_access_policy_display_name',
|
229
|
+
)
|
230
|
+
|
231
|
+
serializer = serializers.EnterpriseBudgetSerializer(budgets, many=True)
|
232
|
+
return Response(serializer.data)
|
@@ -150,6 +150,10 @@ class EnterpriseLearnerEnrollmentViewSet(EnterpriseViewSetMixin, viewsets.ReadOn
|
|
150
150
|
if search_start_date:
|
151
151
|
queryset = queryset.filter(course_start_date=search_start_date)
|
152
152
|
|
153
|
+
budget_uuid = query_filters.get('budget_uuid')
|
154
|
+
if budget_uuid:
|
155
|
+
queryset = queryset.filter(budget_id=budget_uuid)
|
156
|
+
|
153
157
|
offer_id = query_filters.get('offer_id')
|
154
158
|
if offer_id:
|
155
159
|
queryset = self.filter_by_offer_id(queryset, offer_id)
|
@@ -21,7 +21,7 @@ from enterprise_data.tests.admin_analytics.mock_analytics_data import (
|
|
21
21
|
TOP_SKILLS_BY_ENROLLMENTS,
|
22
22
|
)
|
23
23
|
from enterprise_data.tests.mixins import JWTTestMixin
|
24
|
-
from enterprise_data.tests.test_utils import UserFactory, get_dummy_enterprise_api_data
|
24
|
+
from enterprise_data.tests.test_utils import EnterpriseSubsidyBudgetFactory, UserFactory, get_dummy_enterprise_api_data
|
25
25
|
from enterprise_data_roles.constants import ENTERPRISE_DATA_ADMIN_ROLE
|
26
26
|
from enterprise_data_roles.models import EnterpriseDataFeatureRole, EnterpriseDataRoleAssignment
|
27
27
|
|
@@ -245,3 +245,49 @@ class TestSkillsStatsAPI(JWTTestMixin, APITransactionTestCase):
|
|
245
245
|
response = self.client.get(self.url, params)
|
246
246
|
assert response.status_code == status.HTTP_400_BAD_REQUEST
|
247
247
|
assert response.json() == error
|
248
|
+
|
249
|
+
|
250
|
+
@ddt.ddt
|
251
|
+
class TestEnterpriseBudgetAPI(JWTTestMixin, APITransactionTestCase):
|
252
|
+
"""Tests for EnterpriseBudgetView."""
|
253
|
+
|
254
|
+
def setUp(self):
|
255
|
+
"""
|
256
|
+
Setup method.
|
257
|
+
"""
|
258
|
+
super().setUp()
|
259
|
+
self.user = UserFactory(is_staff=True)
|
260
|
+
role, __ = EnterpriseDataFeatureRole.objects.get_or_create(
|
261
|
+
name=ENTERPRISE_DATA_ADMIN_ROLE
|
262
|
+
)
|
263
|
+
self.role_assignment = EnterpriseDataRoleAssignment.objects.create(
|
264
|
+
role=role, user=self.user
|
265
|
+
)
|
266
|
+
self.client.force_authenticate(user=self.user)
|
267
|
+
|
268
|
+
self.enterprise_uuid = "ee5e6b3a069a4947bb8dd2dbc323396c"
|
269
|
+
self.set_jwt_cookie()
|
270
|
+
|
271
|
+
self.url = reverse(
|
272
|
+
"v1:enterprise-budgets",
|
273
|
+
kwargs={"enterprise_uuid": self.enterprise_uuid},
|
274
|
+
)
|
275
|
+
|
276
|
+
self.enterprise_subsidy_budget = EnterpriseSubsidyBudgetFactory(
|
277
|
+
enterprise_customer_uuid=self.enterprise_uuid,
|
278
|
+
subsidy_access_policy_uuid='8d6503dd-e40d-42b8-442b-37dd4c5450e3',
|
279
|
+
subsidy_access_policy_display_name='test-budget'
|
280
|
+
)
|
281
|
+
|
282
|
+
def test_get(self):
|
283
|
+
"""
|
284
|
+
Test the GET method for the EnterpriseBudgetView works.
|
285
|
+
"""
|
286
|
+
response = self.client.get(self.url)
|
287
|
+
assert response.status_code == status.HTTP_200_OK
|
288
|
+
assert response.json() == [
|
289
|
+
{
|
290
|
+
'subsidy_access_policy_uuid': '8d6503dd-e40d-42b8-442b-37dd4c5450e3',
|
291
|
+
'subsidy_access_policy_display_name': 'test-budget',
|
292
|
+
}
|
293
|
+
]
|
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# This file is autogenerated by pip-compile with Python 3.
|
2
|
+
# This file is autogenerated by pip-compile with Python 3.12
|
3
3
|
# by the following command:
|
4
4
|
#
|
5
5
|
# make upgrade
|
@@ -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.35.14
|
14
14
|
# via -r requirements/reporting.in
|
15
15
|
bcrypt==4.2.0
|
16
16
|
# via paramiko
|
17
17
|
billiard==4.2.1
|
18
18
|
# via celery
|
19
|
-
boto3==1.35.
|
19
|
+
boto3==1.35.48
|
20
20
|
# via -r requirements/reporting.in
|
21
|
-
botocore==1.35.
|
21
|
+
botocore==1.35.48
|
22
22
|
# via
|
23
23
|
# awscli
|
24
24
|
# boto3
|
@@ -35,7 +35,7 @@ cffi==1.17.1
|
|
35
35
|
# cryptography
|
36
36
|
# pynacl
|
37
37
|
# snowflake-connector-python
|
38
|
-
charset-normalizer==3.
|
38
|
+
charset-normalizer==3.4.0
|
39
39
|
# via
|
40
40
|
# requests
|
41
41
|
# snowflake-connector-python
|
@@ -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==43.0.
|
57
|
+
cryptography==43.0.3
|
58
58
|
# via
|
59
59
|
# -r requirements/reporting.in
|
60
60
|
# django-fernet-fields-v2
|
@@ -100,18 +100,18 @@ djangorestframework==3.15.2
|
|
100
100
|
# edx-drf-extensions
|
101
101
|
djangorestframework-csv==3.0.2
|
102
102
|
# via -r requirements/base.in
|
103
|
-
dnspython==2.
|
103
|
+
dnspython==2.7.0
|
104
104
|
# via pymongo
|
105
105
|
docutils==0.16
|
106
106
|
# via awscli
|
107
107
|
drf-jwt==1.19.2
|
108
108
|
# via edx-drf-extensions
|
109
|
-
edx-django-utils==
|
109
|
+
edx-django-utils==7.0.0
|
110
110
|
# via
|
111
111
|
# -r requirements/base.in
|
112
112
|
# edx-drf-extensions
|
113
113
|
# edx-rest-api-client
|
114
|
-
edx-drf-extensions==10.
|
114
|
+
edx-drf-extensions==10.5.0
|
115
115
|
# via
|
116
116
|
# -r requirements/base.in
|
117
117
|
# edx-rbac
|
@@ -125,7 +125,7 @@ edx-rest-api-client==6.0.0
|
|
125
125
|
# via -r requirements/base.in
|
126
126
|
factory-boy==3.3.1
|
127
127
|
# via -r requirements/base.in
|
128
|
-
faker==30.
|
128
|
+
faker==30.8.1
|
129
129
|
# via factory-boy
|
130
130
|
filelock==3.16.1
|
131
131
|
# via snowflake-connector-python
|
@@ -143,23 +143,20 @@ kombu==5.4.2
|
|
143
143
|
# via celery
|
144
144
|
monotonic==1.6
|
145
145
|
# via py2neo
|
146
|
-
mysql-connector-python==9.
|
146
|
+
mysql-connector-python==9.1.0
|
147
147
|
# via -r requirements/base.in
|
148
|
-
newrelic==10.
|
148
|
+
newrelic==10.2.0
|
149
149
|
# via edx-django-utils
|
150
|
-
numpy==1.
|
150
|
+
numpy==2.1.2
|
151
151
|
# via
|
152
|
-
# -c requirements/constraints.txt
|
153
152
|
# -r requirements/base.in
|
154
153
|
# pandas
|
155
154
|
packaging==24.1
|
156
155
|
# via
|
157
156
|
# py2neo
|
158
157
|
# snowflake-connector-python
|
159
|
-
pandas==2.
|
160
|
-
# via
|
161
|
-
# -c requirements/constraints.txt
|
162
|
-
# -r requirements/base.in
|
158
|
+
pandas==2.2.3
|
159
|
+
# via -r requirements/base.in
|
163
160
|
pansi==2020.7.3
|
164
161
|
# via py2neo
|
165
162
|
paramiko==3.5.0
|
@@ -172,7 +169,7 @@ platformdirs==4.3.6
|
|
172
169
|
# via snowflake-connector-python
|
173
170
|
prompt-toolkit==3.0.48
|
174
171
|
# via click-repl
|
175
|
-
psutil==6.
|
172
|
+
psutil==6.1.0
|
176
173
|
# via edx-django-utils
|
177
174
|
py2neo @ https://github.com/overhangio/py2neo/releases/download/2021.2.3/py2neo-2021.2.3.tar.gz
|
178
175
|
# via -r requirements/reporting.in
|
@@ -192,7 +189,7 @@ pyjwt[crypto]==2.9.0
|
|
192
189
|
# snowflake-connector-python
|
193
190
|
pyminizip==0.2.6
|
194
191
|
# via -r requirements/reporting.in
|
195
|
-
pymongo==4.
|
192
|
+
pymongo==4.10.1
|
196
193
|
# via edx-opaque-keys
|
197
194
|
pynacl==1.5.0
|
198
195
|
# via
|
@@ -224,7 +221,7 @@ rsa==4.7.2
|
|
224
221
|
# via awscli
|
225
222
|
rules==3.5
|
226
223
|
# via -r requirements/base.in
|
227
|
-
s3transfer==0.10.
|
224
|
+
s3transfer==0.10.3
|
228
225
|
# via
|
229
226
|
# awscli
|
230
227
|
# boto3
|
@@ -238,7 +235,7 @@ six==1.16.0
|
|
238
235
|
# py2neo
|
239
236
|
# python-dateutil
|
240
237
|
# vertica-python
|
241
|
-
snowflake-connector-python==3.12.
|
238
|
+
snowflake-connector-python==3.12.3
|
242
239
|
# via -r requirements/reporting.in
|
243
240
|
sortedcontainers==2.4.0
|
244
241
|
# via snowflake-connector-python
|
@@ -253,6 +250,7 @@ tomlkit==0.13.2
|
|
253
250
|
typing-extensions==4.12.2
|
254
251
|
# via
|
255
252
|
# edx-opaque-keys
|
253
|
+
# faker
|
256
254
|
# snowflake-connector-python
|
257
255
|
tzdata==2024.2
|
258
256
|
# via
|
@@ -261,9 +259,8 @@ tzdata==2024.2
|
|
261
259
|
# pandas
|
262
260
|
unicodecsv==0.14.1
|
263
261
|
# via -r requirements/reporting.in
|
264
|
-
urllib3==
|
262
|
+
urllib3==2.2.3
|
265
263
|
# via
|
266
|
-
# -c requirements/constraints.txt
|
267
264
|
# botocore
|
268
265
|
# py2neo
|
269
266
|
# requests
|
@@ -1,5 +1,5 @@
|
|
1
1
|
#
|
2
|
-
# This file is autogenerated by pip-compile with Python 3.
|
2
|
+
# This file is autogenerated by pip-compile with Python 3.12
|
3
3
|
# by the following command:
|
4
4
|
#
|
5
5
|
# make upgrade
|
@@ -10,9 +10,9 @@ chardet==5.2.0
|
|
10
10
|
# via tox
|
11
11
|
colorama==0.4.6
|
12
12
|
# via tox
|
13
|
-
coverage==7.6.
|
13
|
+
coverage==7.6.4
|
14
14
|
# via -r requirements/ci.in
|
15
|
-
distlib==0.3.
|
15
|
+
distlib==0.3.9
|
16
16
|
# via virtualenv
|
17
17
|
filelock==3.16.1
|
18
18
|
# via
|
@@ -30,7 +30,7 @@ pluggy==1.5.0
|
|
30
30
|
# via tox
|
31
31
|
pyproject-api==1.8.0
|
32
32
|
# via tox
|
33
|
-
tox==4.
|
33
|
+
tox==4.23.2
|
34
34
|
# via -r requirements/ci.in
|
35
|
-
virtualenv==20.
|
35
|
+
virtualenv==20.27.0
|
36
36
|
# via tox
|
@@ -12,18 +12,3 @@
|
|
12
12
|
|
13
13
|
# Common constraints for edx repos
|
14
14
|
-c common_constraints.txt
|
15
|
-
|
16
|
-
# Needed for Django 4.2 + Python 3.12 compatibility
|
17
|
-
backports.zoneinfo; python_version<"3.9"
|
18
|
-
|
19
|
-
# botocore 1.34.145 depends on urllib3<1.27 and >=1.25.4; python_version < "3.10"
|
20
|
-
urllib3<2.0.0
|
21
|
-
|
22
|
-
numpy<=1.24.4
|
23
|
-
pandas<=2.0.3
|
24
|
-
|
25
|
-
# this is the last supported version for python 3.8.x
|
26
|
-
astroid<=3.2.4
|
27
|
-
|
28
|
-
# upgrade to 5.4.0 causes issues with `importlib`
|
29
|
-
edx-lint<=5.3.7
|