diff --git a/credentials/apps/api/accreditors.py b/credentials/apps/api/accreditors.py index f9f38c519..459d5b750 100644 --- a/credentials/apps/api/accreditors.py +++ b/credentials/apps/api/accreditors.py @@ -4,7 +4,6 @@ from credentials.apps.credentials.constants import UserCredentialStatus from credentials.apps.credentials.issuers import CourseCertificateIssuer, ProgramCertificateIssuer - logger = logging.getLogger(__name__) diff --git a/credentials/apps/api/authentication.py b/credentials/apps/api/authentication.py index 4caef0ed9..18d0583c4 100644 --- a/credentials/apps/api/authentication.py +++ b/credentials/apps/api/authentication.py @@ -9,7 +9,6 @@ from credentials.apps.core.constants import Role - logger = logging.getLogger(__name__) diff --git a/credentials/apps/api/tests/mixins.py b/credentials/apps/api/tests/mixins.py index b860c5d13..a0104caff 100644 --- a/credentials/apps/api/tests/mixins.py +++ b/credentials/apps/api/tests/mixins.py @@ -14,7 +14,6 @@ from credentials.apps.core.constants import Role from credentials.apps.core.tests.factories import UserFactory - JWT_AUTH = "JWT_AUTH" diff --git a/credentials/apps/api/tests/test_accreditors.py b/credentials/apps/api/tests/test_accreditors.py index 56fa49205..34e730b7d 100644 --- a/credentials/apps/api/tests/test_accreditors.py +++ b/credentials/apps/api/tests/test_accreditors.py @@ -13,7 +13,6 @@ from credentials.apps.credentials.models import CourseCertificate, ProgramCertificate from credentials.apps.credentials.tests.factories import CourseCertificateFactory, ProgramCertificateFactory - LOGGER_NAME = "credentials.apps.api.accreditors" diff --git a/credentials/apps/api/urls.py b/credentials/apps/api/urls.py index d2c64ef8b..8a1eb364d 100644 --- a/credentials/apps/api/urls.py +++ b/credentials/apps/api/urls.py @@ -7,7 +7,6 @@ from django.urls import include, path - urlpatterns = [ path("v2/", include(("credentials.apps.api.v2.urls", "v2"), namespace="v2")), ] diff --git a/credentials/apps/api/v2/decorators.py b/credentials/apps/api/v2/decorators.py index fb63a1439..54bab4e39 100644 --- a/credentials/apps/api/v2/decorators.py +++ b/credentials/apps/api/v2/decorators.py @@ -6,7 +6,6 @@ from django.conf import settings - logger = logging.getLogger(__name__) diff --git a/credentials/apps/api/v2/serializers.py b/credentials/apps/api/v2/serializers.py index 3357fe8b3..89304d1d6 100644 --- a/credentials/apps/api/v2/serializers.py +++ b/credentials/apps/api/v2/serializers.py @@ -23,7 +23,6 @@ ) from credentials.apps.records.models import UserGrade - if TYPE_CHECKING: from credentials.apps.credentials.models import AbstractCertificate diff --git a/credentials/apps/api/v2/tests/test_views.py b/credentials/apps/api/v2/tests/test_views.py index e8df1226a..a0c1b65cc 100644 --- a/credentials/apps/api/v2/tests/test_views.py +++ b/credentials/apps/api/v2/tests/test_views.py @@ -33,7 +33,6 @@ from credentials.apps.records.models import UserGrade from credentials.apps.records.tests.factories import UserGradeFactory - JSON_CONTENT_TYPE = "application/json" LOGGER_NAME = "credentials.apps.credentials.issuers" LOGGER_NAME_SERIALIZER = "credentials.apps.api.v2.serializers" diff --git a/credentials/apps/api/v2/urls.py b/credentials/apps/api/v2/urls.py index 300730778..b6ffa98c7 100644 --- a/credentials/apps/api/v2/urls.py +++ b/credentials/apps/api/v2/urls.py @@ -3,7 +3,6 @@ from credentials.apps.api.v2 import views - # NOTE: Although this is v2 and other APIs in this application are v1, # the API naming and code layout convention here is not to be used for new # endpoints, per: diff --git a/credentials/apps/api/v2/views.py b/credentials/apps/api/v2/views.py index 6d092fb5e..00b0de9c4 100644 --- a/credentials/apps/api/v2/views.py +++ b/credentials/apps/api/v2/views.py @@ -22,7 +22,6 @@ from credentials.apps.credentials.models import CourseCertificate, UserCredential from credentials.apps.records.models import UserGrade - log = logging.getLogger(__name__) diff --git a/credentials/apps/badges/accredible/api_client.py b/credentials/apps/badges/accredible/api_client.py index 4dc46bcc9..53e4aa9b7 100644 --- a/credentials/apps/badges/accredible/api_client.py +++ b/credentials/apps/badges/accredible/api_client.py @@ -10,7 +10,6 @@ from credentials.apps.badges.base_api_client import BaseBadgeProviderClient from credentials.apps.badges.models import AccredibleAPIConfig, AccredibleGroup - logger = logging.getLogger(__name__) diff --git a/credentials/apps/badges/admin.py b/credentials/apps/badges/admin.py index e27068efd..82dbf2663 100644 --- a/credentials/apps/badges/admin.py +++ b/credentials/apps/badges/admin.py @@ -38,7 +38,6 @@ ) from credentials.apps.badges.toggles import is_badges_enabled - ADMIN_CHANGE_VIEW_REVERSE_NAMES = { CredlyBadgeTemplate.ORIGIN: "admin:badges_credlybadgetemplate_change", AccredibleGroup.ORIGIN: "admin:badges_accrediblegroup_change", @@ -254,13 +253,11 @@ class CredlyBadgeTemplateAdmin(admin.ModelAdmin): "site", "is_active", ), - "description": _( - """ + "description": _(""" WARNING: avoid configuration updates on activated badges. Active badge templates are continuously processed and learners may already have progress on them. Any changes in badge template requirements (including data rules) will affect learners' experience! - """ - ), + """), }, ), ( @@ -657,13 +654,11 @@ class AccredibleGroupAdmin(admin.ModelAdmin): "site", "is_active", ), - "description": _( - """ + "description": _(""" WARNING: avoid configuration updates on activated badges. Active badge templates are continuously processed and learners may already have progress on them. Any changes in badge template requirements (including data rules) will affect learners' experience! - """ - ), + """), }, ), ( diff --git a/credentials/apps/badges/base_api_client.py b/credentials/apps/badges/base_api_client.py index 082bdaf07..4ea83a2cf 100644 --- a/credentials/apps/badges/base_api_client.py +++ b/credentials/apps/badges/base_api_client.py @@ -7,7 +7,6 @@ from .exceptions import BadgeProviderError - logger = logging.getLogger(__name__) diff --git a/credentials/apps/badges/credly/api_client.py b/credentials/apps/badges/credly/api_client.py index b6584d579..b35eddc7d 100644 --- a/credentials/apps/badges/credly/api_client.py +++ b/credentials/apps/badges/credly/api_client.py @@ -14,7 +14,6 @@ from credentials.apps.badges.credly.utils import get_credly_api_base_url from credentials.apps.badges.models import CredlyBadgeTemplate, CredlyOrganization - logger = logging.getLogger(__name__) diff --git a/credentials/apps/badges/credly/webhooks.py b/credentials/apps/badges/credly/webhooks.py index b103ffe68..a7b740aa8 100644 --- a/credentials/apps/badges/credly/webhooks.py +++ b/credentials/apps/badges/credly/webhooks.py @@ -9,7 +9,6 @@ from ..models import CredlyBadgeTemplate, CredlyOrganization from .api_client import CredlyAPIClient - logger = logging.getLogger(__name__) diff --git a/credentials/apps/badges/issuers.py b/credentials/apps/badges/issuers.py index b56510361..7cbc29f93 100644 --- a/credentials/apps/badges/issuers.py +++ b/credentials/apps/badges/issuers.py @@ -32,7 +32,6 @@ from credentials.apps.credentials.constants import UserCredentialStatus from credentials.apps.credentials.issuers import AbstractCredentialIssuer - REVOCATION_STATES = { CredlyBadge: CredlyBadge.STATES.revoked, AccredibleBadge: AccredibleBadge.STATES.expired, diff --git a/credentials/apps/badges/management/commands/sync_organization_badge_templates.py b/credentials/apps/badges/management/commands/sync_organization_badge_templates.py index b55e968ab..bd35a03fb 100644 --- a/credentials/apps/badges/management/commands/sync_organization_badge_templates.py +++ b/credentials/apps/badges/management/commands/sync_organization_badge_templates.py @@ -5,7 +5,6 @@ from credentials.apps.badges.credly.api_client import CredlyAPIClient from credentials.apps.badges.models import CredlyOrganization - logger = logging.getLogger(__name__) diff --git a/credentials/apps/badges/models.py b/credentials/apps/badges/models.py index 225e137b7..5c21fb128 100644 --- a/credentials/apps/badges/models.py +++ b/credentials/apps/badges/models.py @@ -27,7 +27,6 @@ from credentials.apps.core.api import get_user_by_username from credentials.apps.credentials.models import AbstractCredential, UserCredential - logger = logging.getLogger(__name__) diff --git a/credentials/apps/badges/processing/generic.py b/credentials/apps/badges/processing/generic.py index 105831d42..2853b696e 100644 --- a/credentials/apps/badges/processing/generic.py +++ b/credentials/apps/badges/processing/generic.py @@ -10,7 +10,6 @@ from credentials.apps.badges.utils import extract_payload, get_user_data from credentials.apps.core.api import get_or_create_user_from_event_data - logger = logging.getLogger(__name__) diff --git a/credentials/apps/badges/processing/progression.py b/credentials/apps/badges/processing/progression.py index a967018fb..356d9bdf5 100644 --- a/credentials/apps/badges/processing/progression.py +++ b/credentials/apps/badges/processing/progression.py @@ -9,7 +9,6 @@ from credentials.apps.badges.models import BadgeRequirement - logger = logging.getLogger(__name__) diff --git a/credentials/apps/badges/processing/regression.py b/credentials/apps/badges/processing/regression.py index e88e51842..74e9714b6 100644 --- a/credentials/apps/badges/processing/regression.py +++ b/credentials/apps/badges/processing/regression.py @@ -9,7 +9,6 @@ from credentials.apps.badges.models import BadgePenalty - logger = logging.getLogger(__name__) diff --git a/credentials/apps/badges/signals/handlers.py b/credentials/apps/badges/signals/handlers.py index 2f6155bf1..70418c405 100644 --- a/credentials/apps/badges/signals/handlers.py +++ b/credentials/apps/badges/signals/handlers.py @@ -20,7 +20,6 @@ ) from credentials.apps.badges.utils import get_badging_event_types - logger = logging.getLogger(__name__) diff --git a/credentials/apps/badges/signals/signals.py b/credentials/apps/badges/signals/signals.py index a02dec413..dc42dc3de 100644 --- a/credentials/apps/badges/signals/signals.py +++ b/credentials/apps/badges/signals/signals.py @@ -7,7 +7,6 @@ from django.dispatch import Signal from openedx_events.learning.signals import BADGE_AWARDED, BADGE_REVOKED - logger = logging.getLogger(__name__) diff --git a/credentials/apps/badges/tests/test_admin_forms.py b/credentials/apps/badges/tests/test_admin_forms.py index 1c41d4013..36effb2fd 100644 --- a/credentials/apps/badges/tests/test_admin_forms.py +++ b/credentials/apps/badges/tests/test_admin_forms.py @@ -14,7 +14,6 @@ from credentials.apps.badges.exceptions import BadgeProviderError from credentials.apps.badges.models import BadgeRequirement, BadgeTemplate - COURSE_PASSING_EVENT = "org.openedx.learning.course.passing.status.updated.v1" diff --git a/credentials/apps/badges/tests/test_issuers.py b/credentials/apps/badges/tests/test_issuers.py index 5f9e3a427..793596b09 100644 --- a/credentials/apps/badges/tests/test_issuers.py +++ b/credentials/apps/badges/tests/test_issuers.py @@ -20,7 +20,6 @@ ) from credentials.apps.credentials.constants import UserCredentialStatus - User = get_user_model() diff --git a/credentials/apps/badges/tests/test_services.py b/credentials/apps/badges/tests/test_services.py index 87dc685e2..b6f91e8c8 100644 --- a/credentials/apps/badges/tests/test_services.py +++ b/credentials/apps/badges/tests/test_services.py @@ -25,7 +25,6 @@ from credentials.apps.badges.signals import BADGE_PROGRESS_COMPLETE from credentials.apps.badges.signals.handlers import handle_badge_completion - COURSE_PASSING_EVENT = "org.openedx.learning.course.passing.status.updated.v1" COURSE_PASSING_DATA = CoursePassingStatusData( is_passing=True, diff --git a/credentials/apps/badges/tests/test_utils.py b/credentials/apps/badges/tests/test_utils.py index 2d79f873c..e787e359e 100644 --- a/credentials/apps/badges/tests/test_utils.py +++ b/credentials/apps/badges/tests/test_utils.py @@ -18,7 +18,6 @@ keypath, ) - COURSE_PASSING_EVENT = "org.openedx.learning.course.passing.status.updated.v1" diff --git a/credentials/apps/badges/toggles.py b/credentials/apps/badges/toggles.py index b82d510d5..70d7c0973 100644 --- a/credentials/apps/badges/toggles.py +++ b/credentials/apps/badges/toggles.py @@ -4,7 +4,6 @@ from edx_toggles.toggles import SettingToggle - # .. toggle_name: BADGES_ENABLED # .. toggle_implementation: DjangoSetting # .. toggle_default: False diff --git a/credentials/apps/badges/urls.py b/credentials/apps/badges/urls.py index c2d906812..33ca21f0b 100644 --- a/credentials/apps/badges/urls.py +++ b/credentials/apps/badges/urls.py @@ -6,7 +6,6 @@ from .credly.webhooks import CredlyWebhook - urlpatterns = [ path("credly/webhook/", CredlyWebhook.as_view(), name="credly-webhook"), ] diff --git a/credentials/apps/catalog/management/commands/copy_catalog.py b/credentials/apps/catalog/management/commands/copy_catalog.py index c84744910..18d6d9990 100644 --- a/credentials/apps/catalog/management/commands/copy_catalog.py +++ b/credentials/apps/catalog/management/commands/copy_catalog.py @@ -9,7 +9,6 @@ from credentials.apps.catalog.utils import CatalogDataSynchronizer from credentials.apps.core.models import SiteConfiguration - logger = logging.getLogger(__name__) diff --git a/credentials/apps/catalog/models.py b/credentials/apps/catalog/models.py index 2a8c5014f..436721835 100644 --- a/credentials/apps/catalog/models.py +++ b/credentials/apps/catalog/models.py @@ -11,7 +11,6 @@ from .data import PathwayStatus, ProgramStatus - logger = logging.getLogger(__name__) diff --git a/credentials/apps/catalog/tests/test_api.py b/credentials/apps/catalog/tests/test_api.py index 776d0d2a5..4b17b3d1b 100644 --- a/credentials/apps/catalog/tests/test_api.py +++ b/credentials/apps/catalog/tests/test_api.py @@ -19,7 +19,6 @@ from credentials.apps.core.tests.mixins import SiteMixin from credentials.apps.credentials.tests.factories import CourseCertificateFactory - if TYPE_CHECKING: from credentials.apps.credentials.models import CourseCertificate diff --git a/credentials/apps/catalog/utils.py b/credentials/apps/catalog/utils.py index 1ce839ee9..dfec63230 100644 --- a/credentials/apps/catalog/utils.py +++ b/credentials/apps/catalog/utils.py @@ -8,7 +8,6 @@ from credentials.apps.catalog.data import PathwayStatus from credentials.apps.catalog.models import Course, CourseRun, Organization, Pathway, Program - logger = logging.getLogger(__name__) diff --git a/credentials/apps/core/api.py b/credentials/apps/core/api.py index cfc4341df..b13e4548b 100644 --- a/credentials/apps/core/api.py +++ b/credentials/apps/core/api.py @@ -7,7 +7,6 @@ from django.contrib.auth import get_user_model from openedx_events.learning.data import UserData - User = get_user_model() logger = logging.getLogger(__name__) diff --git a/credentials/apps/core/management/commands/create_or_update_site.py b/credentials/apps/core/management/commands/create_or_update_site.py index 33f4444cd..c1808d2a2 100644 --- a/credentials/apps/core/management/commands/create_or_update_site.py +++ b/credentials/apps/core/management/commands/create_or_update_site.py @@ -7,7 +7,6 @@ from credentials.apps.core.models import SiteConfiguration - logger = logging.getLogger(__name__) diff --git a/credentials/apps/core/management/commands/make_is_active_match_platform.py b/credentials/apps/core/management/commands/make_is_active_match_platform.py index cb947d71a..7966c3268 100644 --- a/credentials/apps/core/management/commands/make_is_active_match_platform.py +++ b/credentials/apps/core/management/commands/make_is_active_match_platform.py @@ -18,7 +18,6 @@ from credentials.apps.core.models import SiteConfiguration - if TYPE_CHECKING: from django.contrib.auth.models import AbstractUser diff --git a/credentials/apps/core/management/commands/sync_ids_from_platform.py b/credentials/apps/core/management/commands/sync_ids_from_platform.py index bc063ccbe..c6720895f 100644 --- a/credentials/apps/core/management/commands/sync_ids_from_platform.py +++ b/credentials/apps/core/management/commands/sync_ids_from_platform.py @@ -11,7 +11,6 @@ from credentials.apps.core.models import SiteConfiguration - logger = logging.getLogger(__name__) User = get_user_model() diff --git a/credentials/apps/core/management/commands/tests/test_make_is_active_match_platform.py b/credentials/apps/core/management/commands/tests/test_make_is_active_match_platform.py index ccd5b233d..496d6c20e 100644 --- a/credentials/apps/core/management/commands/tests/test_make_is_active_match_platform.py +++ b/credentials/apps/core/management/commands/tests/test_make_is_active_match_platform.py @@ -12,7 +12,6 @@ from credentials.apps.core.tests.factories import UserFactory from credentials.apps.core.tests.mixins import SiteMixin - User = get_user_model() JSON = "application/json" diff --git a/credentials/apps/core/management/commands/tests/test_sync_ids_from_platform.py b/credentials/apps/core/management/commands/tests/test_sync_ids_from_platform.py index d23f128c5..844c3fccf 100644 --- a/credentials/apps/core/management/commands/tests/test_sync_ids_from_platform.py +++ b/credentials/apps/core/management/commands/tests/test_sync_ids_from_platform.py @@ -12,7 +12,6 @@ from credentials.apps.core.tests.factories import UserFactory from credentials.apps.core.tests.mixins import SiteMixin - User = get_user_model() JSON = "application/json" diff --git a/credentials/apps/core/management/commands/tests/test_truncate_social_auth.py b/credentials/apps/core/management/commands/tests/test_truncate_social_auth.py index 14d5cf78e..b519993f6 100644 --- a/credentials/apps/core/management/commands/tests/test_truncate_social_auth.py +++ b/credentials/apps/core/management/commands/tests/test_truncate_social_auth.py @@ -12,7 +12,6 @@ from credentials.apps.core.tests.factories import UserFactory, UserSocialAuthFactory - User = get_user_model() JSON = "application/json" diff --git a/credentials/apps/core/management/commands/truncate_social_auth.py b/credentials/apps/core/management/commands/truncate_social_auth.py index ac84ea7d4..f4fbb013e 100644 --- a/credentials/apps/core/management/commands/truncate_social_auth.py +++ b/credentials/apps/core/management/commands/truncate_social_auth.py @@ -15,7 +15,6 @@ from django.core.management.base import BaseCommand from social_django.models import UserSocialAuth - logger = logging.getLogger(__name__) User = get_user_model() diff --git a/credentials/apps/core/tests/factories.py b/credentials/apps/core/tests/factories.py index 12a6ca40d..67b2da4c9 100644 --- a/credentials/apps/core/tests/factories.py +++ b/credentials/apps/core/tests/factories.py @@ -8,7 +8,6 @@ from credentials.apps.core.models import SiteConfiguration, User - USER_PASSWORD = "password" diff --git a/credentials/apps/core/tests/mixins.py b/credentials/apps/core/tests/mixins.py index 0a8d91f6f..7c281af6a 100644 --- a/credentials/apps/core/tests/mixins.py +++ b/credentials/apps/core/tests/mixins.py @@ -8,7 +8,6 @@ from credentials.apps.core.tests.factories import SiteConfigurationFactory - JSON = "application/json" diff --git a/credentials/apps/core/tests/test_context_processors.py b/credentials/apps/core/tests/test_context_processors.py index fe62001b8..f07a612c3 100644 --- a/credentials/apps/core/tests/test_context_processors.py +++ b/credentials/apps/core/tests/test_context_processors.py @@ -6,7 +6,6 @@ from credentials.apps.core.context_processors import core from credentials.apps.core.tests import factories - LANGUAGE_CODE = "en" diff --git a/credentials/apps/core/tests/test_views.py b/credentials/apps/core/tests/test_views.py index 99757ceb7..6ca46c1e8 100644 --- a/credentials/apps/core/tests/test_views.py +++ b/credentials/apps/core/tests/test_views.py @@ -14,7 +14,6 @@ from credentials.apps.core.constants import Status from credentials.apps.core.tests.mixins import SiteMixin - User = get_user_model() diff --git a/credentials/apps/core/views.py b/credentials/apps/core/views.py index 9e7a97f26..16ebbc226 100644 --- a/credentials/apps/core/views.py +++ b/credentials/apps/core/views.py @@ -15,7 +15,6 @@ from credentials.apps.core.constants import Status - logger = logging.getLogger(__name__) User = get_user_model() diff --git a/credentials/apps/credentials/api.py b/credentials/apps/credentials/api.py index 55d2b270c..b8e24028c 100644 --- a/credentials/apps/credentials/api.py +++ b/credentials/apps/credentials/api.py @@ -15,7 +15,6 @@ ) from credentials.apps.credentials.utils import filter_visible, get_credential_visible_date, get_credential_visible_dates - if TYPE_CHECKING: from django.contrib.sites.models import Site diff --git a/credentials/apps/credentials/apps.py b/credentials/apps/credentials/apps.py index 3672ac97a..787835ff4 100644 --- a/credentials/apps/credentials/apps.py +++ b/credentials/apps/credentials/apps.py @@ -7,7 +7,6 @@ from django.apps import AppConfig from django.conf import settings - log = logging.getLogger(__name__) diff --git a/credentials/apps/credentials/issuers.py b/credentials/apps/credentials/issuers.py index c3d27b948..17899c55a 100644 --- a/credentials/apps/credentials/issuers.py +++ b/credentials/apps/credentials/issuers.py @@ -26,7 +26,6 @@ from credentials.apps.credentials.utils import send_program_certificate_created_message, validate_duplicate_attributes from credentials.apps.records.utils import send_updated_emails_for_program - logger = logging.getLogger(__name__) diff --git a/credentials/apps/credentials/management/commands/create_program_certificate_configuration.py b/credentials/apps/credentials/management/commands/create_program_certificate_configuration.py index 23dade0dc..f966288f3 100644 --- a/credentials/apps/credentials/management/commands/create_program_certificate_configuration.py +++ b/credentials/apps/credentials/management/commands/create_program_certificate_configuration.py @@ -8,7 +8,6 @@ from credentials.apps.catalog.models import Program from credentials.apps.credentials.models import ProgramCertificate - logger = logging.getLogger(__name__) diff --git a/credentials/apps/credentials/management/commands/populate_missing_courserun_info.py b/credentials/apps/credentials/management/commands/populate_missing_courserun_info.py index 0a60ca5cf..23ce2fc24 100644 --- a/credentials/apps/credentials/management/commands/populate_missing_courserun_info.py +++ b/credentials/apps/credentials/management/commands/populate_missing_courserun_info.py @@ -11,7 +11,6 @@ from credentials.apps.catalog.api import get_course_runs_by_course_run_keys from credentials.apps.credentials.models import CourseCertificate - if TYPE_CHECKING: from credentials.apps.catalog.models import CourseRun diff --git a/credentials/apps/credentials/management/commands/revoke_certificates.py b/credentials/apps/credentials/management/commands/revoke_certificates.py index c49564811..184ac18a3 100644 --- a/credentials/apps/credentials/management/commands/revoke_certificates.py +++ b/credentials/apps/credentials/management/commands/revoke_certificates.py @@ -9,7 +9,6 @@ from credentials.apps.credentials.models import RevokeCertificatesConfig, UserCredential - if TYPE_CHECKING: from argparse import ArgumentParser diff --git a/credentials/apps/credentials/management/commands/tests/test_create_program_certificate_configuration.py b/credentials/apps/credentials/management/commands/tests/test_create_program_certificate_configuration.py index b93179a35..7358bd271 100644 --- a/credentials/apps/credentials/management/commands/tests/test_create_program_certificate_configuration.py +++ b/credentials/apps/credentials/management/commands/tests/test_create_program_certificate_configuration.py @@ -18,7 +18,6 @@ ) from credentials.apps.credentials.models import ProgramCertificate - COMMAND = "create_program_certificate_configuration" diff --git a/credentials/apps/credentials/messages.py b/credentials/apps/credentials/messages.py index 696de7312..7592025f6 100644 --- a/credentials/apps/credentials/messages.py +++ b/credentials/apps/credentials/messages.py @@ -2,7 +2,6 @@ from edx_ace import MessageType - log = logging.getLogger(__name__) diff --git a/credentials/apps/credentials/models.py b/credentials/apps/credentials/models.py index d482e1724..03b0319a0 100644 --- a/credentials/apps/credentials/models.py +++ b/credentials/apps/credentials/models.py @@ -28,7 +28,6 @@ from credentials.apps.credentials import constants from credentials.apps.credentials.exceptions import NoMatchingProgramException - if TYPE_CHECKING: from credentials.apps.catalog.data import ProgramDetails diff --git a/credentials/apps/credentials/rest_api/urls.py b/credentials/apps/credentials/rest_api/urls.py index 06ed95dfc..a219af240 100644 --- a/credentials/apps/credentials/rest_api/urls.py +++ b/credentials/apps/credentials/rest_api/urls.py @@ -2,7 +2,6 @@ from credentials.apps.credentials.rest_api.v1 import urls as v1_credentials_api_urls - # NOTE: Although this is v1 and other APIs in this application are v2, # the API naming and code layout convention here is what we are using, per # https://openedx.atlassian.net/wiki/spaces/AC/pages/18350757/edX+REST+API+Conventions diff --git a/credentials/apps/credentials/rest_api/v1/tests/test_views.py b/credentials/apps/credentials/rest_api/v1/tests/test_views.py index 39b0baece..4d0142385 100644 --- a/credentials/apps/credentials/rest_api/v1/tests/test_views.py +++ b/credentials/apps/credentials/rest_api/v1/tests/test_views.py @@ -14,7 +14,6 @@ from credentials.apps.credentials.tests.factories import CourseCertificateFactory, UserCredentialFactory from credentials.apps.records.tests.factories import UserGradeFactory - if TYPE_CHECKING: from credentials.apps.core.models import User from credentials.apps.credentials.models import CourseCertificate, CourseRun diff --git a/credentials/apps/credentials/rest_api/v1/urls.py b/credentials/apps/credentials/rest_api/v1/urls.py index 7286232e1..21d8050f4 100644 --- a/credentials/apps/credentials/rest_api/v1/urls.py +++ b/credentials/apps/credentials/rest_api/v1/urls.py @@ -5,7 +5,6 @@ LearnerCertificateStatusView, ) - urlpatterns = [ path( "learner_cert_status/", diff --git a/credentials/apps/credentials/rest_api/v1/views.py b/credentials/apps/credentials/rest_api/v1/views.py index f7e83bbec..ad011bfc4 100644 --- a/credentials/apps/credentials/rest_api/v1/views.py +++ b/credentials/apps/credentials/rest_api/v1/views.py @@ -13,7 +13,6 @@ from credentials.apps.credentials.rest_api.v1.permissions import CanGetLearnerStatus from credentials.apps.records.api import single_learner_cert_status - log = logging.getLogger(__name__) diff --git a/credentials/apps/credentials/signals.py b/credentials/apps/credentials/signals.py index b075cf332..7d97a4621 100644 --- a/credentials/apps/credentials/signals.py +++ b/credentials/apps/credentials/signals.py @@ -12,7 +12,6 @@ from credentials.apps.credentials.api import process_course_credential_update from credentials.apps.credentials.constants import UserCredentialStatus - logger = logging.getLogger(__name__) diff --git a/credentials/apps/credentials/templatetags/html.py b/credentials/apps/credentials/templatetags/html.py index 910ed9a20..5f50f680d 100644 --- a/credentials/apps/credentials/templatetags/html.py +++ b/credentials/apps/credentials/templatetags/html.py @@ -6,7 +6,6 @@ from django.template.defaultfilters import date from django.utils.translation import get_language - register = template.Library() diff --git a/credentials/apps/credentials/templatetags/i18n_assets.py b/credentials/apps/credentials/templatetags/i18n_assets.py index 2e451e1f1..ad51c605c 100644 --- a/credentials/apps/credentials/templatetags/i18n_assets.py +++ b/credentials/apps/credentials/templatetags/i18n_assets.py @@ -11,7 +11,6 @@ from django.template.loader import select_template from django.utils.translation import get_language - register = template.Library() logger = logging.getLogger(__name__) diff --git a/credentials/apps/credentials/tests/factories.py b/credentials/apps/credentials/tests/factories.py index 925295724..38b2c909a 100644 --- a/credentials/apps/credentials/tests/factories.py +++ b/credentials/apps/credentials/tests/factories.py @@ -8,7 +8,6 @@ from credentials.apps.core.tests.factories import SiteFactory from credentials.apps.credentials import constants, models - if TYPE_CHECKING: from credentials.apps.credentials.models import CourseRun diff --git a/credentials/apps/credentials/tests/test_apps.py b/credentials/apps/credentials/tests/test_apps.py index cfdbe28fe..66d3abaf9 100644 --- a/credentials/apps/credentials/tests/test_apps.py +++ b/credentials/apps/credentials/tests/test_apps.py @@ -3,7 +3,6 @@ from django.test import TestCase from testfixtures import LogCapture - LOGGER_NAME = "credentials.apps.credentials.apps" diff --git a/credentials/apps/credentials/tests/test_issuer.py b/credentials/apps/credentials/tests/test_issuer.py index 97d13675c..fb1a1b1c3 100644 --- a/credentials/apps/credentials/tests/test_issuer.py +++ b/credentials/apps/credentials/tests/test_issuer.py @@ -27,7 +27,6 @@ UserCredentialFactory, ) - User = get_user_model() LOGGER_NAME = "credentials.apps.credentials.issuers" diff --git a/credentials/apps/credentials/tests/test_models.py b/credentials/apps/credentials/tests/test_models.py index 921580a95..f59033223 100644 --- a/credentials/apps/credentials/tests/test_models.py +++ b/credentials/apps/credentials/tests/test_models.py @@ -30,7 +30,6 @@ ) from credentials.settings.base import MEDIA_ROOT - TEST_DATA_ROOT = MEDIA_ROOT + "/test/data/" diff --git a/credentials/apps/credentials/tests/test_utils.py b/credentials/apps/credentials/tests/test_utils.py index c62699680..22a390ff5 100644 --- a/credentials/apps/credentials/tests/test_utils.py +++ b/credentials/apps/credentials/tests/test_utils.py @@ -16,7 +16,6 @@ from credentials.apps.credentials.tests.factories import ProgramCertificateFactory from credentials.apps.credentials.utils import send_program_certificate_created_message, validate_duplicate_attributes - User = get_user_model() diff --git a/credentials/apps/credentials/urls.py b/credentials/apps/credentials/urls.py index 8fb1ee391..728c6e80f 100644 --- a/credentials/apps/credentials/urls.py +++ b/credentials/apps/credentials/urls.py @@ -7,7 +7,6 @@ from credentials.apps.credentials import views from credentials.apps.credentials.constants import UUID_PATTERN - urlpatterns = [ path("example/", views.ExampleCredential.as_view(), name="example"), re_path(rf"^example/{UUID_PATTERN}/$", views.RenderExampleProgramCredential.as_view(), name="render_example"), diff --git a/credentials/apps/credentials/utils.py b/credentials/apps/credentials/utils.py index 03706ef32..ca2e25292 100644 --- a/credentials/apps/credentials/utils.py +++ b/credentials/apps/credentials/utils.py @@ -14,7 +14,6 @@ from credentials.apps.credentials.messages import ProgramCertificateIssuedMessage from credentials.apps.credentials.models import ProgramCompletionEmailConfiguration, UserCredential - if TYPE_CHECKING: from django.db.models import DateTimeField from django.db.models.query import QuerySet diff --git a/credentials/apps/credentials/views.py b/credentials/apps/credentials/views.py index fbb32661f..b05969824 100644 --- a/credentials/apps/credentials/views.py +++ b/credentials/apps/credentials/views.py @@ -20,7 +20,6 @@ from credentials.apps.credentials.models import ProgramCertificate, UserCredential from credentials.apps.credentials.utils import get_credential_visible_date, to_language - logger = logging.getLogger(__name__) diff --git a/credentials/apps/edx_django_extensions/urls.py b/credentials/apps/edx_django_extensions/urls.py index ba3437cce..83c35c2a1 100644 --- a/credentials/apps/edx_django_extensions/urls.py +++ b/credentials/apps/edx_django_extensions/urls.py @@ -2,7 +2,6 @@ from credentials.apps.edx_django_extensions import views - urlpatterns = [ path("", views.ManagementView.as_view(), name="index"), ] diff --git a/credentials/apps/edx_django_extensions/views.py b/credentials/apps/edx_django_extensions/views.py index 0037a65f6..ea690e9c0 100644 --- a/credentials/apps/edx_django_extensions/views.py +++ b/credentials/apps/edx_django_extensions/views.py @@ -6,7 +6,6 @@ from django.utils.translation import gettext as _ from django.views.generic import TemplateView - logger = logging.getLogger(__name__) diff --git a/credentials/apps/plugins/constants.py b/credentials/apps/plugins/constants.py index c46dfe4b3..8c37a664c 100644 --- a/credentials/apps/plugins/constants.py +++ b/credentials/apps/plugins/constants.py @@ -8,7 +8,6 @@ from edx_django_utils.plugins import PluginSignals # pylint: disable=unused-import from edx_django_utils.plugins import PluginURLs # pylint: disable=unused-import - PROJECT_TYPE = "credentials.djangoapp" diff --git a/credentials/apps/records/api.py b/credentials/apps/records/api.py index cb9d265ca..6c07e5393 100644 --- a/credentials/apps/records/api.py +++ b/credentials/apps/records/api.py @@ -19,7 +19,6 @@ from credentials.apps.records.models import ProgramCertRecord, UserCreditPathway, UserGrade from credentials.apps.records.utils import get_credentials - if TYPE_CHECKING: from credentials.apps.credentials.models import CourseRun diff --git a/credentials/apps/records/management/commands/seed-records.py b/credentials/apps/records/management/commands/seed-records.py index 6216b1118..0f6593c20 100644 --- a/credentials/apps/records/management/commands/seed-records.py +++ b/credentials/apps/records/management/commands/seed-records.py @@ -16,7 +16,6 @@ from credentials.settings.base import TIME_ZONE_CLASS from credentials.shared.constants import PathwayType - logger = logging.getLogger(__name__) diff --git a/credentials/apps/records/rest_api/urls.py b/credentials/apps/records/rest_api/urls.py index 7deee7808..c76996407 100644 --- a/credentials/apps/records/rest_api/urls.py +++ b/credentials/apps/records/rest_api/urls.py @@ -2,7 +2,6 @@ from credentials.apps.records.rest_api.v1 import urls as v1_records_rest_api_urls - urlpatterns = [ path("v1/", include((v1_records_rest_api_urls, "v1"), namespace="v1")), ] diff --git a/credentials/apps/records/rest_api/v1/urls.py b/credentials/apps/records/rest_api/v1/urls.py index b6dd22922..b87a6d9da 100644 --- a/credentials/apps/records/rest_api/v1/urls.py +++ b/credentials/apps/records/rest_api/v1/urls.py @@ -2,7 +2,6 @@ from credentials.apps.records.rest_api.v1 import views - router = routers.DefaultRouter() router.register(r"program_records", views.ProgramRecordsViewSet, basename="records") diff --git a/credentials/apps/records/rest_api/v1/views.py b/credentials/apps/records/rest_api/v1/views.py index 44f00b6a9..60fdc37e4 100644 --- a/credentials/apps/records/rest_api/v1/views.py +++ b/credentials/apps/records/rest_api/v1/views.py @@ -13,7 +13,6 @@ from credentials.apps.records.rest_api.v1.serializers import ProgramRecordSerializer, ProgramSerializer from credentials.apps.records.utils import get_user_program_data - User = get_user_model() log = logging.getLogger(__name__) diff --git a/credentials/apps/records/tests/test_views.py b/credentials/apps/records/tests/test_views.py index 91de024dc..a2ab3e3de 100644 --- a/credentials/apps/records/tests/test_views.py +++ b/credentials/apps/records/tests/test_views.py @@ -43,7 +43,6 @@ ) from credentials.apps.records.tests.utils import dump_random_state - JSON_CONTENT_TYPE = "application/json" diff --git a/credentials/apps/records/urls.py b/credentials/apps/records/urls.py index 56e36e27c..681df9db5 100644 --- a/credentials/apps/records/urls.py +++ b/credentials/apps/records/urls.py @@ -4,7 +4,6 @@ from . import views - urlpatterns = [ path("", views.RecordsView.as_view(), name="index"), path("api/", include(("credentials.apps.records.rest_api.urls", "api"), namespace="api")), diff --git a/credentials/apps/records/utils.py b/credentials/apps/records/utils.py index 628c745ad..7fa367ce9 100644 --- a/credentials/apps/records/utils.py +++ b/credentials/apps/records/utils.py @@ -21,7 +21,6 @@ from credentials.apps.records.messages import ProgramCreditRequest from credentials.apps.records.models import ProgramCertRecord, UserCreditPathway - if TYPE_CHECKING: from django.contrib.sites.models import Site diff --git a/credentials/apps/records/views.py b/credentials/apps/records/views.py index b4af70a69..db6330a22 100644 --- a/credentials/apps/records/views.py +++ b/credentials/apps/records/views.py @@ -33,7 +33,6 @@ from .constants import RECORDS_RATE_LIMIT - if TYPE_CHECKING: from credentials.apps.core.models import SiteConfiguration diff --git a/credentials/apps/verifiable_credentials/composition/status_list.py b/credentials/apps/verifiable_credentials/composition/status_list.py index 99dddef3c..8d4152842 100644 --- a/credentials/apps/verifiable_credentials/composition/status_list.py +++ b/credentials/apps/verifiable_credentials/composition/status_list.py @@ -7,7 +7,6 @@ from ..settings import vc_settings from . import CredentialDataModel - STATUS_LIST_PURPOSE = "revocation" diff --git a/credentials/apps/verifiable_credentials/conftest.py b/credentials/apps/verifiable_credentials/conftest.py index 2c2b62371..437033a1e 100644 --- a/credentials/apps/verifiable_credentials/conftest.py +++ b/credentials/apps/verifiable_credentials/conftest.py @@ -2,6 +2,7 @@ """ Pytest: Verifiable Credentials base testing config/fixtures. """ + import pytest from credentials.apps.catalog.tests.factories import ( @@ -18,7 +19,6 @@ ) from credentials.apps.verifiable_credentials.issuance.tests.factories import IssuanceLineFactory - TEST_ISSUER_CONFIG = { "ID": "test-issuer-did", "KEY": "test-issuer-key", diff --git a/credentials/apps/verifiable_credentials/issuance/main.py b/credentials/apps/verifiable_credentials/issuance/main.py index a82bce879..52b2cf81e 100644 --- a/credentials/apps/verifiable_credentials/issuance/main.py +++ b/credentials/apps/verifiable_credentials/issuance/main.py @@ -18,7 +18,6 @@ from ..storages.utils import get_storage from .models import IssuanceLine - logger = logging.getLogger(__name__) diff --git a/credentials/apps/verifiable_credentials/issuance/models.py b/credentials/apps/verifiable_credentials/issuance/models.py index 1c7340ae0..82a6e615c 100644 --- a/credentials/apps/verifiable_credentials/issuance/models.py +++ b/credentials/apps/verifiable_credentials/issuance/models.py @@ -21,7 +21,6 @@ from ..settings import vc_settings from ..storages.utils import get_storage - User = get_user_model() diff --git a/credentials/apps/verifiable_credentials/issuance/status_list.py b/credentials/apps/verifiable_credentials/issuance/status_list.py index 611ea61e4..f46dc64cc 100644 --- a/credentials/apps/verifiable_credentials/issuance/status_list.py +++ b/credentials/apps/verifiable_credentials/issuance/status_list.py @@ -13,7 +13,6 @@ from ..settings import vc_settings from . import IssuanceException - logger = logging.getLogger(__name__) diff --git a/credentials/apps/verifiable_credentials/issuance/tests/test_main.py b/credentials/apps/verifiable_credentials/issuance/tests/test_main.py index 99713c490..4d5d72ce8 100644 --- a/credentials/apps/verifiable_credentials/issuance/tests/test_main.py +++ b/credentials/apps/verifiable_credentials/issuance/tests/test_main.py @@ -27,7 +27,6 @@ from .. import IssuanceException - LOGGER_NAME = "credentials.apps.verifiable_credentials.issuance.main" diff --git a/credentials/apps/verifiable_credentials/issuance/tests/test_status_list.py b/credentials/apps/verifiable_credentials/issuance/tests/test_status_list.py index c113d0c33..de2b61827 100644 --- a/credentials/apps/verifiable_credentials/issuance/tests/test_status_list.py +++ b/credentials/apps/verifiable_credentials/issuance/tests/test_status_list.py @@ -8,7 +8,6 @@ from .. import IssuanceException from ..status_list import issue_status_list - LOGGER_NAME = "credentials.apps.verifiable_credentials.issuance.status_list" diff --git a/credentials/apps/verifiable_credentials/management/commands/create_default_issuer.py b/credentials/apps/verifiable_credentials/management/commands/create_default_issuer.py index f3496dbb7..8d7032130 100644 --- a/credentials/apps/verifiable_credentials/management/commands/create_default_issuer.py +++ b/credentials/apps/verifiable_credentials/management/commands/create_default_issuer.py @@ -13,7 +13,6 @@ is_verifiable_credentials_enabled, ) - logger = logging.getLogger(__name__) diff --git a/credentials/apps/verifiable_credentials/management/commands/generate_issuer_credentials.py b/credentials/apps/verifiable_credentials/management/commands/generate_issuer_credentials.py index 6e5daab29..220d32cd2 100644 --- a/credentials/apps/verifiable_credentials/management/commands/generate_issuer_credentials.py +++ b/credentials/apps/verifiable_credentials/management/commands/generate_issuer_credentials.py @@ -6,7 +6,6 @@ import didkit from django.core.management import BaseCommand - logger = logging.getLogger(__name__) diff --git a/credentials/apps/verifiable_credentials/management/commands/generate_status_list.py b/credentials/apps/verifiable_credentials/management/commands/generate_status_list.py index 3eb6456c5..36b3a79f5 100644 --- a/credentials/apps/verifiable_credentials/management/commands/generate_status_list.py +++ b/credentials/apps/verifiable_credentials/management/commands/generate_status_list.py @@ -7,7 +7,6 @@ from credentials.apps.verifiable_credentials.issuance.status_list import issue_status_list - logger = logging.getLogger(__name__) diff --git a/credentials/apps/verifiable_credentials/management/commands/remove_issuance_configuration.py b/credentials/apps/verifiable_credentials/management/commands/remove_issuance_configuration.py index f6c03dbd7..913dd0cbd 100644 --- a/credentials/apps/verifiable_credentials/management/commands/remove_issuance_configuration.py +++ b/credentials/apps/verifiable_credentials/management/commands/remove_issuance_configuration.py @@ -8,7 +8,6 @@ from credentials.apps.verifiable_credentials.issuance.models import IssuanceConfiguration - logger = logging.getLogger(__name__) diff --git a/credentials/apps/verifiable_credentials/management/commands/tests/test_create_default_issuer.py b/credentials/apps/verifiable_credentials/management/commands/tests/test_create_default_issuer.py index 444917f56..671f34972 100644 --- a/credentials/apps/verifiable_credentials/management/commands/tests/test_create_default_issuer.py +++ b/credentials/apps/verifiable_credentials/management/commands/tests/test_create_default_issuer.py @@ -5,7 +5,6 @@ from ..create_default_issuer import Command as CreateDefaultIssuerCommand - logger = logging.getLogger(__name__) diff --git a/credentials/apps/verifiable_credentials/permissions.py b/credentials/apps/verifiable_credentials/permissions.py index 5bc6aee55..07b05e14d 100644 --- a/credentials/apps/verifiable_credentials/permissions.py +++ b/credentials/apps/verifiable_credentials/permissions.py @@ -11,7 +11,6 @@ from .issuance.models import IssuanceLine from .issuance.utils import didkit_verify_presentation - logger = logging.getLogger(__name__) diff --git a/credentials/apps/verifiable_credentials/rest_api/urls.py b/credentials/apps/verifiable_credentials/rest_api/urls.py index d16a82d6d..6ee08f793 100644 --- a/credentials/apps/verifiable_credentials/rest_api/urls.py +++ b/credentials/apps/verifiable_credentials/rest_api/urls.py @@ -2,7 +2,6 @@ from django.urls import include, path - urlpatterns = [ path("v1/", include(("credentials.apps.verifiable_credentials.rest_api.v1.urls", "v1"), namespace="v1")), ] diff --git a/credentials/apps/verifiable_credentials/rest_api/v1/tests/test_views.py b/credentials/apps/verifiable_credentials/rest_api/v1/tests/test_views.py index f2afd8093..ba80dd5e1 100644 --- a/credentials/apps/verifiable_credentials/rest_api/v1/tests/test_views.py +++ b/credentials/apps/verifiable_credentials/rest_api/v1/tests/test_views.py @@ -25,7 +25,6 @@ from credentials.apps.verifiable_credentials.storages.learner_credential_wallet import LCWallet from credentials.apps.verifiable_credentials.utils import get_user_credentials_data - JSON_CONTENT_TYPE = "application/json" diff --git a/credentials/apps/verifiable_credentials/rest_api/v1/urls.py b/credentials/apps/verifiable_credentials/rest_api/v1/urls.py index 103577134..d23c47a4c 100644 --- a/credentials/apps/verifiable_credentials/rest_api/v1/urls.py +++ b/credentials/apps/verifiable_credentials/rest_api/v1/urls.py @@ -7,7 +7,6 @@ from credentials.apps.verifiable_credentials.rest_api.v1 import views - router = routers.DefaultRouter() router.register(r"credentials", views.CredentialsViewSet, basename="credentials") diff --git a/credentials/apps/verifiable_credentials/rest_api/v1/views.py b/credentials/apps/verifiable_credentials/rest_api/v1/views.py index af48b2c26..7a86d4505 100644 --- a/credentials/apps/verifiable_credentials/rest_api/v1/views.py +++ b/credentials/apps/verifiable_credentials/rest_api/v1/views.py @@ -29,7 +29,6 @@ is_valid_uuid, ) - logger = logging.getLogger(__name__) User = get_user_model() @@ -170,10 +169,8 @@ def post(self, request): storage = get_storage(storage_id) if not storage: available_storages_ids = [storage.ID for storage in get_available_storages()] - msg = _( - "Provided storage backend ({storage_id}) isn't active. \ - Storages: {active_storages}" - ).format(storage_id=storage_id, active_storages=available_storages_ids) + msg = _("Provided storage backend ({storage_id}) isn't active. \ + Storages: {active_storages}").format(storage_id=storage_id, active_storages=available_storages_ids) logger.exception(msg) raise NotFound({"storage_id": msg}) diff --git a/credentials/apps/verifiable_credentials/settings.py b/credentials/apps/verifiable_credentials/settings.py index 182184896..71bcade40 100644 --- a/credentials/apps/verifiable_credentials/settings.py +++ b/credentials/apps/verifiable_credentials/settings.py @@ -19,7 +19,6 @@ from django.core.signals import setting_changed from django.utils.module_loading import import_string - logger = logging.getLogger(__name__) DEFAULTS = { diff --git a/credentials/apps/verifiable_credentials/toggles.py b/credentials/apps/verifiable_credentials/toggles.py index 766e61a01..188ba1159 100644 --- a/credentials/apps/verifiable_credentials/toggles.py +++ b/credentials/apps/verifiable_credentials/toggles.py @@ -4,7 +4,6 @@ from edx_toggles.toggles import SettingToggle - # .. toggle_name: ENABLE_VERIFIABLE_CREDENTIALS # .. toggle_implementation: DjangoSetting # .. toggle_default: False diff --git a/credentials/apps/verifiable_credentials/urls.py b/credentials/apps/verifiable_credentials/urls.py index 1957b41a6..dfd0cd70f 100644 --- a/credentials/apps/verifiable_credentials/urls.py +++ b/credentials/apps/verifiable_credentials/urls.py @@ -4,7 +4,6 @@ from django.urls import include, path - urlpatterns = [ path("api/", include(("credentials.apps.verifiable_credentials.rest_api.urls", "api"), namespace="api")), ] diff --git a/credentials/conf/locale/en/LC_MESSAGES/django.po b/credentials/conf/locale/en/LC_MESSAGES/django.po index e54b902b8..1fafa911d 100644 --- a/credentials/conf/locale/en/LC_MESSAGES/django.po +++ b/credentials/conf/locale/en/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # edX translation file. -# Copyright (C) 2025 EdX +# Copyright (C) 2026 EdX # This file is distributed under the GNU AFFERO GENERAL PUBLIC LICENSE. -# EdX Team , 2025. +# EdX Team , 2026. # msgid "" msgstr "" diff --git a/credentials/conf/locale/en/LC_MESSAGES/djangojs.po b/credentials/conf/locale/en/LC_MESSAGES/djangojs.po index b6338fef5..fd8ee0850 100644 --- a/credentials/conf/locale/en/LC_MESSAGES/djangojs.po +++ b/credentials/conf/locale/en/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # edX translation file. -# Copyright (C) 2025 EdX +# Copyright (C) 2026 EdX # This file is distributed under the GNU AFFERO GENERAL PUBLIC LICENSE. -# EdX Team , 2025. +# EdX Team , 2026. # msgid "" msgstr "" diff --git a/credentials/conf/locale/eo/LC_MESSAGES/django.po b/credentials/conf/locale/eo/LC_MESSAGES/django.po index 496cf2f21..c86b7f351 100644 --- a/credentials/conf/locale/eo/LC_MESSAGES/django.po +++ b/credentials/conf/locale/eo/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # edX translation file. -# Copyright (C) 2025 EdX +# Copyright (C) 2026 EdX # This file is distributed under the GNU AFFERO GENERAL PUBLIC LICENSE. -# EdX Team , 2025. +# EdX Team , 2026. # msgid "" msgstr "" diff --git a/credentials/conf/locale/eo/LC_MESSAGES/djangojs.po b/credentials/conf/locale/eo/LC_MESSAGES/djangojs.po index a076364d7..49d99d213 100644 --- a/credentials/conf/locale/eo/LC_MESSAGES/djangojs.po +++ b/credentials/conf/locale/eo/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # edX translation file. -# Copyright (C) 2025 EdX +# Copyright (C) 2026 EdX # This file is distributed under the GNU AFFERO GENERAL PUBLIC LICENSE. -# EdX Team , 2025. +# EdX Team , 2026. # msgid "" msgstr "" diff --git a/credentials/conf/locale/rtl/LC_MESSAGES/django.po b/credentials/conf/locale/rtl/LC_MESSAGES/django.po index 3389d2cfe..10b56b737 100644 --- a/credentials/conf/locale/rtl/LC_MESSAGES/django.po +++ b/credentials/conf/locale/rtl/LC_MESSAGES/django.po @@ -1,7 +1,7 @@ # edX translation file. -# Copyright (C) 2025 EdX +# Copyright (C) 2026 EdX # This file is distributed under the GNU AFFERO GENERAL PUBLIC LICENSE. -# EdX Team , 2025. +# EdX Team , 2026. # msgid "" msgstr "" diff --git a/credentials/conf/locale/rtl/LC_MESSAGES/djangojs.po b/credentials/conf/locale/rtl/LC_MESSAGES/djangojs.po index 5b58270f4..78c14360b 100644 --- a/credentials/conf/locale/rtl/LC_MESSAGES/djangojs.po +++ b/credentials/conf/locale/rtl/LC_MESSAGES/djangojs.po @@ -1,7 +1,7 @@ # edX translation file. -# Copyright (C) 2025 EdX +# Copyright (C) 2026 EdX # This file is distributed under the GNU AFFERO GENERAL PUBLIC LICENSE. -# EdX Team , 2025. +# EdX Team , 2026. # msgid "" msgstr "" diff --git a/credentials/docker_gunicorn_configuration.py b/credentials/docker_gunicorn_configuration.py index b8b5b3ee2..bc0e7ed7a 100644 --- a/credentials/docker_gunicorn_configuration.py +++ b/credentials/docker_gunicorn_configuration.py @@ -8,7 +8,6 @@ from django.core import cache as django_cache from django.core.management import call_command - preload_app = True timeout = 300 bind = "0.0.0.0:18150" diff --git a/credentials/settings/base.py b/credentials/settings/base.py index f2ecf8b50..11899a3ae 100644 --- a/credentials/settings/base.py +++ b/credentials/settings/base.py @@ -10,7 +10,6 @@ from credentials.settings.utils import get_logger_config from credentials.apps.plugins.constants import PROJECT_TYPE, SettingsType - # PATH vars here = lambda *x: join(abspath(dirname(__file__)), *x) diff --git a/credentials/urls.py b/credentials/urls.py index 2906694e6..5a32a7c13 100644 --- a/credentials/urls.py +++ b/credentials/urls.py @@ -33,7 +33,6 @@ from credentials.apps.verifiable_credentials.toggles import is_verifiable_credentials_enabled from credentials.views import FaviconView - admin.autodiscover() admin.site.site_header = _("Credentials Administration") admin.site.site_title = admin.site.site_header diff --git a/credentials/wsgi.py b/credentials/wsgi.py index 49bd84910..892dc91f7 100644 --- a/credentials/wsgi.py +++ b/credentials/wsgi.py @@ -13,7 +13,6 @@ from django.core.wsgi import get_wsgi_application - SITE_ROOT = dirname(dirname(abspath(__file__))) path.append(SITE_ROOT) diff --git a/pyproject.toml b/pyproject.toml index f2ca6d892..c4de471b6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,6 @@ profile = "black" line_length = 120 multi_line_output = 3 known_first_party = ["credentials"] -lines_after_imports = 2 combine_as_imports = true skip = ["migrations", "settings"] include_trailing_comma = true diff --git a/requirements/all.txt b/requirements/all.txt index 0087d40c4..4547d6ab5 100644 --- a/requirements/all.txt +++ b/requirements/all.txt @@ -4,18 +4,18 @@ # # make upgrade # -anyio==4.12.0 +anyio==4.12.1 # via # -r requirements/dev.txt # -r requirements/production.txt # httpx -asgiref==3.11.0 +asgiref==3.11.1 # via # -r requirements/dev.txt # -r requirements/production.txt # django # django-cors-headers -astroid==3.3.11 +astroid==4.0.3 # via # -r requirements/dev.txt # pylint @@ -31,33 +31,33 @@ backoff==2.2.1 # -r requirements/dev.txt # -r requirements/production.txt # segment-analytics-python -black==25.11.0 +black==26.1.0 # via -r requirements/dev.txt +bleach==6.3.0 bleach==6.3.0 # via # -r requirements/dev.txt # -r requirements/production.txt -boto3==1.42.2 +boto3==1.42.40 # via # -r requirements/production.txt # django-ses -botocore==1.42.2 +botocore==1.42.40 # via # -r requirements/production.txt # boto3 # s3transfer +cachecontrol==0.14.4 cachecontrol==0.14.4 # via # -r requirements/dev.txt # -r requirements/production.txt # firebase-admin -cachetools==6.2.2 +cachetools==7.0.0 # via # -r requirements/dev.txt - # -r requirements/production.txt - # google-auth # tox -certifi==2025.11.12 +certifi==2026.1.4 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -79,6 +79,7 @@ charset-normalizer==3.4.4 # -r requirements/dev.txt # -r requirements/production.txt # requests +click==8.3.1 click==8.3.1 # via # -r requirements/dev.txt @@ -113,12 +114,13 @@ coreschema==0.0.4 # -r requirements/dev.txt # -r requirements/production.txt # coreapi -coverage==7.12.0 +coverage==7.13.3 # via -r requirements/dev.txt -cryptography==46.0.3 +cryptography==46.0.4 # via # -r requirements/dev.txt # -r requirements/production.txt + # google-auth # pyjwt ddt==1.7.2 # via -r requirements/dev.txt @@ -132,7 +134,7 @@ didkit==0.3.3 # via # -r requirements/dev.txt # -r requirements/production.txt -dill==0.4.0 +dill==0.4.1 # via # -r requirements/dev.txt # pylint @@ -140,9 +142,10 @@ distlib==0.4.0 # via # -r requirements/dev.txt # virtualenv -django==5.2.9 +django==5.2.11 # via # -c requirements/common_constraints.txt + # -c requirements/common_constraints.txt # -r requirements/dev.txt # -r requirements/production.txt # django-appconf @@ -178,6 +181,7 @@ django==5.2.9 # openedx-events # social-auth-app-django # xss-utils +django-appconf==1.2.0 django-appconf==1.2.0 # via # -r requirements/dev.txt @@ -197,7 +201,7 @@ django-crum==0.7.9 # -r requirements/production.txt # edx-django-utils # edx-toggles -django-debug-toolbar==6.1.0 +django-debug-toolbar==6.2.0 # via -r requirements/dev.txt django-extensions==4.1 # via @@ -211,6 +215,7 @@ django-model-utils==5.0.0 # via # -r requirements/dev.txt # -r requirements/production.txt +django-push-notifications==3.3.0 django-push-notifications==3.3.0 # via # -r requirements/dev.txt @@ -224,9 +229,9 @@ django-rest-swagger==2.2.0 # via # -r requirements/dev.txt # -r requirements/production.txt -django-ses==4.4.0 +django-ses==4.6.0 # via -r requirements/production.txt -django-simple-history==3.10.1 +django-simple-history==3.11.0 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -242,9 +247,9 @@ django-storages==1.14.6 # via # -r requirements/dev.txt # -r requirements/production.txt -django-stubs==5.2.8 +django-stubs==5.2.9 # via -r requirements/dev.txt -django-stubs-ext==5.2.8 +django-stubs-ext==5.2.9 # via # -r requirements/dev.txt # django-stubs @@ -255,7 +260,7 @@ django-waffle==5.0.0 # edx-django-utils # edx-drf-extensions # edx-toggles -django-webpack-loader==3.2.2 +django-webpack-loader==3.2.3 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -278,7 +283,7 @@ drf-jwt==1.19.2 # -r requirements/dev.txt # -r requirements/production.txt # edx-drf-extensions -drf-yasg==1.21.11 +drf-yasg==1.21.14 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -286,6 +291,7 @@ edx-ace==1.15.0 # via # -r requirements/dev.txt # -r requirements/production.txt +edx-auth-backends==4.6.2 edx-auth-backends==4.6.2 # via # -r requirements/dev.txt @@ -359,7 +365,7 @@ edx-toggles==5.4.1 # edx-event-bus-redis factory-boy==3.3.3 # via -r requirements/dev.txt -faker==38.2.0 +faker==40.1.2 # via # -r requirements/dev.txt # factory-boy @@ -368,7 +374,7 @@ fastavro==1.12.1 # -r requirements/dev.txt # -r requirements/production.txt # openedx-events -filelock==3.20.0 +filelock==3.20.3 # via # -r requirements/dev.txt # tox @@ -380,7 +386,7 @@ firebase-admin==7.1.0 # edx-ace gevent==25.9.1 # via -r requirements/production.txt -google-api-core[grpc]==2.28.1 +google-api-core[grpc]==2.29.0 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -388,7 +394,7 @@ google-api-core[grpc]==2.28.1 # google-cloud-core # google-cloud-firestore # google-cloud-storage -google-auth==2.43.0 +google-auth==2.48.0 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -396,55 +402,60 @@ google-auth==2.43.0 # google-cloud-core # google-cloud-firestore # google-cloud-storage +google-cloud-core==2.5.0 google-cloud-core==2.5.0 # via # -r requirements/dev.txt # -r requirements/production.txt # google-cloud-firestore # google-cloud-storage -google-cloud-firestore==2.21.0 +google-cloud-firestore==2.23.0 # via # -r requirements/dev.txt # -r requirements/production.txt # firebase-admin -google-cloud-storage==3.6.0 +google-cloud-storage==3.9.0 # via # -r requirements/dev.txt # -r requirements/production.txt # firebase-admin -google-crc32c==1.7.1 +google-crc32c==1.8.0 # via # -r requirements/dev.txt # -r requirements/production.txt # google-cloud-storage # google-resumable-media +google-resumable-media==2.8.0 google-resumable-media==2.8.0 # via # -r requirements/dev.txt # -r requirements/production.txt # google-cloud-storage +googleapis-common-protos==1.72.0 googleapis-common-protos==1.72.0 # via # -r requirements/dev.txt # -r requirements/production.txt # google-api-core # grpcio-status -greenlet==3.2.4 +greenlet==3.3.1 # via # -r requirements/production.txt # gevent +grpcio==1.76.0 grpcio==1.76.0 # via # -r requirements/dev.txt # -r requirements/production.txt # google-api-core # grpcio-status +grpcio-status==1.76.0 grpcio-status==1.76.0 # via # -r requirements/dev.txt # -r requirements/production.txt # google-api-core -gunicorn==23.0.0 +gunicorn==25.0.1 # via -r requirements/production.txt h11==0.16.0 # via @@ -494,7 +505,7 @@ iniconfig==2.3.0 # via # -r requirements/dev.txt # pytest -isort==6.1.0 +isort==7.0.0 # via # -r requirements/dev.txt # pylint @@ -509,12 +520,12 @@ jinja2==3.1.6 # -r requirements/production.txt # code-annotations # coreschema -jmespath==1.0.1 +jmespath==1.1.0 # via # -r requirements/production.txt # boto3 # botocore -librt==0.6.3 +librt==0.7.8 # via # -r requirements/dev.txt # mypy @@ -530,7 +541,7 @@ lxml-html-clean==0.4.3 # -r requirements/dev.txt # -r requirements/production.txt # lxml -markdown==3.10 +markdown==3.10.1 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -548,7 +559,7 @@ msgpack==1.1.2 # -r requirements/dev.txt # -r requirements/production.txt # cachecontrol -mypy==1.19.0 +mypy==1.19.1 # via -r requirements/dev.txt mypy-extensions==1.1.0 # via @@ -559,7 +570,7 @@ mysqlclient==2.2.7 # via # -r requirements/dev.txt # -r requirements/production.txt -nodeenv==1.9.1 +nodeenv==1.10.0 # via -r requirements/production.txt oauthlib==3.3.1 # via @@ -582,7 +593,7 @@ openedx-events==10.5.0 # -r requirements/production.txt # edx-event-bus-kafka # edx-event-bus-redis -packaging==25.0 +packaging==26.0 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -597,16 +608,16 @@ path==16.16.0 # -r requirements/dev.txt # -r requirements/production.txt # edx-i18n-tools -pathspec==0.12.1 +pathspec==1.0.4 # via # -r requirements/dev.txt # black # mypy -pillow==12.0.0 +pillow==12.1.0 # via # -r requirements/dev.txt # -r requirements/production.txt -platformdirs==4.5.0 +platformdirs==4.5.1 # via # -r requirements/dev.txt # black @@ -623,13 +634,13 @@ polib==1.2.0 # -r requirements/dev.txt # -r requirements/production.txt # edx-i18n-tools -proto-plus==1.26.1 +proto-plus==1.27.1 # via # -r requirements/dev.txt # -r requirements/production.txt # google-api-core # google-cloud-firestore -protobuf==6.33.1 +protobuf==6.33.5 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -638,12 +649,12 @@ protobuf==6.33.1 # googleapis-common-protos # grpcio-status # proto-plus -psutil==7.1.3 +psutil==7.2.2 # via # -r requirements/dev.txt # -r requirements/production.txt # edx-django-utils -pyasn1==0.6.1 +pyasn1==0.6.2 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -654,7 +665,7 @@ pyasn1-modules==0.4.2 # -r requirements/dev.txt # -r requirements/production.txt # google-auth -pycparser==2.23 +pycparser==3.0 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -675,7 +686,7 @@ pyjwt[crypto]==2.10.1 # firebase-admin # segment-analytics-python # social-auth-core -pylint==3.3.9 +pylint==4.0.4 # via # -r requirements/dev.txt # edx-lint @@ -686,7 +697,7 @@ pylint-celery==0.3 # via # -r requirements/dev.txt # edx-lint -pylint-django==2.6.1 +pylint-django==2.7.0 # via # -r requirements/dev.txt # edx-lint @@ -699,12 +710,12 @@ pymemcache==4.0.0 # via # -r requirements/dev.txt # -r requirements/production.txt -pymongo==4.15.5 +pymongo==4.16.0 # via # -r requirements/dev.txt # -r requirements/production.txt # edx-opaque-keys -pynacl==1.6.1 +pynacl==1.6.2 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -713,7 +724,7 @@ pyproject-api==1.10.0 # via # -r requirements/dev.txt # tox -pytest==9.0.1 +pytest==9.0.2 # via # -r requirements/dev.txt # pytest-django @@ -740,7 +751,7 @@ python3-openid==3.2.0 # -r requirements/dev.txt # -r requirements/production.txt # social-auth-core -pytokens==0.3.0 +pytokens==0.4.1 # via # -r requirements/dev.txt # black @@ -764,6 +775,7 @@ qrcode==8.2 # via # -r requirements/dev.txt # -r requirements/production.txt +redis==7.1.0 redis==7.1.0 # via # -r requirements/dev.txt @@ -796,6 +808,7 @@ rsa==4.9.1 # -r requirements/dev.txt # -r requirements/production.txt # google-auth +s3transfer==0.16.0 s3transfer==0.16.0 # via # -r requirements/production.txt @@ -805,6 +818,7 @@ sailthru-client==2.2.3 # -r requirements/dev.txt # -r requirements/production.txt # edx-ace +segment-analytics-python==2.3.5 segment-analytics-python==2.3.5 # via # -r requirements/dev.txt @@ -830,23 +844,24 @@ six==1.17.0 # edx-django-release-util # edx-lint # python-dateutil -social-auth-app-django==5.6.0 +social-auth-app-django==5.4.3 # via # -r requirements/dev.txt # -r requirements/production.txt # edx-auth-backends -social-auth-core==4.8.1 +social-auth-core==4.8.3 # via # -r requirements/dev.txt # -r requirements/production.txt # edx-auth-backends # social-auth-app-django -sqlparse==0.5.4 +sqlparse==0.5.5 # via # -r requirements/dev.txt # -r requirements/production.txt # django # django-debug-toolbar +stevedore==5.6.0 stevedore==5.6.0 # via # -r requirements/dev.txt @@ -855,6 +870,7 @@ stevedore==5.6.0 # edx-ace # edx-django-utils # edx-opaque-keys +testfixtures==10.0.0 testfixtures==10.0.0 # via -r requirements/dev.txt text-unidecode==1.3 @@ -862,11 +878,11 @@ text-unidecode==1.3 # -r requirements/dev.txt # -r requirements/production.txt # python-slugify -tomlkit==0.13.3 +tomlkit==0.14.0 # via # -r requirements/dev.txt # pylint -tox==4.32.0 +tox==4.34.1 # via -r requirements/dev.txt types-pyyaml==6.0.12.20250915 # via @@ -882,28 +898,24 @@ typing-extensions==4.15.0 # edx-opaque-keys # grpcio # mypy -tzdata==2025.2 - # via - # -r requirements/dev.txt - # faker uritemplate==4.2.0 # via # -r requirements/dev.txt # -r requirements/production.txt # coreapi # drf-yasg -urllib3==2.5.0 +urllib3==2.6.3 # via # -r requirements/dev.txt # -r requirements/production.txt # botocore # requests # responses -virtualenv==20.35.4 +virtualenv==20.36.1 # via # -r requirements/dev.txt # tox -walrus==0.9.5 +walrus==0.9.8 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -917,11 +929,12 @@ xss-utils==0.8.0 # via # -r requirements/dev.txt # -r requirements/production.txt +zope-event==6.1 zope-event==6.1 # via # -r requirements/production.txt # gevent -zope-interface==8.1.1 +zope-interface==8.2 # via # -r requirements/production.txt # gevent diff --git a/requirements/base.txt b/requirements/base.txt index 9e7b0342a..74f885ccb 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -4,9 +4,9 @@ # # make upgrade # -anyio==4.12.0 +anyio==4.12.1 # via httpx -asgiref==3.11.0 +asgiref==3.11.1 # via # django # django-cors-headers @@ -16,13 +16,13 @@ attrs==25.4.0 # openedx-events backoff==2.2.1 # via segment-analytics-python +bleach==6.3.0 bleach==6.3.0 # via -r requirements/base.in +cachecontrol==0.14.4 cachecontrol==0.14.4 # via firebase-admin -cachetools==6.2.2 - # via google-auth -certifi==2025.11.12 +certifi==2026.1.4 # via # httpcore # httpx @@ -33,6 +33,7 @@ cffi==2.0.0 # pynacl charset-normalizer==3.4.4 # via requests +click==8.3.1 click==8.3.1 # via # code-annotations @@ -46,17 +47,20 @@ coreapi==2.3.3 # openapi-codec coreschema==0.0.4 # via coreapi -cryptography==46.0.3 - # via pyjwt +cryptography==46.0.4 + # via + # google-auth + # pyjwt defusedxml==0.7.1 # via # python3-openid # social-auth-core didkit==0.3.3 # via -r requirements/base.in -django==5.2.9 +django==5.2.11 # via # -c requirements/common_constraints.txt + # -c requirements/common_constraints.txt # -r requirements/base.in # django-appconf # django-config-models @@ -87,6 +91,7 @@ django==5.2.9 # openedx-events # social-auth-app-django # xss-utils +django-appconf==1.2.0 django-appconf==1.2.0 # via django-statici18n django-config-models==2.9.0 @@ -103,13 +108,14 @@ django-filter==25.2 # via -r requirements/base.in django-model-utils==5.0.0 # via -r requirements/base.in +django-push-notifications==3.3.0 django-push-notifications==3.3.0 # via edx-ace django-ratelimit==4.1.0 # via -r requirements/base.in django-rest-swagger==2.2.0 # via -r requirements/base.in -django-simple-history==3.10.1 +django-simple-history==3.11.0 # via -r requirements/base.in django-sortedm2m==4.0.0 # via -r requirements/base.in @@ -123,7 +129,7 @@ django-waffle==5.0.0 # edx-django-utils # edx-drf-extensions # edx-toggles -django-webpack-loader==3.2.2 +django-webpack-loader==3.2.3 # via -r requirements/base.in djangorestframework==3.16.1 # via @@ -137,10 +143,11 @@ dnspython==2.8.0 # via pymongo drf-jwt==1.19.2 # via edx-drf-extensions -drf-yasg==1.21.11 +drf-yasg==1.21.14 # via -r requirements/base.in edx-ace==1.15.0 # via -r requirements/base.in +edx-auth-backends==4.6.2 edx-auth-backends==4.6.2 # via -r requirements/base.in edx-ccx-keys==2.0.2 @@ -189,40 +196,45 @@ fastavro==1.12.1 # via openedx-events firebase-admin==7.1.0 # via edx-ace -google-api-core[grpc]==2.28.1 +google-api-core[grpc]==2.29.0 # via # firebase-admin # google-cloud-core # google-cloud-firestore # google-cloud-storage -google-auth==2.43.0 +google-auth==2.48.0 # via # google-api-core # google-cloud-core # google-cloud-firestore # google-cloud-storage +google-cloud-core==2.5.0 google-cloud-core==2.5.0 # via # google-cloud-firestore # google-cloud-storage -google-cloud-firestore==2.21.0 +google-cloud-firestore==2.23.0 # via firebase-admin -google-cloud-storage==3.6.0 +google-cloud-storage==3.9.0 # via firebase-admin -google-crc32c==1.7.1 +google-crc32c==1.8.0 # via # google-cloud-storage # google-resumable-media +google-resumable-media==2.8.0 google-resumable-media==2.8.0 # via google-cloud-storage +googleapis-common-protos==1.72.0 googleapis-common-protos==1.72.0 # via # google-api-core # grpcio-status +grpcio==1.76.0 grpcio==1.76.0 # via # google-api-core # grpcio-status +grpcio-status==1.76.0 grpcio-status==1.76.0 # via google-api-core h11==0.16.0 @@ -257,7 +269,7 @@ lxml[html-clean]==6.0.2 # lxml-html-clean lxml-html-clean==0.4.3 # via lxml -markdown==3.10 +markdown==3.10.1 # via -r requirements/base.in markupsafe==3.0.3 # via jinja2 @@ -278,34 +290,34 @@ openedx-events==10.5.0 # -r requirements/base.in # edx-event-bus-kafka # edx-event-bus-redis -packaging==25.0 +packaging==26.0 # via drf-yasg path==16.16.0 # via edx-i18n-tools -pillow==12.0.0 +pillow==12.1.0 # via -r requirements/base.in polib==1.2.0 # via edx-i18n-tools -proto-plus==1.26.1 +proto-plus==1.27.1 # via # google-api-core # google-cloud-firestore -protobuf==6.33.1 +protobuf==6.33.5 # via # google-api-core # google-cloud-firestore # googleapis-common-protos # grpcio-status # proto-plus -psutil==7.1.3 +psutil==7.2.2 # via edx-django-utils -pyasn1==0.6.1 +pyasn1==0.6.2 # via # pyasn1-modules # rsa pyasn1-modules==0.4.2 # via google-auth -pycparser==2.23 +pycparser==3.0 # via cffi pygments==2.19.2 # via -r requirements/base.in @@ -320,9 +332,9 @@ pyjwt[crypto]==2.10.1 # social-auth-core pymemcache==4.0.0 # via -r requirements/base.in -pymongo==4.15.5 +pymongo==4.16.0 # via edx-opaque-keys -pynacl==1.6.1 +pynacl==1.6.2 # via edx-django-utils python-dateutil==2.9.0.post0 # via @@ -346,6 +358,7 @@ pyyaml==6.0.3 # edx-i18n-tools qrcode==8.2 # via -r requirements/base.in +redis==7.1.0 redis==7.1.0 # via walrus requests==2.32.5 @@ -367,6 +380,7 @@ rsa==4.9.1 # via google-auth sailthru-client==2.2.3 # via edx-ace +segment-analytics-python==2.3.5 segment-analytics-python==2.3.5 # via -r requirements/base.in semantic-version==2.10.0 @@ -382,16 +396,17 @@ six==1.17.0 # edx-ccx-keys # edx-django-release-util # python-dateutil -social-auth-app-django==5.6.0 +social-auth-app-django==5.4.3 # via # -r requirements/base.in # edx-auth-backends -social-auth-core==4.8.1 +social-auth-core==4.8.3 # via # edx-auth-backends # social-auth-app-django -sqlparse==0.5.4 +sqlparse==0.5.5 # via django +stevedore==5.6.0 stevedore==5.6.0 # via # code-annotations @@ -409,9 +424,9 @@ uritemplate==4.2.0 # via # coreapi # drf-yasg -urllib3==2.5.0 +urllib3==2.6.3 # via requests -walrus==0.9.5 +walrus==0.9.8 # via edx-event-bus-redis webencodings==0.5.1 # via bleach diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 3af20728c..86976bf24 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -18,15 +18,15 @@ # using LTS django version Django<6.0 +Django<6.0 # elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process. # elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html # See https://github.com/openedx/edx-platform/issues/35126 for more info elasticsearch<7.14.0 -# pip 25.3 is incompatible with pip-tools hence causing failures during the build process +# pip 26 is incompatible with pip-tools hence causing failures during the build process # Make upgrade command and all requirements upgrade jobs are broken due to this. -# See issue https://github.com/openedx/public-engineering/issues/440 for details regarding the ongoing fix. -# The constraint can be removed once a release (pip-tools > 7.5.1) is available with support for pip 25.3 -# Issue to track this dependency and unpin later on: https://github.com/openedx/edx-lint/issues/503 -pip<25.3 +# The constraint can be removed once a release (pip-tools > 7.5.2) is available with support for pip 26 +# Issue to track this dependency and unpin later on: https://github.com/jazzband/pip-tools/issues/2319 +pip<26.0 diff --git a/requirements/dev.txt b/requirements/dev.txt index c7cfb4c44..60738eecf 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,16 +4,16 @@ # # make upgrade # -anyio==4.12.0 +anyio==4.12.1 # via # -r requirements/test.txt # httpx -asgiref==3.11.0 +asgiref==3.11.1 # via # -r requirements/test.txt # django # django-cors-headers -astroid==3.3.11 +astroid==4.0.3 # via # -r requirements/test.txt # pylint @@ -27,20 +27,21 @@ backoff==2.2.1 # via # -r requirements/test.txt # segment-analytics-python -black==25.11.0 +black==26.1.0 # via -r requirements/test.txt +bleach==6.3.0 bleach==6.3.0 # via -r requirements/test.txt +cachecontrol==0.14.4 cachecontrol==0.14.4 # via # -r requirements/test.txt # firebase-admin -cachetools==6.2.2 +cachetools==7.0.0 # via # -r requirements/test.txt - # google-auth # tox -certifi==2025.11.12 +certifi==2026.1.4 # via # -r requirements/test.txt # httpcore @@ -59,6 +60,7 @@ charset-normalizer==3.4.4 # via # -r requirements/test.txt # requests +click==8.3.1 click==8.3.1 # via # -r requirements/test.txt @@ -89,11 +91,12 @@ coreschema==0.0.4 # via # -r requirements/test.txt # coreapi -coverage==7.12.0 +coverage==7.13.3 # via -r requirements/test.txt -cryptography==46.0.3 +cryptography==46.0.4 # via # -r requirements/test.txt + # google-auth # pyjwt ddt==1.7.2 # via -r requirements/test.txt @@ -104,7 +107,7 @@ defusedxml==0.7.1 # social-auth-core didkit==0.3.3 # via -r requirements/test.txt -dill==0.4.0 +dill==0.4.1 # via # -r requirements/test.txt # pylint @@ -112,9 +115,10 @@ distlib==0.4.0 # via # -r requirements/test.txt # virtualenv -django==5.2.9 +django==5.2.11 # via # -c requirements/common_constraints.txt + # -c requirements/common_constraints.txt # -r requirements/test.txt # django-appconf # django-config-models @@ -148,6 +152,7 @@ django==5.2.9 # openedx-events # social-auth-app-django # xss-utils +django-appconf==1.2.0 django-appconf==1.2.0 # via # -r requirements/test.txt @@ -161,7 +166,7 @@ django-crum==0.7.9 # -r requirements/test.txt # edx-django-utils # edx-toggles -django-debug-toolbar==6.1.0 +django-debug-toolbar==6.2.0 # via -r requirements/dev.in django-extensions==4.1 # via -r requirements/test.txt @@ -169,6 +174,7 @@ django-filter==25.2 # via -r requirements/test.txt django-model-utils==5.0.0 # via -r requirements/test.txt +django-push-notifications==3.3.0 django-push-notifications==3.3.0 # via # -r requirements/test.txt @@ -177,7 +183,7 @@ django-ratelimit==4.1.0 # via -r requirements/test.txt django-rest-swagger==2.2.0 # via -r requirements/test.txt -django-simple-history==3.10.1 +django-simple-history==3.11.0 # via -r requirements/test.txt django-sortedm2m==4.0.0 # via -r requirements/test.txt @@ -185,9 +191,9 @@ django-statici18n==2.6.0 # via -r requirements/test.txt django-storages==1.14.6 # via -r requirements/test.txt -django-stubs==5.2.8 +django-stubs==5.2.9 # via -r requirements/dev.in -django-stubs-ext==5.2.8 +django-stubs-ext==5.2.9 # via django-stubs django-waffle==5.0.0 # via @@ -195,7 +201,7 @@ django-waffle==5.0.0 # edx-django-utils # edx-drf-extensions # edx-toggles -django-webpack-loader==3.2.2 +django-webpack-loader==3.2.3 # via -r requirements/test.txt djangorestframework==3.16.1 # via @@ -213,10 +219,11 @@ drf-jwt==1.19.2 # via # -r requirements/test.txt # edx-drf-extensions -drf-yasg==1.21.11 +drf-yasg==1.21.14 # via -r requirements/test.txt edx-ace==1.15.0 # via -r requirements/test.txt +edx-auth-backends==4.6.2 edx-auth-backends==4.6.2 # via -r requirements/test.txt edx-ccx-keys==2.0.2 @@ -270,7 +277,7 @@ edx-toggles==5.4.1 # edx-event-bus-redis factory-boy==3.3.3 # via -r requirements/test.txt -faker==38.2.0 +faker==40.1.2 # via # -r requirements/test.txt # factory-boy @@ -278,7 +285,7 @@ fastavro==1.12.1 # via # -r requirements/test.txt # openedx-events -filelock==3.20.0 +filelock==3.20.3 # via # -r requirements/test.txt # tox @@ -287,52 +294,57 @@ firebase-admin==7.1.0 # via # -r requirements/test.txt # edx-ace -google-api-core[grpc]==2.28.1 +google-api-core[grpc]==2.29.0 # via # -r requirements/test.txt # firebase-admin # google-cloud-core # google-cloud-firestore # google-cloud-storage -google-auth==2.43.0 +google-auth==2.48.0 # via # -r requirements/test.txt # google-api-core # google-cloud-core # google-cloud-firestore # google-cloud-storage +google-cloud-core==2.5.0 google-cloud-core==2.5.0 # via # -r requirements/test.txt # google-cloud-firestore # google-cloud-storage -google-cloud-firestore==2.21.0 +google-cloud-firestore==2.23.0 # via # -r requirements/test.txt # firebase-admin -google-cloud-storage==3.6.0 +google-cloud-storage==3.9.0 # via # -r requirements/test.txt # firebase-admin -google-crc32c==1.7.1 +google-crc32c==1.8.0 # via # -r requirements/test.txt # google-cloud-storage # google-resumable-media +google-resumable-media==2.8.0 google-resumable-media==2.8.0 # via # -r requirements/test.txt # google-cloud-storage +googleapis-common-protos==1.72.0 googleapis-common-protos==1.72.0 # via # -r requirements/test.txt # google-api-core # grpcio-status +grpcio==1.76.0 grpcio==1.76.0 # via # -r requirements/test.txt # google-api-core # grpcio-status +grpcio-status==1.76.0 grpcio-status==1.76.0 # via # -r requirements/test.txt @@ -377,7 +389,7 @@ iniconfig==2.3.0 # via # -r requirements/test.txt # pytest -isort==6.1.0 +isort==7.0.0 # via # -r requirements/test.txt # pylint @@ -390,7 +402,7 @@ jinja2==3.1.6 # -r requirements/test.txt # code-annotations # coreschema -librt==0.6.3 +librt==0.7.8 # via mypy lxml[html-clean]==6.0.2 # via @@ -402,7 +414,7 @@ lxml-html-clean==0.4.3 # via # -r requirements/test.txt # lxml -markdown==3.10 +markdown==3.10.1 # via -r requirements/test.txt markupsafe==3.0.3 # via @@ -416,7 +428,7 @@ msgpack==1.1.2 # via # -r requirements/test.txt # cachecontrol -mypy==1.19.0 +mypy==1.19.1 # via -r requirements/dev.in mypy-extensions==1.1.0 # via @@ -441,7 +453,7 @@ openedx-events==10.5.0 # -r requirements/test.txt # edx-event-bus-kafka # edx-event-bus-redis -packaging==25.0 +packaging==26.0 # via # -r requirements/test.txt # black @@ -453,14 +465,14 @@ path==16.16.0 # via # -r requirements/test.txt # edx-i18n-tools -pathspec==0.12.1 +pathspec==1.0.4 # via # -r requirements/test.txt # black # mypy -pillow==12.0.0 +pillow==12.1.0 # via -r requirements/test.txt -platformdirs==4.5.0 +platformdirs==4.5.1 # via # -r requirements/test.txt # black @@ -476,12 +488,12 @@ polib==1.2.0 # via # -r requirements/test.txt # edx-i18n-tools -proto-plus==1.26.1 +proto-plus==1.27.1 # via # -r requirements/test.txt # google-api-core # google-cloud-firestore -protobuf==6.33.1 +protobuf==6.33.5 # via # -r requirements/test.txt # google-api-core @@ -489,11 +501,11 @@ protobuf==6.33.1 # googleapis-common-protos # grpcio-status # proto-plus -psutil==7.1.3 +psutil==7.2.2 # via # -r requirements/test.txt # edx-django-utils -pyasn1==0.6.1 +pyasn1==0.6.2 # via # -r requirements/test.txt # pyasn1-modules @@ -502,7 +514,7 @@ pyasn1-modules==0.4.2 # via # -r requirements/test.txt # google-auth -pycparser==2.23 +pycparser==3.0 # via # -r requirements/test.txt # cffi @@ -520,7 +532,7 @@ pyjwt[crypto]==2.10.1 # firebase-admin # segment-analytics-python # social-auth-core -pylint==3.3.9 +pylint==4.0.4 # via # -r requirements/test.txt # edx-lint @@ -531,7 +543,7 @@ pylint-celery==0.3 # via # -r requirements/test.txt # edx-lint -pylint-django==2.6.1 +pylint-django==2.7.0 # via # -r requirements/test.txt # edx-lint @@ -542,11 +554,11 @@ pylint-plugin-utils==0.9.0 # pylint-django pymemcache==4.0.0 # via -r requirements/test.txt -pymongo==4.15.5 +pymongo==4.16.0 # via # -r requirements/test.txt # edx-opaque-keys -pynacl==1.6.1 +pynacl==1.6.2 # via # -r requirements/test.txt # edx-django-utils @@ -554,7 +566,7 @@ pyproject-api==1.10.0 # via # -r requirements/test.txt # tox -pytest==9.0.1 +pytest==9.0.2 # via # -r requirements/test.txt # pytest-django @@ -575,7 +587,7 @@ python3-openid==3.2.0 # via # -r requirements/test.txt # social-auth-core -pytokens==0.3.0 +pytokens==0.4.1 # via # -r requirements/test.txt # black @@ -595,6 +607,7 @@ pyyaml==6.0.3 # responses qrcode==8.2 # via -r requirements/test.txt +redis==7.1.0 redis==7.1.0 # via # -r requirements/test.txt @@ -627,6 +640,7 @@ sailthru-client==2.2.3 # via # -r requirements/test.txt # edx-ace +segment-analytics-python==2.3.5 segment-analytics-python==2.3.5 # via -r requirements/test.txt semantic-version==2.10.0 @@ -647,20 +661,22 @@ six==1.17.0 # edx-django-release-util # edx-lint # python-dateutil -social-auth-app-django==5.6.0 +social-auth-app-django==5.4.3 # via + # -c requirements/constraints.txt # -r requirements/test.txt # edx-auth-backends -social-auth-core==4.8.1 +social-auth-core==4.8.3 # via # -r requirements/test.txt # edx-auth-backends # social-auth-app-django -sqlparse==0.5.4 +sqlparse==0.5.5 # via # -r requirements/test.txt # django # django-debug-toolbar +stevedore==5.6.0 stevedore==5.6.0 # via # -r requirements/test.txt @@ -668,17 +684,18 @@ stevedore==5.6.0 # edx-ace # edx-django-utils # edx-opaque-keys +testfixtures==10.0.0 testfixtures==10.0.0 # via -r requirements/test.txt text-unidecode==1.3 # via # -r requirements/test.txt # python-slugify -tomlkit==0.13.3 +tomlkit==0.14.0 # via # -r requirements/test.txt # pylint -tox==4.32.0 +tox==4.34.1 # via -r requirements/test.txt types-pyyaml==6.0.12.20250915 # via django-stubs @@ -691,25 +708,21 @@ typing-extensions==4.15.0 # edx-opaque-keys # grpcio # mypy -tzdata==2025.2 - # via - # -r requirements/test.txt - # faker uritemplate==4.2.0 # via # -r requirements/test.txt # coreapi # drf-yasg -urllib3==2.5.0 +urllib3==2.6.3 # via # -r requirements/test.txt # requests # responses -virtualenv==20.35.4 +virtualenv==20.36.1 # via # -r requirements/test.txt # tox -walrus==0.9.5 +walrus==0.9.8 # via # -r requirements/test.txt # edx-event-bus-redis diff --git a/requirements/django.txt b/requirements/django.txt index af7d73551..331730a28 100644 --- a/requirements/django.txt +++ b/requirements/django.txt @@ -1 +1 @@ -django==5.2.9 +django==5.2.11 diff --git a/requirements/docs.txt b/requirements/docs.txt index 198003e9f..de16df7d2 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -8,17 +8,18 @@ accessible-pygments==0.0.5 # via pydata-sphinx-theme alabaster==1.0.0 # via sphinx -babel==2.17.0 +babel==2.18.0 # via # pydata-sphinx-theme # sphinx +beautifulsoup4==4.14.3 beautifulsoup4==4.14.3 # via pydata-sphinx-theme -certifi==2025.11.12 +certifi==2026.1.4 # via requests charset-normalizer==3.4.4 # via requests -docutils==0.22.3 +docutils==0.22.4 # via # pydata-sphinx-theme # sphinx @@ -32,7 +33,7 @@ jsx-lexer==2.0.1 # via -r requirements/docs.in markupsafe==3.0.3 # via jinja2 -packaging==25.0 +packaging==26.0 # via # pydata-sphinx-theme # sphinx @@ -46,13 +47,13 @@ pygments==2.19.2 # sphinx requests==2.32.5 # via sphinx -roman-numerals==3.1.0 +roman-numerals==4.1.0 # via sphinx snowballstemmer==3.0.1 # via sphinx -soupsieve==2.8 +soupsieve==2.8.3 # via beautifulsoup4 -sphinx==9.0.4 +sphinx==9.1.0 # via # -r requirements/docs.in # pydata-sphinx-theme @@ -75,5 +76,5 @@ typing-extensions==4.15.0 # via # beautifulsoup4 # pydata-sphinx-theme -urllib3==2.5.0 +urllib3==2.6.3 # via requests diff --git a/requirements/pip.txt b/requirements/pip.txt index cc591b44e..ca9d4270f 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,13 +4,15 @@ # # make upgrade # -wheel==0.45.1 +packaging==26.0 + # via wheel +wheel==0.46.3 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==25.2 +pip==25.3 # via # -c requirements/common_constraints.txt # -r requirements/pip.in -setuptools==80.9.0 +setuptools==80.10.2 # via -r requirements/pip.in diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 75ad4c4ca..97776483f 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -4,19 +4,22 @@ # # make upgrade # -build==1.3.0 +build==1.4.0 # via pip-tools +click==8.3.1 click==8.3.1 # via pip-tools -packaging==25.0 - # via build +packaging==26.0 + # via + # build + # wheel pip-tools==7.5.2 # via -r requirements/pip_tools.in pyproject-hooks==1.2.0 # via # build # pip-tools -wheel==0.45.1 +wheel==0.46.3 # via pip-tools # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/production.txt b/requirements/production.txt index f40cdd0cc..60f849574 100644 --- a/requirements/production.txt +++ b/requirements/production.txt @@ -4,11 +4,11 @@ # # make upgrade # -anyio==4.12.0 +anyio==4.12.1 # via # -r requirements/base.txt # httpx -asgiref==3.11.0 +asgiref==3.11.1 # via # -r requirements/base.txt # django @@ -22,23 +22,21 @@ backoff==2.2.1 # via # -r requirements/base.txt # segment-analytics-python +bleach==6.3.0 bleach==6.3.0 # via -r requirements/base.txt -boto3==1.42.2 +boto3==1.42.40 # via django-ses -botocore==1.42.2 +botocore==1.42.40 # via # boto3 # s3transfer +cachecontrol==0.14.4 cachecontrol==0.14.4 # via # -r requirements/base.txt # firebase-admin -cachetools==6.2.2 - # via - # -r requirements/base.txt - # google-auth -certifi==2025.11.12 +certifi==2026.1.4 # via # -r requirements/base.txt # httpcore @@ -53,6 +51,7 @@ charset-normalizer==3.4.4 # via # -r requirements/base.txt # requests +click==8.3.1 click==8.3.1 # via # -r requirements/base.txt @@ -71,9 +70,10 @@ coreschema==0.0.4 # via # -r requirements/base.txt # coreapi -cryptography==46.0.3 +cryptography==46.0.4 # via # -r requirements/base.txt + # google-auth # pyjwt defusedxml==0.7.1 # via @@ -82,9 +82,10 @@ defusedxml==0.7.1 # social-auth-core didkit==0.3.3 # via -r requirements/base.txt -django==5.2.9 +django==5.2.11 # via # -c requirements/common_constraints.txt + # -c requirements/common_constraints.txt # -r requirements/base.txt # django-appconf # django-config-models @@ -116,6 +117,7 @@ django==5.2.9 # openedx-events # social-auth-app-django # xss-utils +django-appconf==1.2.0 django-appconf==1.2.0 # via # -r requirements/base.txt @@ -135,6 +137,7 @@ django-filter==25.2 # via -r requirements/base.txt django-model-utils==5.0.0 # via -r requirements/base.txt +django-push-notifications==3.3.0 django-push-notifications==3.3.0 # via # -r requirements/base.txt @@ -143,9 +146,9 @@ django-ratelimit==4.1.0 # via -r requirements/base.txt django-rest-swagger==2.2.0 # via -r requirements/base.txt -django-ses==4.4.0 +django-ses==4.6.0 # via -r requirements/production.in -django-simple-history==3.10.1 +django-simple-history==3.11.0 # via -r requirements/base.txt django-sortedm2m==4.0.0 # via -r requirements/base.txt @@ -159,7 +162,7 @@ django-waffle==5.0.0 # edx-django-utils # edx-drf-extensions # edx-toggles -django-webpack-loader==3.2.2 +django-webpack-loader==3.2.3 # via -r requirements/base.txt djangorestframework==3.16.1 # via @@ -177,10 +180,11 @@ drf-jwt==1.19.2 # via # -r requirements/base.txt # edx-drf-extensions -drf-yasg==1.21.11 +drf-yasg==1.21.14 # via -r requirements/base.txt edx-ace==1.15.0 # via -r requirements/base.txt +edx-auth-backends==4.6.2 edx-auth-backends==4.6.2 # via -r requirements/base.txt edx-ccx-keys==2.0.2 @@ -239,59 +243,64 @@ firebase-admin==7.1.0 # edx-ace gevent==25.9.1 # via -r requirements/production.in -google-api-core[grpc]==2.28.1 +google-api-core[grpc]==2.29.0 # via # -r requirements/base.txt # firebase-admin # google-cloud-core # google-cloud-firestore # google-cloud-storage -google-auth==2.43.0 +google-auth==2.48.0 # via # -r requirements/base.txt # google-api-core # google-cloud-core # google-cloud-firestore # google-cloud-storage +google-cloud-core==2.5.0 google-cloud-core==2.5.0 # via # -r requirements/base.txt # google-cloud-firestore # google-cloud-storage -google-cloud-firestore==2.21.0 +google-cloud-firestore==2.23.0 # via # -r requirements/base.txt # firebase-admin -google-cloud-storage==3.6.0 +google-cloud-storage==3.9.0 # via # -r requirements/base.txt # firebase-admin -google-crc32c==1.7.1 +google-crc32c==1.8.0 # via # -r requirements/base.txt # google-cloud-storage # google-resumable-media +google-resumable-media==2.8.0 google-resumable-media==2.8.0 # via # -r requirements/base.txt # google-cloud-storage +googleapis-common-protos==1.72.0 googleapis-common-protos==1.72.0 # via # -r requirements/base.txt # google-api-core # grpcio-status -greenlet==3.2.4 +greenlet==3.3.1 # via gevent +grpcio==1.76.0 grpcio==1.76.0 # via # -r requirements/base.txt # google-api-core # grpcio-status +grpcio-status==1.76.0 grpcio-status==1.76.0 # via # -r requirements/base.txt # google-api-core -gunicorn==23.0.0 +gunicorn==25.0.1 # via -r requirements/production.in h11==0.16.0 # via @@ -336,7 +345,7 @@ jinja2==3.1.6 # -r requirements/base.txt # code-annotations # coreschema -jmespath==1.0.1 +jmespath==1.1.0 # via # boto3 # botocore @@ -350,7 +359,7 @@ lxml-html-clean==0.4.3 # via # -r requirements/base.txt # lxml -markdown==3.10 +markdown==3.10.1 # via -r requirements/base.txt markupsafe==3.0.3 # via @@ -362,7 +371,7 @@ msgpack==1.1.2 # cachecontrol mysqlclient==2.2.7 # via -r requirements/base.txt -nodeenv==1.9.1 +nodeenv==1.10.0 # via -r requirements/production.in oauthlib==3.3.1 # via @@ -380,7 +389,7 @@ openedx-events==10.5.0 # -r requirements/base.txt # edx-event-bus-kafka # edx-event-bus-redis -packaging==25.0 +packaging==26.0 # via # -r requirements/base.txt # drf-yasg @@ -389,18 +398,18 @@ path==16.16.0 # via # -r requirements/base.txt # edx-i18n-tools -pillow==12.0.0 +pillow==12.1.0 # via -r requirements/base.txt polib==1.2.0 # via # -r requirements/base.txt # edx-i18n-tools -proto-plus==1.26.1 +proto-plus==1.27.1 # via # -r requirements/base.txt # google-api-core # google-cloud-firestore -protobuf==6.33.1 +protobuf==6.33.5 # via # -r requirements/base.txt # google-api-core @@ -408,11 +417,11 @@ protobuf==6.33.1 # googleapis-common-protos # grpcio-status # proto-plus -psutil==7.1.3 +psutil==7.2.2 # via # -r requirements/base.txt # edx-django-utils -pyasn1==0.6.1 +pyasn1==0.6.2 # via # -r requirements/base.txt # pyasn1-modules @@ -421,7 +430,7 @@ pyasn1-modules==0.4.2 # via # -r requirements/base.txt # google-auth -pycparser==2.23 +pycparser==3.0 # via # -r requirements/base.txt # cffi @@ -439,11 +448,11 @@ pyjwt[crypto]==2.10.1 # social-auth-core pymemcache==4.0.0 # via -r requirements/base.txt -pymongo==4.15.5 +pymongo==4.16.0 # via # -r requirements/base.txt # edx-opaque-keys -pynacl==1.6.1 +pynacl==1.6.2 # via # -r requirements/base.txt # edx-django-utils @@ -477,6 +486,7 @@ pyyaml==6.0.3 # edx-i18n-tools qrcode==8.2 # via -r requirements/base.txt +redis==7.1.0 redis==7.1.0 # via # -r requirements/base.txt @@ -502,12 +512,14 @@ rsa==4.9.1 # via # -r requirements/base.txt # google-auth +s3transfer==0.16.0 s3transfer==0.16.0 # via boto3 sailthru-client==2.2.3 # via # -r requirements/base.txt # edx-ace +segment-analytics-python==2.3.5 segment-analytics-python==2.3.5 # via -r requirements/base.txt semantic-version==2.10.0 @@ -527,19 +539,21 @@ six==1.17.0 # edx-ccx-keys # edx-django-release-util # python-dateutil -social-auth-app-django==5.6.0 +social-auth-app-django==5.4.3 # via + # -c requirements/constraints.txt # -r requirements/base.txt # edx-auth-backends -social-auth-core==4.8.1 +social-auth-core==4.8.3 # via # -r requirements/base.txt # edx-auth-backends # social-auth-app-django -sqlparse==0.5.4 +sqlparse==0.5.5 # via # -r requirements/base.txt # django +stevedore==5.6.0 stevedore==5.6.0 # via # -r requirements/base.txt @@ -562,12 +576,12 @@ uritemplate==4.2.0 # -r requirements/base.txt # coreapi # drf-yasg -urllib3==2.5.0 +urllib3==2.6.3 # via # -r requirements/base.txt # botocore # requests -walrus==0.9.5 +walrus==0.9.8 # via # -r requirements/base.txt # edx-event-bus-redis @@ -577,9 +591,10 @@ webencodings==0.5.1 # bleach xss-utils==0.8.0 # via -r requirements/base.txt +zope-event==6.1 zope-event==6.1 # via gevent -zope-interface==8.1.1 +zope-interface==8.2 # via gevent # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/test.txt b/requirements/test.txt index fe497f68b..ed4a5d665 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -4,16 +4,16 @@ # # make upgrade # -anyio==4.12.0 +anyio==4.12.1 # via # -r requirements/base.txt # httpx -asgiref==3.11.0 +asgiref==3.11.1 # via # -r requirements/base.txt # django # django-cors-headers -astroid==3.3.11 +astroid==4.0.3 # via # pylint # pylint-celery @@ -26,20 +26,19 @@ backoff==2.2.1 # via # -r requirements/base.txt # segment-analytics-python -black==25.11.0 +black==26.1.0 # via -r requirements/test.in +bleach==6.3.0 bleach==6.3.0 # via -r requirements/base.txt +cachecontrol==0.14.4 cachecontrol==0.14.4 # via # -r requirements/base.txt # firebase-admin -cachetools==6.2.2 - # via - # -r requirements/base.txt - # google-auth - # tox -certifi==2025.11.12 +cachetools==7.0.0 + # via tox +certifi==2026.1.4 # via # -r requirements/base.txt # httpcore @@ -56,6 +55,7 @@ charset-normalizer==3.4.4 # via # -r requirements/base.txt # requests +click==8.3.1 click==8.3.1 # via # -r requirements/base.txt @@ -83,11 +83,12 @@ coreschema==0.0.4 # via # -r requirements/base.txt # coreapi -coverage==7.12.0 +coverage==7.13.3 # via -r requirements/test.in -cryptography==46.0.3 +cryptography==46.0.4 # via # -r requirements/base.txt + # google-auth # pyjwt ddt==1.7.2 # via -r requirements/test.in @@ -98,12 +99,13 @@ defusedxml==0.7.1 # social-auth-core didkit==0.3.3 # via -r requirements/base.txt -dill==0.4.0 +dill==0.4.1 # via pylint distlib==0.4.0 # via virtualenv # via # -c requirements/common_constraints.txt + # -c requirements/common_constraints.txt # -r requirements/base.txt # django-appconf # django-config-models @@ -134,6 +136,7 @@ distlib==0.4.0 # openedx-events # social-auth-app-django # xss-utils +django-appconf==1.2.0 django-appconf==1.2.0 # via # -r requirements/base.txt @@ -153,6 +156,7 @@ django-filter==25.2 # via -r requirements/base.txt django-model-utils==5.0.0 # via -r requirements/base.txt +django-push-notifications==3.3.0 django-push-notifications==3.3.0 # via # -r requirements/base.txt @@ -161,7 +165,7 @@ django-ratelimit==4.1.0 # via -r requirements/base.txt django-rest-swagger==2.2.0 # via -r requirements/base.txt -django-simple-history==3.10.1 +django-simple-history==3.11.0 # via -r requirements/base.txt django-sortedm2m==4.0.0 # via -r requirements/base.txt @@ -175,7 +179,7 @@ django-waffle==5.0.0 # edx-django-utils # edx-drf-extensions # edx-toggles -django-webpack-loader==3.2.2 +django-webpack-loader==3.2.3 # via -r requirements/base.txt djangorestframework==3.16.1 # via @@ -193,10 +197,11 @@ drf-jwt==1.19.2 # via # -r requirements/base.txt # edx-drf-extensions -drf-yasg==1.21.11 +drf-yasg==1.21.14 # via -r requirements/base.txt edx-ace==1.15.0 # via -r requirements/base.txt +edx-auth-backends==4.6.2 edx-auth-backends==4.6.2 # via -r requirements/base.txt edx-ccx-keys==2.0.2 @@ -249,13 +254,13 @@ edx-toggles==5.4.1 # edx-event-bus-redis factory-boy==3.3.3 # via -r requirements/test.in -faker==38.2.0 +faker==40.1.2 # via factory-boy fastavro==1.12.1 # via # -r requirements/base.txt # openedx-events -filelock==3.20.0 +filelock==3.20.3 # via # tox # virtualenv @@ -263,52 +268,57 @@ firebase-admin==7.1.0 # via # -r requirements/base.txt # edx-ace -google-api-core[grpc]==2.28.1 +google-api-core[grpc]==2.29.0 # via # -r requirements/base.txt # firebase-admin # google-cloud-core # google-cloud-firestore # google-cloud-storage -google-auth==2.43.0 +google-auth==2.48.0 # via # -r requirements/base.txt # google-api-core # google-cloud-core # google-cloud-firestore # google-cloud-storage +google-cloud-core==2.5.0 google-cloud-core==2.5.0 # via # -r requirements/base.txt # google-cloud-firestore # google-cloud-storage -google-cloud-firestore==2.21.0 +google-cloud-firestore==2.23.0 # via # -r requirements/base.txt # firebase-admin -google-cloud-storage==3.6.0 +google-cloud-storage==3.9.0 # via # -r requirements/base.txt # firebase-admin -google-crc32c==1.7.1 +google-crc32c==1.8.0 # via # -r requirements/base.txt # google-cloud-storage # google-resumable-media +google-resumable-media==2.8.0 google-resumable-media==2.8.0 # via # -r requirements/base.txt # google-cloud-storage +googleapis-common-protos==1.72.0 googleapis-common-protos==1.72.0 # via # -r requirements/base.txt # google-api-core # grpcio-status +grpcio==1.76.0 grpcio==1.76.0 # via # -r requirements/base.txt # google-api-core # grpcio-status +grpcio-status==1.76.0 grpcio-status==1.76.0 # via # -r requirements/base.txt @@ -351,7 +361,7 @@ inflection==0.5.1 # drf-yasg iniconfig==2.3.0 # via pytest -isort==6.1.0 +isort==7.0.0 # via # -r requirements/test.in # pylint @@ -374,7 +384,7 @@ lxml-html-clean==0.4.3 # via # -r requirements/base.txt # lxml -markdown==3.10 +markdown==3.10.1 # via -r requirements/base.txt markupsafe==3.0.3 # via @@ -406,7 +416,7 @@ openedx-events==10.5.0 # -r requirements/base.txt # edx-event-bus-kafka # edx-event-bus-redis -packaging==25.0 +packaging==26.0 # via # -r requirements/base.txt # black @@ -418,11 +428,11 @@ path==16.16.0 # via # -r requirements/base.txt # edx-i18n-tools -pathspec==0.12.1 +pathspec==1.0.4 # via black -pillow==12.0.0 +pillow==12.1.0 # via -r requirements/base.txt -platformdirs==4.5.0 +platformdirs==4.5.1 # via # black # pylint @@ -436,12 +446,12 @@ polib==1.2.0 # via # -r requirements/base.txt # edx-i18n-tools -proto-plus==1.26.1 +proto-plus==1.27.1 # via # -r requirements/base.txt # google-api-core # google-cloud-firestore -protobuf==6.33.1 +protobuf==6.33.5 # via # -r requirements/base.txt # google-api-core @@ -449,11 +459,11 @@ protobuf==6.33.1 # googleapis-common-protos # grpcio-status # proto-plus -psutil==7.1.3 +psutil==7.2.2 # via # -r requirements/base.txt # edx-django-utils -pyasn1==0.6.1 +pyasn1==0.6.2 # via # -r requirements/base.txt # pyasn1-modules @@ -462,7 +472,7 @@ pyasn1-modules==0.4.2 # via # -r requirements/base.txt # google-auth -pycparser==2.23 +pycparser==3.0 # via # -r requirements/base.txt # cffi @@ -480,7 +490,7 @@ pyjwt[crypto]==2.10.1 # firebase-admin # segment-analytics-python # social-auth-core -pylint==3.3.9 +pylint==4.0.4 # via # edx-lint # pylint-celery @@ -488,7 +498,7 @@ pylint==3.3.9 # pylint-plugin-utils pylint-celery==0.3 # via edx-lint -pylint-django==2.6.1 +pylint-django==2.7.0 # via edx-lint pylint-plugin-utils==0.9.0 # via @@ -496,17 +506,17 @@ pylint-plugin-utils==0.9.0 # pylint-django pymemcache==4.0.0 # via -r requirements/base.txt -pymongo==4.15.5 +pymongo==4.16.0 # via # -r requirements/base.txt # edx-opaque-keys -pynacl==1.6.1 +pynacl==1.6.2 # via # -r requirements/base.txt # edx-django-utils pyproject-api==1.10.0 # via tox -pytest==9.0.1 +pytest==9.0.2 # via # -r requirements/test.in # pytest-django @@ -527,7 +537,7 @@ python3-openid==3.2.0 # via # -r requirements/base.txt # social-auth-core -pytokens==0.3.0 +pytokens==0.4.1 # via black pytz==2025.2 # via @@ -543,6 +553,7 @@ pyyaml==6.0.3 # responses qrcode==8.2 # via -r requirements/base.txt +redis==7.1.0 redis==7.1.0 # via # -r requirements/base.txt @@ -575,6 +586,7 @@ sailthru-client==2.2.3 # via # -r requirements/base.txt # edx-ace +segment-analytics-python==2.3.5 segment-analytics-python==2.3.5 # via -r requirements/base.txt semantic-version==2.10.0 @@ -595,19 +607,21 @@ six==1.17.0 # edx-django-release-util # edx-lint # python-dateutil -social-auth-app-django==5.6.0 +social-auth-app-django==5.4.3 # via + # -c requirements/constraints.txt # -r requirements/base.txt # edx-auth-backends -social-auth-core==4.8.1 +social-auth-core==4.8.3 # via # -r requirements/base.txt # edx-auth-backends # social-auth-app-django -sqlparse==0.5.4 +sqlparse==0.5.5 # via # -r requirements/base.txt # django +stevedore==5.6.0 stevedore==5.6.0 # via # -r requirements/base.txt @@ -615,15 +629,16 @@ stevedore==5.6.0 # edx-ace # edx-django-utils # edx-opaque-keys +testfixtures==10.0.0 testfixtures==10.0.0 # via -r requirements/test.in text-unidecode==1.3 # via # -r requirements/base.txt # python-slugify -tomlkit==0.13.3 +tomlkit==0.14.0 # via pylint -tox==4.32.0 +tox==4.34.1 # via -r requirements/test.in typing-extensions==4.15.0 # via @@ -631,21 +646,19 @@ typing-extensions==4.15.0 # anyio # edx-opaque-keys # grpcio -tzdata==2025.2 - # via faker uritemplate==4.2.0 # via # -r requirements/base.txt # coreapi # drf-yasg -urllib3==2.5.0 +urllib3==2.6.3 # via # -r requirements/base.txt # requests # responses -virtualenv==20.35.4 +virtualenv==20.36.1 # via tox -walrus==0.9.5 +walrus==0.9.8 # via # -r requirements/base.txt # edx-event-bus-redis diff --git a/requirements/translations.txt b/requirements/translations.txt index c358ae593..22f37b4a6 100644 --- a/requirements/translations.txt +++ b/requirements/translations.txt @@ -4,9 +4,9 @@ # # make upgrade # -asgiref==3.11.0 +asgiref==3.11.1 # via django -django==5.2.9 +django==5.2.11 # via # -c requirements/common_constraints.txt # edx-i18n-tools @@ -24,5 +24,5 @@ polib==1.2.0 # via edx-i18n-tools pyyaml==6.0.3 # via edx-i18n-tools -sqlparse==0.5.4 +sqlparse==0.5.5 # via django