tutor 23.0.0.dev3205__tar.gz → 23.0.0.dev3210__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/PKG-INFO +2 -2
  2. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/requirements/dev.txt +1 -1
  3. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/__about__.py +1 -1
  4. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/Dockerfile +14 -4
  5. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/config/defaults.yml +1 -1
  6. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/.gitignore +0 -0
  7. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/.hatch_build.py +0 -0
  8. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/LICENSE.txt +0 -0
  9. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/README.rst +0 -0
  10. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/pyproject.toml +0 -0
  11. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/requirements/base.in +0 -0
  12. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/requirements/plugins.txt +0 -0
  13. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/__init__.py +0 -0
  14. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/bindmount.py +0 -0
  15. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/__init__.py +0 -0
  16. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/cli.py +0 -0
  17. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/compose.py +0 -0
  18. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/config.py +0 -0
  19. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/context.py +0 -0
  20. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/dev.py +0 -0
  21. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/images.py +0 -0
  22. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/jobs.py +0 -0
  23. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/jobs_utils.py +0 -0
  24. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/k8s.py +0 -0
  25. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/local.py +0 -0
  26. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/mounts.py +0 -0
  27. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/params.py +0 -0
  28. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/plugins.py +0 -0
  29. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/upgrade/__init__.py +0 -0
  30. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/upgrade/common.py +0 -0
  31. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/upgrade/compose.py +0 -0
  32. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/commands/upgrade/k8s.py +0 -0
  33. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/config.py +0 -0
  34. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/core/__init__.py +0 -0
  35. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/core/hooks/__init__.py +0 -0
  36. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/core/hooks/actions.py +0 -0
  37. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/core/hooks/contexts.py +0 -0
  38. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/core/hooks/filters.py +0 -0
  39. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/core/hooks/priorities.py +0 -0
  40. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/env.py +0 -0
  41. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/exceptions.py +0 -0
  42. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/fmt.py +0 -0
  43. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/hooks/__init__.py +0 -0
  44. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/hooks/catalog.py +0 -0
  45. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/images.py +0 -0
  46. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/interactive.py +0 -0
  47. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/plugins/__init__.py +0 -0
  48. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/plugins/base.py +0 -0
  49. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/plugins/indexes.py +0 -0
  50. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/plugins/openedx.py +0 -0
  51. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/plugins/v0.py +0 -0
  52. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/plugins/v1.py +0 -0
  53. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/py.typed +0 -0
  54. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/serialize.py +0 -0
  55. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/tasks.py +0 -0
  56. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/caddy/Caddyfile +0 -0
  57. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/config/cms.env.yml +0 -0
  58. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/config/lms.env.yml +0 -0
  59. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/config/partials/auth.yml +0 -0
  60. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/granian-config +0 -0
  61. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/settings/cms/__init__.py +0 -0
  62. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/settings/cms/development.py +0 -0
  63. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/settings/cms/production.py +0 -0
  64. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/settings/cms/test.py +0 -0
  65. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/settings/lms/__init__.py +0 -0
  66. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/settings/lms/development.py +0 -0
  67. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/settings/lms/production.py +0 -0
  68. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/settings/lms/test.py +0 -0
  69. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/settings/partials/common_all.py +0 -0
  70. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/settings/partials/common_cms.py +0 -0
  71. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/settings/partials/common_lms.py +0 -0
  72. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/openedx/settings/partials/common_test.py +0 -0
  73. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/permissions/setowners.sh +0 -0
  74. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/apps/redis/redis.conf +0 -0
  75. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/bin/reload-granian +0 -0
  76. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/bin/run-granian +0 -0
  77. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/revisions.yml +0 -0
  78. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/settings/cms/__init__.py +0 -0
  79. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/settings/cms/assets.py +0 -0
  80. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/settings/cms/i18n.py +0 -0
  81. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/settings/granian-config +0 -0
  82. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/settings/lms/__init__.py +0 -0
  83. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/settings/lms/assets.py +0 -0
  84. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/settings/lms/i18n.py +0 -0
  85. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/settings/partials/assets.py +0 -0
  86. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/settings/partials/i18n.py +0 -0
  87. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/openedx/themes/README +0 -0
  88. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/permissions/Dockerfile +0 -0
  89. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/build/permissions/setowner.sh +0 -0
  90. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/config/base.yml +0 -0
  91. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/dev/docker-compose.jobs.yml +0 -0
  92. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/dev/docker-compose.yml +0 -0
  93. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/jobs/init/cms.sh +0 -0
  94. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/jobs/init/lms.sh +0 -0
  95. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/jobs/init/meilisearch.sh +0 -0
  96. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/jobs/init/mounted-directories.sh +0 -0
  97. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/jobs/init/mysql.sh +0 -0
  98. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/k8s/deployments.yml +0 -0
  99. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/k8s/jobs.yml +0 -0
  100. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/k8s/namespace.yml +0 -0
  101. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/k8s/override.yml +0 -0
  102. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/k8s/services.yml +0 -0
  103. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/k8s/volumes.yml +0 -0
  104. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/kustomization.yml +0 -0
  105. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/local/docker-compose.jobs.yml +0 -0
  106. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/local/docker-compose.prod.yml +0 -0
  107. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/local/docker-compose.yml +0 -0
  108. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/templates/version +0 -0
  109. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/types.py +0 -0
  110. {tutor-23.0.0.dev3205 → tutor-23.0.0.dev3210}/tutor/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: tutor
