Skip to content

build!: Rename the PyPI project to openedx-core#471

Open
kdmccormick wants to merge 2 commits intomainfrom
kdmccormick/openedx-core
Open

build!: Rename the PyPI project to openedx-core#471
kdmccormick wants to merge 2 commits intomainfrom
kdmccormick/openedx-core

Conversation

@kdmccormick
Copy link
Member

@kdmccormick kdmccormick commented Jan 30, 2026

Description

To represent the increasing scope of this repository, we are renaming it from openedx-learning to openedx-core. See the ADR for more details: https://github.com/openedx/openedx-core/blob/kdmccormick/openedx-core/docs/decisions/0021-openedx-core.rst

Practically, this PR:

  • Updates GitHub hyperlinks in this repo from openedx/openedx-learning -> openedx/openedx-core
  • Updates "Learning Core" to "Open edX Core" in various docs and comments
  • Updates various docs and comments to represent the project's new scope.
  • Publishes a new PyPI project called openedx-core, version starting at 0.34
  • Publishes a final PyPI release of openedx-learning, versioned 0.33, which is empty and just installs openedx-core as a dependency

BREAKING CHANGE notice for operators: openedx-learning==0.33.0 will be the final release of openedx-learning. It will transitively install openedx-core==0.34.0 (fully code-compatible) and not receive updates going forward. In order to receive updates, operators should install openedx-core instead.

Notes for reviewers

  • I think that I've updated pypi-publish.yml and tmp-openedx-learning/setup.py correctly in order to publish the openedx-learning final shell release. But, there's no easy way to test it without just running it. If it fails, I'll either do a quick followup PR, or I'll just log into PyPI and fix things up directly.
  • Since the repo name is now openedx-core, I'm proposing that we rebrand it from "Learning Core" to "Open edX Core", with "OexCore" being an alternative spelling for use in code names. When we need to talk about the particular APIs, we just say "Content API" or "Core Content API", "Tagging API" or "Core Tagging API", etc. Here's an example in openedx-platform. Let me know what you think.

Supporting info / merge considerations / testing

Before merging this, we'll:

After merging this, I'll:

This is all part of:

Cleaning up missed occurances of oepnedx_content.api being
imported as "authoring_api".
@kdmccormick kdmccormick force-pushed the kdmccormick/openedx-core branch from 379f762 to 0e3c749 Compare February 17, 2026 14:57
@kdmccormick kdmccormick changed the title build!: Rename the repo and PyPI project to openedx-core build!: Rename the PyPI project to openedx-core Feb 17, 2026
@kdmccormick kdmccormick marked this pull request as ready for review February 17, 2026 15:11
@kdmccormick kdmccormick force-pushed the kdmccormick/openedx-core branch from e543424 to dc4c785 Compare February 17, 2026 18:53
To represent the increasing scope of this repository, we are renaming it from
openedx-learning to openedx-core.  Practically, this commit:
* Updates GitHub hyperlinks in this repo from openedx/openedx-learning -> openedx/openedx-core
* Publishes a new PyPI project called openedx-core, version starting at 0.34
* Publishes a final PyPI release of openedx-learning, versioned 0.33, which is
  empty and just installs openedx-core as a dependency
* Updates "Learning Core" to "Open edX Core" in various docs and comments
* Updates various docs and comments to represent the project's new scope.

BREAKING CHANGE: openedx-learning==0.33.0 will be the final release of openedx-learning.
It will transitively install openedx-core==0.34.0 (fully code-compatible) and
not receive updates going forward.  In order to receive updates, operators
should install openedx-core going forward.

Part of: #470
@kdmccormick kdmccormick force-pushed the kdmccormick/openedx-core branch from dc4c785 to 9ae2c1e Compare February 17, 2026 18:55
Context
-------

When this repo was created, it was intended to only encompass learning concepts. The content models were supposed to be read-optimized LMS-friendly representations of learning content. It was imaged that the authoring models would live elsewhere (e.g. Blockstore). That's why this was called "Learning Core".
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When this repo was created, it was intended to only encompass learning concepts. The content models were supposed to be read-optimized LMS-friendly representations of learning content. It was imaged that the authoring models would live elsewhere (e.g. Blockstore). That's why this was called "Learning Core".
When this repo was created, it was intended to only encompass learning concepts. The content models were supposed to be read-optimized LMS-friendly representations of learning content. It was imagined that the authoring models would live elsewhere (e.g. Blockstore). That's why this was called "Learning Core".


* A combined top level Python package with nested apps: ``openedx_core.content.api``, ``openedx_core.cbe.api``, etc.

* This would make it harder to split apps out into separate repos, later because it would involve either (a) updating all the import statements or (b) having the ``openedx_core`` namespace split across multiple repos. We'd like to remain flexible with code reorganization given the fast-moving and experimental nature of these projects.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* This would make it harder to split apps out into separate repos, later because it would involve either (a) updating all the import statements or (b) having the ``openedx_core`` namespace split across multiple repos. We'd like to remain flexible with code reorganization given the fast-moving and experimental nature of these projects.
* This would make it harder to split apps out into separate repos later, because it would involve either (a) updating all the import statements or (b) having the ``openedx_core`` namespace split across multiple repos. We'd like to remain flexible with code reorganization given the fast-moving and experimental nature of these projects.

Copy link
Contributor

@bradenmacdonald bradenmacdonald left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, looks good and the plan sounds good to me! I can't really test this but I looked over the diff and didn't see any issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants