openedx / openedx-learning

GNU Affero General Public License v3.0
5 stars 8 forks source link

ADR for Public Python API Conventions #186

Closed ormsbee closed 2 months ago

ormsbee commented 2 months ago

This proposes refactoring our apps and introducing two major new conventions at the same time:

  1. Apps in openedx_learning.core would now be in openedx_learning.apps.authoring, setting a pattern for grouping apps together into larger package groups.
  2. A new openedx_learning.api.authoring module would be created to aggregate API modules from apps in openedx_learning.apps.authoring.

I originally wrote this up as a part of the major refactoring in #184, but separated out here so that we can discuss it in its own space.

ormsbee commented 2 months ago

@kdmccormick, @bradenmacdonald: Please review the ADR here.

ormsbee commented 2 months ago

I'm going to hold this ADR open for at least a week, (so until May 6th), to give anyone in the wider community a chance to comment on it.

Edit: Advertised here: https://discuss.openedx.org/t/adr-on-python-public-api-conventions-in-learning-core/12872

ormsbee commented 2 months ago

I like this proposal. Left a question, but mostly curious about it. Nothing blocking

@felipemontoya: Thank you for looking at it so quickly!

ormsbee commented 2 months ago

Updated ADR to record feedback from @bradenmacdonald and @feanil.

ormsbee commented 2 months ago

I'd love to see the import linting rules for this in edx-platform as close to merging this as possible.

I'll include it as part of the refactoring PR necessary on the edx-platform side to switch over.