3
- Version: 23.0.0.dev3205
3
+ Version: 23.0.0.dev3210
4
4
  Summary: The Docker-based Open edX distribution designed for peace of mind
5
5
  Project-URL: Homepage, https://docs.tutor.edly.io/
6
6
  Project-URL: Documentation, https://docs.tutor.edly.io/
@@ -42,7 +42,7 @@ Requires-Dist: attrs==26.1.0; extra == 'dev'
42
42
  Requires-Dist: backports-tarfile==1.2.0; extra == 'dev'
43
43
  Requires-Dist: build==1.4.4; extra == 'dev'
44
44
  Requires-Dist: cachetools==5.5.2; extra == 'dev'
45
- Requires-Dist: certifi==2025.8.3; extra == 'dev'
45
+ Requires-Dist: certifi==2026.10.19; extra == 'dev'
46
46
  Requires-Dist: charset-normalizer==3.4.7; extra == 'dev'
47
47
  Requires-Dist: click-log==0.4.0; extra == 'dev'
48
48
  Requires-Dist: click==8.5.0; extra == 'dev'
@@ -20,7 +20,7 @@ cachetools==5.5.2
20
20
  # via
21
21
  # -r requirements/base.txt
22
22
  # google-auth
23
- certifi==2025.8.3
23
+ certifi==2026.10.19
24
24
  # via
25
25
  # -r requirements/base.txt
26
26
  # kubernetes
@@ -2,7 +2,7 @@ import os
2
2
 
3
3
  # Increment this version number to trigger a new release. See
4
4
  # docs/tutor.html#versioning for information on the versioning scheme.
5
- __version__ = "22.0.2"
5
+ __version__ = "22.0.3"
6
6
 
7
7
  # The version suffix will be appended to the actual version, separated by a
8
8
  # dash. Use this suffix to differentiate between the actual released version and
@@ -8,10 +8,10 @@ ENV DEBIAN_FRONTEND=noninteractive
8
8
  RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
9
9
  --mount=type=cache,target=/var/lib/apt,sharing=locked \
10
10
  apt update && \
11
- apt install -y build-essential curl git language-pack-en
11
+ apt install -y build-essential ca-certificates curl git language-pack-en
12
12
  ENV LC_ALL=en_US.UTF-8
13
13
 
14
- COPY --from=ghcr.io/astral-sh/uv:0.9.18 /uv /usr/local/bin/uv
14
+ COPY --from=ghcr.io/astral-sh/uv:0.13.5 /uv /usr/local/bin/uv
15
15
  ARG PIP_COMMAND="uv pip"
16
16
 
17
17
  # Constrain the build-time setuptools used in the isolated (PEP 517) build
