Blockstore and all of its (experimental) functionality has been replaced with
openedx-learning, aka "Learning Core". This commit uninstalls the now-unused
openedx-blockstore package and removes all dangling references to it.
Note: This also removes the `copy_library_from_v1_to_v2` management command,
which has been broken ever since we switched from Blockstore to Learning Core.
Part of this DEPR: https://github.com/openedx/public-engineering/issues/238
Nine different URL-specified Python dependencies had
accumulated in edx-platform, noticably increasing the amount
time it took to install edx-platform requirements.
After many developer hours of work, we are nearly finished
converting them to PyPI-hosted depencencies:
openedx/wg-developer-experience#153
We're making these updates in hopes that we don't end
up with so many URL-specified depencencies again.
We're also updating OEP-18:
https://github.com/openedx/open-edx-proposals/pull/450
The CODEOWNERS update would mean that Arbi-BOM is notified
on all future PRs that change github.in. At the moment, edx-platform
does not *require* CODEOWNER review, so this is not a *hard* gate to
github.in changes.
Changes: https://github.com/openedx/codejail/compare/3.1.3...3.3.0
The only notable change here is that codejail's setup.py
has been fixed so that it includes all necessary files
in its distribution. This addresses an issue that happened
last time we tried to update codejail's pin in edx-platform
to be a wheel instead of editable (development) mode:
the proxy_main.py and memory_stress.py files were missing.
We update github.in to use the proper git-based depencency
format specified in the file comment. This format installs
a package as a pre-built wheel:
git+https://github.com/...
instead of a development-mode editable requirement:
-e https://github.com/...
Installing packages in editable mode increases the amount of time
it takes to install edx-platform dependencies, increases the
resulting virtual environment's size, and installs packages in a
way that has several subtle differences compared to the way
wheels are installed:
https://setuptools.pypa.io/en/latest/userguide/development_mode.html#limitations
NOTE: This commit also upgrades django-require its latest version.
(changelog:
https://github.com/openedx/django-require/compare/0c54ad...f4f01e)
The difference between the current version and the latest version
is entirely clerical; there are no code changes.
NOTE: This commit also upgrades blockstore from 1.2.4 to 1.2.5
(changelog:
https://github.com/openedx/blockstore/compare/1.2.4...1.2.5).
The only outward-facing difference between those two releases
is that 1.2.4 can only be installed in editable mode, whereas
1.2.5 has its setup.py fixed so that it can be installed as
a pre-build wheel.
They give the impression that, for example,
third-party XBlocks belong in github.in.
In reality, GitHub-hosted requirements should be avoided
in all circumstances. Third-party XBlocks are best
added to base.in as a PyPI-hosted dependency.
Furthermore, the existing section headers are not
even being followed.
We update github.in to use the proper git-based depencency
format specified in the file comment. This format installs
a package as a pre-built wheel:
git+https://github.com/...
instead of a development-mode editable requirement:
-e https://github.com/...
Installing packages in editable mode increases the amount of time
it takes to install edx-platform dependencies, increases the
resulting virtual environment's size, and installs packages in a
way that has several subtle differences compared to the way
wheels are installed:
https://setuptools.pypa.io/en/latest/userguide/development_mode.html#limitations
They give the impression that, for example,
third-party XBlocks belong in github.in.
In reality, GitHub-hosted requirements should be avoided
in all circumstances. Third-party XBlocks are best
added to base.in as a PyPI-hosted dependency.
Furthermore, the existing section headers are not
even being followed.
* adds blockstore as a requirement and an installed app, with
configurable bundle storage settings.
* adds waffle switch and setting to allow use of blockstore's python API
instead of REST API in live testservers and in production.
* adds database router which, when a `blockstore` DATABASE connection is
configured, allows the platform to use the blockstore service's
database instead of the default edxapp database.
* replaces blockstore_api exceptions and models with blockstore.app.api classes
* minor fixes to the blockstore_api to make the Blockstore REST API
return data packaged the same as the Blockstore Python API.