feat: migrate remaining plugin entry points to pyproject.toml

Migrates final 6 entry point groups from setup.py (user_partition_scheme,
ace.policy, call_to_action, learning_context, dynamic_partition_generator,
console_scripts).

Simplifies setup.py to just call setup() with no arguments - all entry
points now defined in pyproject.toml.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Feanil Patel
2026-01-20 11:45:08 -05:00
parent cadeb0ec75
commit af55bcfe22
2 changed files with 28 additions and 31 deletions

View File

@@ -152,3 +152,30 @@ access_denied_message_filter = "lms.djangoapps.course_blocks.transformers.access
open_assessment_transformer = "lms.djangoapps.courseware.transformers:OpenAssessmentDateTransformer"
effort_estimation = "openedx.features.effort_estimation.api:EffortEstimationTransformer"
discussions_link = "openedx.core.djangoapps.discussions.transformers:DiscussionsTopicLinkTransformer"
[project.entry-points."openedx.user_partition_scheme"]
cohort = "openedx.core.djangoapps.course_groups.partition_scheme:CohortPartitionScheme"
content_type_gate = "openedx.features.content_type_gating.partitions:ContentTypeGatingPartitionScheme"
enrollment_track = "openedx.core.djangoapps.verified_track_content.partition_scheme:EnrollmentTrackPartitionScheme"
random = "openedx.core.djangoapps.user_api.partition_schemes:RandomUserPartitionScheme"
team = "lms.djangoapps.teams.team_partition_scheme:TeamPartitionScheme"
verification = "openedx.core.djangoapps.user_api.partition_schemes:ReturnGroup1PartitionScheme"
[project.entry-points."openedx.ace.policy"]
bulk_email_optout = "lms.djangoapps.bulk_email.policies:CourseEmailOptout"
course_push_notification_optout = "openedx.core.djangoapps.notifications.policies:CoursePushNotificationOptout"
disabled_user_optout = "openedx.core.djangoapps.ace_common.policies:DisableUserOptout"
[project.entry-points."openedx.call_to_action"]
personalized_learner_schedules = "openedx.features.personalized_learner_schedules.call_to_action:PersonalizedLearnerScheduleCallToAction"
[project.entry-points."openedx.learning_context"]
lib = "openedx.core.djangoapps.content_libraries.library_context:LibraryContextImpl"
[project.entry-points."openedx.dynamic_partition_generator"]
content_type_gating = "openedx.features.content_type_gating.partitions:create_content_gating_partition"
enrollment_track = "xmodule.partitions.enrollment_track_partition_generator:create_enrollment_track_partition"
team = "openedx.core.lib.teams_config:create_team_set_partition"
[project.entry-points.console_scripts]
xmodule_assets = "xmodule.static_content:main"

View File

@@ -4,34 +4,4 @@ Setup script for the Open edX package.
from setuptools import setup
setup(
entry_points={
"openedx.user_partition_scheme": [
"cohort = openedx.core.djangoapps.course_groups.partition_scheme:CohortPartitionScheme",
"content_type_gate = openedx.features.content_type_gating.partitions:ContentTypeGatingPartitionScheme",
"enrollment_track = openedx.core.djangoapps.verified_track_content.partition_scheme:EnrollmentTrackPartitionScheme", # lint-amnesty, pylint: disable=line-too-long
"random = openedx.core.djangoapps.user_api.partition_schemes:RandomUserPartitionScheme",
"team = lms.djangoapps.teams.team_partition_scheme:TeamPartitionScheme",
"verification = openedx.core.djangoapps.user_api.partition_schemes:ReturnGroup1PartitionScheme",
],
"openedx.ace.policy": [
"bulk_email_optout = lms.djangoapps.bulk_email.policies:CourseEmailOptout",
"course_push_notification_optout = openedx.core.djangoapps.notifications.policies:CoursePushNotificationOptout", # lint-amnesty, pylint: disable=line-too-long
"disabled_user_optout = openedx.core.djangoapps.ace_common.policies:DisableUserOptout",
],
"openedx.call_to_action": [
"personalized_learner_schedules = openedx.features.personalized_learner_schedules.call_to_action:PersonalizedLearnerScheduleCallToAction" # lint-amnesty, pylint: disable=line-too-long
],
'openedx.learning_context': [
'lib = openedx.core.djangoapps.content_libraries.library_context:LibraryContextImpl',
],
'openedx.dynamic_partition_generator': [
'content_type_gating = openedx.features.content_type_gating.partitions:create_content_gating_partition',
'enrollment_track = xmodule.partitions.enrollment_track_partition_generator:create_enrollment_track_partition', # lint-amnesty, pylint: disable=line-too-long
'team = openedx.core.lib.teams_config:create_team_set_partition',
],
'console_scripts': [
'xmodule_assets = xmodule.static_content:main',
],
}
)
setup()