Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
d625937
chore: set version suffix to main and install plugins from github (#1…
ahmed-arb Jan 23, 2026
ee0800a
chore: update pyenv and default python version. (#1335)
feanil Jan 30, 2026
1cdc6dc
Merge remote-tracking branch 'origin/release'
Feb 2, 2026
cf87be0
Merge remote-tracking branch 'origin/release'
Feb 5, 2026
ddef159
Merge remote-tracking branch 'origin/release'
Feb 6, 2026
22f671e
Merge remote-tracking branch 'origin/release'
Feb 12, 2026
12a5a61
Merge remote-tracking branch 'origin/release'
Feb 24, 2026
e72ddf1
feat: Add ENV_SAVED Action (#1302)
xitij2000 Feb 25, 2026
a4f5099
Merge remote-tracking branch 'origin/release'
Feb 27, 2026
fe1e16e
Merge remote-tracking branch 'origin/release'
Mar 3, 2026
a735d90
Merge remote-tracking branch 'origin/release'
Mar 3, 2026
8e3852a
Merge remote-tracking branch 'origin/release'
Mar 5, 2026
37d8dd1
Merge remote-tracking branch 'origin/release'
Mar 13, 2026
0d76ced
Merge remote-tracking branch 'origin/release'
Mar 13, 2026
f10f746
Merge remote-tracking branch 'origin/release'
Mar 16, 2026
34d358d
Merge remote-tracking branch 'origin/release'
Apr 8, 2026
e0ecf63
Merge remote-tracking branch 'origin/release'
Apr 8, 2026
b646d15
Merge remote-tracking branch 'origin/release'
Apr 9, 2026
119d48f
Merge remote-tracking branch 'origin/release'
Apr 10, 2026
4a86814
Merge remote-tracking branch 'origin/release'
Apr 14, 2026
fcf8010
Chore: Drop Python 3.9 and add support for Python 3.14 (#1369)
Syed-Ali-Abbas-568 Apr 29, 2026
6d6c952
fix: apply upstream security patch to remove activation_key exposure …
Gi-ron Apr 17, 2026
1685f3e
chore: update the reindex command (#1374)
farhaanbukhsh Apr 23, 2026
d46c814
fix: apply activation_key security patch only in release mode (#1376)
ahmed-arb Apr 29, 2026
5472440
fix: fixed wrong lms_host (#1375)
muhammadadeeltajamul Apr 30, 2026
119e0a1
Merge remote-tracking branch 'origin/release'
Apr 30, 2026
df15b64
Merge remote-tracking branch 'origin/release'
May 5, 2026
ad7b5b6
Merge remote-tracking branch 'origin/release'
May 6, 2026
389fc0a
Merge remote-tracking branch 'origin/release'
May 8, 2026
5ddb5e0
Merge remote-tracking branch 'origin/release'
May 8, 2026
f9d5f5b
Merge remote-tracking branch 'origin/release'
May 20, 2026
345dd0c
Merge remote-tracking branch 'origin/release'
May 26, 2026
e071d1b
Mark Python version upgrade changelog entry as breaking change. (#1395)
ahmed-arb Jun 2, 2026
36f1542
Merge remote-tracking branch 'origin/release'
Jun 3, 2026
4842f1b
fix: ignore Python 3.14 TypeVar references in docs build (#1396)
ahmed-arb Jun 3, 2026
95d8478
Merge remote-tracking branch 'origin/release'
Jun 9, 2026
80d3e19
Merge remote-tracking branch 'origin/release'
Jun 10, 2026
418f589
Merge remote-tracking branch 'origin/release'
Jun 15, 2026
5ec352a
Merge remote-tracking branch 'origin/release'
Jun 15, 2026
e380506
chore: upgrade MongoDB to v7.0.35 (#1402)
ahmed-arb Jun 15, 2026
d9c488b
chore: upgrade MySQL to v8.4.9 (#1401)
ahmed-arb Jun 15, 2026
bed5103
Merge remote-tracking branch 'origin/release'
Jun 16, 2026
0a57c26
chore: use py310 instead of py39 in smoke ci as it has reached eol (#…
Danyal-Faheem Jun 16, 2026
599b06b
Merge remote-tracking branch 'origin/release'
Jun 23, 2026
d35b2f1
Upgrade Caddy, Redis, Python and Node (#1403)
ahmed-arb Jun 29, 2026
0d55aaa
Merge remote-tracking branch 'origin/release'
Jul 2, 2026
02b5711
chore: upgrade Meilisearch to v1.36.0 (#1428)
HammadYousaf01 Jul 14, 2026
1fbd9f6
docs: note that plugin -main images must be built locally (#1429)
ahmed-arb Jul 17, 2026
759f9f9
Merge remote-tracking branch 'origin/release'
Jul 21, 2026
6f32dee
fix: bump build-time setuptools to 80.9.0 for the main branch (#1436)
Abdul-Muqadim-Arbisoft Jul 24, 2026
756b215
feat: upgrade to Verawood
ahmed-arb Apr 17, 2026
577f373
build: release/verawood, not release/verawood.master
kdmccormick Apr 30, 2026
460f3a2
chore: bump version to 22.0.0 for verawood
ahmed-arb May 4, 2026
10450c8
chore: update Open edX release from verawood.master to verawood in docs
ahmed-arb Jul 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
# https://github.com/actions/setup-python
uses: actions/setup-python@v6
with:
python-version: 3.9
python-version: 3.10
cache: 'pip'
cache-dependency-path: requirements/dev.txt
- name: Install Hatch
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/smoke-k8s.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v6
with:
# TODO: Update to 3.10 in main as 3.9 is EOL
python-version: "3.9"
python-version: "3.10"

# kind is preferred over minikube for CI: no VM overhead (~300 MB for
# control-plane vs ~2 GB), no tunnel daemon needed for LoadBalancer, and
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v6
with:
# TODO: Update to 3.10 in main as 3.9 is EOL
python-version: "3.9"
python-version: "3.10"

- name: Install tutor
run: pip install -e .[dev]
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9', '3.12']
python-version: ['3.10', '3.14']
steps:
- uses: actions/checkout@v6
- name: Set up Python
Expand Down
2 changes: 2 additions & 0 deletions changelog.d/20251111_011520_kshitij_env_saved_action.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- [Feature] Add ENV_SAVED Action that allows hooks to run after a save
operation. (by @xitij2000)
13 changes: 13 additions & 0 deletions changelog.d/20260121_123520_feanil_patch_2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!--
Create a changelog entry for every new user-facing change. Please respect the following instructions:
- Indicate breaking changes by prepending an explosion 💥 character.
- Prefix your changes with either [Bugfix], [Improvement], [Feature], [Security], [Deprecation].
- You may optionally append "(by @<author>)" at the end of the line, where "<author>" is either one (just one)
of your GitHub username, real name or affiliated organization. These affiliations will be displayed in
the release notes for every release.
-->

<!-- - 💥[Feature] Foobarize the blorginator. This breaks plugins by renaming the `FOO_DO` filter to `BAR_DO`. (by @regisb) -->
<!-- - [Improvement] This is a non-breaking change. Life is good. (by @billgates) -->

[Improvement] Update to use Python 3.12 for edx-platform
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- 💥[Improvement] Add Python 3.13 and 3.14 support. Drop Python 3.9 (end-of-life). Update CI matrix from Python 3.9/3.12 to 3.10/3.14. Update `requires-python` to `>= 3.10`. Use `sphinx>=9.1.0` for Python 3.14+ and `sphinx>=7.4.7` for Python 3.10 to account for Sphinx 9.x dropping Python 3.10 support. (by @Syed-Ali-Abbas-568)
1 change: 1 addition & 0 deletions changelog.d/20260417_verawood_upgrade.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- 💥[Feature] Upgrade to Verawood. (generated by Claude Code on behalf of @ahmed-arb)
2 changes: 2 additions & 0 deletions changelog.d/20260611_upgrade_dependencies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- [Improvement] Upgrade Caddy to v2.11.4 and Redis to v7.4.9. (by @ahmed-arb)
- [Improvement] Upgrade Python to v3.12.13 and Node.js to v24.16.0 in the Open edX Docker image. (by @ahmed-arb)
1 change: 1 addition & 0 deletions changelog.d/20260611_upgrade_mongodb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- [Security] Upgrade MongoDB to v7.0.35 to pull in upstream security patches, remaining on the 7.0 line that Open edX tests against. (by @ahmed-arb)
1 change: 1 addition & 0 deletions changelog.d/20260611_upgrade_mysql.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- [Improvement] Upgrade MySQL to v8.4.9, the latest patch on the 8.4 LTS line. (by @ahmed-arb)
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- [Bugfix] On the main branch, bump the pinned build-time `setuptools` to 80.9.0 (the release branch keeps 69.1.1). The older version cannot build packages that declare their license with the PEP 639 `project.license` field (e.g. `mysqlclient`) against the Open edX master branch, which broke `tutor images build openedx` on main. (by @Abdul-Muqadim-Arbisoft)
1 change: 1 addition & 0 deletions changelog.d/20260616_192205_danyalfaheem_py39depr_ci.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- [Improvement] Run smoke workflows on Python 3.10 instead of 3.9 as it has reached EOL. (by @Danyal-Faheem)
12 changes: 12 additions & 0 deletions changelog.d/20260713_upgrade_meilisearch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
- 💥[Improvement] Upgrade Meilisearch to v1.36.0. This changes the on-disk index format, so v1.36.0 refuses to start on a database created by v1.8.4: the container restart-loops with a "database version (1.8.4) is incompatible with your current engine version (1.36.0)" error. Meilisearch is only a derived index in Open edX and never a source of truth, so the existing index must be discarded and rebuilt after upgrading. Stop the platform, delete `data/meilisearch/data.ms`, then re-run initialisation and reindex: (by @HammadYousaf01)

tutor local stop
rm -rf "$(tutor config printroot)/data/meilisearch/data.ms"
tutor local start -d
tutor local do init
tutor local exec cms ./manage.py cms reindex_studio
tutor local exec cms ./manage.py cms reindex_course --active

- On a large site, the reindex takes a while and search stays incomplete until it finishes, so plan a maintenance window.

- Rolling back is not just reverting the image tag. Because the format only moves forward, v1.8.4 cannot read a v1.36.0 database either, so you also need to restore your pre-upgrade data/meilisearch/data.ms backup.
6 changes: 6 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,10 @@
# ParamSpec objects are not classes but may be referenced as such
("py:class", "tutor.core.hooks.actions.T"),
("py:class", "typing_extensions.ParamSpec"),
# Python 3.14: TypeVar references in autodoc are emitted as py:obj with
# the `typing.~T` short-name form, which has no resolvable target.
("py:obj", "typing.~T"),
("py:obj", "typing.~T2"),
]

# Even outside nitpicky mode, some type-hint rendering can produce "ref.class"
Expand All @@ -83,6 +87,8 @@
# https://github.com/emdgroup/baybe/pull/67
"Action": "tutor.core.hooks.actions.Action",
"Filter": "tutor.core.hooks.filters.Filter",
# Python 3.14
"ActionCallbackFunc": "tutor.core.hooks.actions.ActionCallbackFunc",
}


Expand Down
16 changes: 8 additions & 8 deletions docs/configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,11 @@ This configuration parameter defines the name of the Docker image to run the dev

.. https://hub.docker.com/r/devture/exim-relay/tags

- ``DOCKER_IMAGE_CADDY`` (default: ``"docker.io/caddy:2.6.2"``)
- ``DOCKER_IMAGE_CADDY`` (default: ``"docker.io/caddy:2.11.4"``)

This configuration parameter defines which Caddy Docker image to use.

- ``DOCKER_IMAGE_MEILISEARCH`` (default: ``"docker.io/getmeili/meilisearch:v1.8.4"``)
- ``DOCKER_IMAGE_MEILISEARCH`` (default: ``"docker.io/getmeili/meilisearch:v1.36.0"``)

This configuration parameter defines which Meilisearch Docker image to use.

Expand All @@ -81,13 +81,13 @@ This configuration parameter defines which MongoDB Docker image to use.

.. https://hub.docker.com/_/mysql/tags?page=1&name=8.0

- ``DOCKER_IMAGE_MYSQL`` (default: ``"docker.io/mysql:8.4.0"``)
- ``DOCKER_IMAGE_MYSQL`` (default: ``"docker.io/mysql:8.4.9"``)

This configuration parameter defines which MySQL Docker image to use.

.. https://hub.docker.com/_/redis/tags

- ``DOCKER_IMAGE_REDIS`` (default: ``"docker.io/redis:7.4.5"``)
- ``DOCKER_IMAGE_REDIS`` (default: ``"docker.io/redis:7.4.9"``)

This configuration parameter defines which Redis Docker image to use.

Expand Down Expand Up @@ -132,7 +132,7 @@ Open edX customisation

This defines the git repository from which you install Open edX platform code. If you run an Open edX fork with custom patches, set this to your own git repository. You may also override this configuration parameter at build time, by providing a ``--build-arg`` option.

- ``OPENEDX_COMMON_VERSION`` (default: ``"release/ulmo.3"``, or ``master`` in :ref:`Tutor Main <main>`)
- ``OPENEDX_COMMON_VERSION`` (default: ``"release/verawood"``, or ``master`` in :ref:`Tutor Main <main>`)

This defines the default version that will be pulled from all Open edX git repositories.

Expand Down Expand Up @@ -391,9 +391,9 @@ Note that your edx-platform version must be a fork of the latest release **tag**

If you don't create your fork from this tag, you *will* have important compatibility issues with other services. In particular:

- Do not try to run a fork from an older (pre-Ulmo) version of edx-platform: this will simply not work.
- Do not try to run a fork from an older (pre-Verawood) version of edx-platform: this will simply not work.
- Do not try to run a fork from the edx-platform master branch: there is a 99% probability that it will fail.
- Do not try to run a fork from the release/ulmo branch: Tutor will attempt to apply security and bug fix patches that might already be included in the release/ulmo but which were not yet applied to the latest release tag. Patch application will thus fail if you base your fork from the release/ulmo branch.
- Do not try to run a fork from the release/verawood branch: Tutor will attempt to apply security and bug fix patches that might already be included in the release/verawood but which were not yet applied to the latest release tag. Patch application will thus fail if you base your fork from the release/verawood branch.

.. _i18n:

Expand All @@ -405,7 +405,7 @@ Tutor builds images with the latest translations using the ``atlas pull`` `comma
By default the translations are pulled from the `openedx-translations repository <https://github.com/openedx/openedx-translations>`_
from the ``ATLAS_REVISION`` branch. You can use custom translations on your fork of the openedx-translations repository by setting the following configuration parameters:

- ``ATLAS_REVISION`` (default: ``"main"`` for Tutor Main, or ``"{{ OPENEDX_COMMON_VERSION }}"`` if a named release is used). Note that if you're running on a point release (for example, ``release/ulmo.1``), you will not be able to pull any upstream additions to translations - they will be "frozen" at that Git tag. If you're making changes to your language on Transifex, it is recommended to set this value to the Git branch (for example, ``release/ulmo``) to pick up any new translations that occur for that release.
- ``ATLAS_REVISION`` (default: ``"main"`` for Tutor Main, or ``"{{ OPENEDX_COMMON_VERSION }}"`` if a named release is used). Note that if you're running on a point release (for example, ``release/verawood.1``), you will not be able to pull any upstream additions to translations - they will be "frozen" at that Git tag. If you're making changes to your language on Transifex, it is recommended to set this value to the Git branch (for example, ``release/verawood``) to pick up any new translations that occur for that release.
- ``ATLAS_REPOSITORY`` (default: ``"openedx/openedx-translations"``). There's a feature request to `support GitLab and other providers <https://github.com/openedx/openedx-atlas/issues/20>`_.
- ``ATLAS_OPTIONS`` (default: ``""``) Pass additional arguments to ``atlas pull``. Refer to the `atlas documentations <https://github.com/openedx/openedx-atlas>`_ for more information.

Expand Down
13 changes: 13 additions & 0 deletions docs/developing/main.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,19 @@ However, these images include the application master branch at the point in time

tutor images build --no-cache all

.. note::
On the ``main`` branch, image tags carry a ``-main`` suffix. Only the ``openedx`` and ``indigo`` images are published to Docker Hub with that suffix; the ``-main`` images for other plugins are not. As a result, ``tutor images pull all`` cannot fetch them and you must build these images yourself, for example::

tutor images build mfe

On Kubernetes, the images also need to be available from a registry that the cluster can reach. Set the ``DOCKER_REGISTRY`` configuration value (with a trailing slash) to a registry you can push to, then build and push the plugin images::

tutor config save --set DOCKER_REGISTRY=docker.io/myusername/
tutor images build mfe
tutor images push mfe

If you do not specifically need the master branches, running a :ref:`tagged release <install>` avoids this step entirely.

Running Tutor Main alongside the latest release
-----------------------------------------------

Expand Down
2 changes: 1 addition & 1 deletion docs/developing/openedx.rst
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ The ``openedx-dev`` Docker image is based on the same ``openedx`` image used by

- The user that runs inside the container has the same UID as the user on the host, to avoid permission problems inside mounted volumes (and in particular in the edx-platform repository).
- Additional Python and system requirements are installed for convenient debugging: `ipython <https://ipython.org/>`__, `ipdb <https://pypi.org/project/ipdb/>`__, vim, telnet.
- The edx-platform `development requirements <https://github.com/openedx/edx-platform/blob/release/ulmo/requirements/edx/development.in>`__ are installed.
- The edx-platform `development requirements <https://github.com/openedx/edx-platform/blob/release/verawood/requirements/edx/development.in>`__ are installed.


If you are using a custom ``openedx`` image, then you will need to rebuild ``openedx-dev`` every time you modify ``openedx``. To so, run::
Expand Down
10 changes: 5 additions & 5 deletions docs/developing/plugins/indexes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ Plugin indexes are a great way to have your plugins discovered by other users. P
Index file paths
================

A plugin index is a yaml-formatted file. It can be stored on the web or on your computer. In both cases, the index file location must end with "<current release name>/plugins.yml". For instance, the following are valid index locations if you run the Open edX "Ulmo" release:
A plugin index is a yaml-formatted file. It can be stored on the web or on your computer. In both cases, the index file location must end with "<current release name>/plugins.yml". For instance, the following are valid index locations if you run the Open edX "Verawood" release:

- https://overhang.io/tutor/main/ulmo/plugins.yml
- ``/path/to/your/local/index/ulmo/plugins.yml``
- https://overhang.io/tutor/main/verawood/plugins.yml
- ``/path/to/your/local/index/verawood/plugins.yml``

To add either indexes, run the ``tutor plugins index add`` command without the suffix. For instance::

Expand Down Expand Up @@ -106,9 +106,9 @@ Manage plugins in development
Plugin developers and maintainers often want to install local versions of their plugins. They usually achieve this with ``pip install -e /path/to/tutor-plugin``. We can improve that workflow by creating an index for local plugins::

# Create the plugin index directory
mkdir -p ~/localindex/ulmo/
mkdir -p ~/localindex/verawood/
# Edit the index
vim ~/localindex/ulmo/plugins.yml
vim ~/localindex/verawood/plugins.yml

Add the following to the index::

Expand Down
1 change: 1 addition & 0 deletions docs/gettingstarted/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,4 +80,5 @@ Instructions for installing the appropriate Tutor version for older Open edX rel
| Teak | v20 | pip install 'tutor[full]>=20.0.0,<21.0.0' |
+-------------------+---------------+--------------------------------------------+
| Ulmo | v21 | pip install 'tutor[full]>=21.0.0,<22.0.0' |
| Verawood | v22 | pip install 'tutor[full]>=22.0.0,<23.0.0' |
+-------------------+---------------+--------------------------------------------+
2 changes: 1 addition & 1 deletion docs/sysadmin/edx-platform.rst
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ Quite often, developers don't want to work on edx-platform directly, but on a de
cd /my/workspace/edx-ora2
git clone https://github.com/openedx/edx-ora2 .

Then, check out the right version of the package. This is the version that is indicated in the `edx-platform/requirements/edx/base.txt <https://github.com/openedx/edx-platform/blob/release/ulmo/requirements/edx/base.txt>`__. Be careful that the version that is currently in use in your version of edx-platform is **not necessarily the head of the master branch**::
Then, check out the right version of the package. This is the version that is indicated in the `edx-platform/requirements/edx/base.txt <https://github.com/openedx/edx-platform/blob/release/verawood/requirements/edx/base.txt>`__. Be careful that the version that is currently in use in your version of edx-platform is **not necessarily the head of the master branch**::

git checkout <my-version-tag-or-branch>

Expand Down
2 changes: 1 addition & 1 deletion docs/upgrading.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Major Open edX releases are published twice a year, in June and December, by the
4. Test the new release in a sandboxed environment.
5. If you are running edx-platform, or some other repository from a custom branch, then you should rebase (and test) your changes on top of the latest release tag (see :ref:`edx_platform_fork`).

The process for upgrading from one major release to the next works similarly to any other upgrade, with the ``launch`` command (see above). The single difference is that if the ``launch`` command detects that your tutor environment was generated with an older release, it will perform a few release-specific upgrade steps. These extra upgrade steps will be performed just once. But they will be ignored if you updated your local environment (for instance: with ``tutor config save``) before running ``launch``. This situation typically occurs if you need to re-build some Docker images (see above). In such a case, you should make use of the ``upgrade`` command. For instance, to upgrade a local installation from Teak to Ulmo and rebuild some Docker images, run::
The process for upgrading from one major release to the next works similarly to any other upgrade, with the ``launch`` command (see above). The single difference is that if the ``launch`` command detects that your tutor environment was generated with an older release, it will perform a few release-specific upgrade steps. These extra upgrade steps will be performed just once. But they will be ignored if you updated your local environment (for instance: with ``tutor config save``) before running ``launch``. This situation typically occurs if you need to re-build some Docker images (see above). In such a case, you should make use of the ``upgrade`` command. For instance, to upgrade a local installation from Ulmo to Verawood and rebuild some Docker images, run::

tutor config save
tutor images build all # list the images that should be rebuilt here
Expand Down
5 changes: 3 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,18 @@ authors = [
]
description = "The Docker-based Open edX distribution designed for peace of mind"
readme = {file = "README.rst", content-type = "text/x-rst"}
requires-python = ">= 3.9"
requires-python = ">= 3.10"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU Affero General Public License v3",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
# these fields will be set by hatch_build.py
dynamic = ["version", "dependencies", "optional-dependencies"]
Expand Down
2 changes: 1 addition & 1 deletion requirements/base.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# This file is autogenerated by pip-compile with Python 3.9
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
# pip-compile requirements/base.in
Expand Down
28 changes: 14 additions & 14 deletions requirements/plugins.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# change version ranges when upgrading from ulmo
tutor-android>=21.0.0,<22.0.0
tutor-cairn>=21.0.0,<22.0.0
tutor-credentials>=21.0.0,<22.0.0
tutor-discovery>=21.0.0,<22.0.0
tutor-deck>=21.0.0,<22.0.0
tutor-forum>=21.0.0,<22.0.0
tutor-indigo>=21.0.0,<22.0.0
tutor-jupyter>=21.0.0,<22.0.0
tutor-livedeps>=21.0.0,<22.0.0
tutor-mfe>=21.0.0,<22.0.0
tutor-minio>=21.0.0,<22.0.0
tutor-notes>=21.0.0,<22.0.0
tutor-xqueue>=21.0.0,<22.0.0
# For Tutor Main, we install plugins from their main branches instead of from PyPI
tutor-android@git+https://github.com/overhangio/tutor-android@main
tutor-cairn@git+https://github.com/overhangio/tutor-cairn@main
tutor-credentials@git+https://github.com/overhangio/tutor-credentials@main
tutor-deck@git+https://github.com/overhangio/tutor-deck@main
tutor-discovery@git+https://github.com/overhangio/tutor-discovery@main
tutor-forum@git+https://github.com/overhangio/tutor-forum@main
tutor-indigo@git+https://github.com/overhangio/tutor-indigo@main
tutor-jupyter@git+https://github.com/overhangio/tutor-jupyter@main
tutor-livedeps@git+https://github.com/overhangio/tutor-livedeps@main
tutor-mfe@git+https://github.com/overhangio/tutor-mfe@main
tutor-minio@git+https://github.com/overhangio/tutor-minio@main
tutor-notes@git+https://github.com/overhangio/tutor-notes@main
tutor-xqueue@git+https://github.com/overhangio/tutor-xqueue@main
Loading
Loading