@@ -23,6 +23,8 @@ ARG PIP_COMMAND="uv pip"
23
23
  RUN echo "setuptools==80.9.0" > /etc/openedx-build-constraints.txt
24
24
  ENV UV_BUILD_CONSTRAINT=/etc/openedx-build-constraints.txt
25
25
  ENV PIP_CONSTRAINT=/etc/openedx-build-constraints.txt
26
+ # pip 26 no longer applies PIP_CONSTRAINT to build dependencies
27
+ ENV PIP_BUILD_CONSTRAINT=/etc/openedx-build-constraints.txt
26
28
 
27
29
  {{ patch("openedx-dockerfile-minimal") }}
28
30
 
@@ -110,7 +112,7 @@ RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared \
110
112
  # https://pypi.org/project/setuptools/
111
113
  # https://pypi.org/project/pip/
112
114
  # https://pypi.org/project/wheel/
113
- setuptools pip==24.0 wheel==0.43.0
115
+ setuptools pip==26.2.2 wheel==0.43.0
114
116
 
115
117
  # Install base requirements and asset-building requirements
116
118
  RUN --mount=type=bind,from=edx-platform,source=/pyproject.toml,target=/openedx/edx-platform/pyproject.toml \
@@ -118,6 +120,11 @@ RUN --mount=type=bind,from=edx-platform,source=/pyproject.toml,target=/openedx/e
118
120
  --mount=type=cache,target=/openedx/.cache/pip,sharing=shared \
119
121
  cd /openedx/edx-platform && uv sync --frozen --no-default-groups --group bundled --group assets --no-install-project --active
120
122
 
123
+ # Upgrade certifi until edx-platform pins a version without the compromised emSign roots
124
+ # https://emudhra.we-have-a-problem.com/
125
+ RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared \
126
+ $PIP_COMMAND install "certifi>=2026.10.19"
127
+
121
128
  # Install extra requirements
122
129
  RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared \
123
130
  $PIP_COMMAND install \
@@ -146,7 +153,7 @@ ENV PATH=/openedx/nodeenv/bin:/openedx/venv/bin:${PATH}
146
153
  # Install nodeenv with the version provided by edx-platform
147
154
  # https://github.com/openedx/edx-platform/blob/master/requirements/edx/assets.txt
148
155
  RUN $PIP_COMMAND install nodeenv==1.9.1
149
- RUN nodeenv /openedx/nodeenv --node=24.16.0 --prebuilt
156
+ RUN nodeenv /openedx/nodeenv --node=24.22.1 --prebuilt
150
157
 
151
158
  # Install nodejs requirements
152
159
  ARG NPM_REGISTRY={{ NPM_REGISTRY }}
@@ -293,6 +300,9 @@ USER app
293
300
  RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared \
294
301
  uv export --frozen --no-hashes --no-default-groups --group development | \
295
302
  $PIP_COMMAND install -r /dev/stdin
303
+ # The development dependency group pins the old certifi again, so upgrade it one more time
304
+ RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared \
305
+ $PIP_COMMAND install "certifi>=2026.10.19"
296
306
  # https://pypi.org/project/ipdb/
297
307
  # https://pypi.org/project/ipython (>=Python 3.10 started with 8.20)
298
308
  RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared \
@@ -15,7 +15,7 @@ DOCKER_REGISTRY: "docker.io/"
15
15
  DOCKER_IMAGE_OPENEDX: "{{ DOCKER_REGISTRY }}overhangio/openedx:{{ TUTOR_VERSION }}"
16
16
  DOCKER_IMAGE_OPENEDX_DEV: "openedx-dev:{{ TUTOR_VERSION }}"
17
17
  # https://hub.docker.com/_/caddy/tags
18
- DOCKER_IMAGE_CADDY: "docker.io/caddy:2.11.4"
18
+ DOCKER_IMAGE_CADDY: "docker.io/caddy:2.11.7"
19
19
  # https://hub.docker.com/r/getmeili/meilisearch/tags
20
20
  DOCKER_IMAGE_MEILISEARCH: "docker.io/getmeili/meilisearch:v1.36.0"
21
21
  # https://hub.docker.com/_/mongo/tags