diff --git a/html_xblock/__init__.py b/html_xblock/__init__.py index 31e4f7e2..2ba68769 100644 --- a/html_xblock/__init__.py +++ b/html_xblock/__init__.py @@ -1,4 +1,4 @@ """HTML XBlock module.""" from .html import ExcludedHTML5XBlock, HTML5XBlock -__version__ = "2.0.0" +__version__ = "2.0.1" diff --git a/html_xblock/html.py b/html_xblock/html.py index b0e5a722..49346dc3 100644 --- a/html_xblock/html.py +++ b/html_xblock/html.py @@ -2,7 +2,6 @@ import logging -import pkg_resources from django.conf import settings from web_fragments.fragment import Fragment from xblock.completable import XBlockCompletionMode @@ -63,12 +62,6 @@ def get_settings(self): return {} - @staticmethod - def resource_string(path): - """Handy helper for getting resources from our kit.""" - data = pkg_resources.resource_string(__name__, path) - return data.decode('utf8') - @XBlock.supports('multi_device') def student_view(self, context=None): # pylint: disable=unused-argument """ @@ -77,11 +70,11 @@ def student_view(self, context=None): # pylint: disable=unused-argument frag = Fragment() frag.content = xblock_loader.render_django_template('static/html/lms.html', {'self': self}) - frag.add_css(self.resource_string('public/plugins/codesample/css/prism.css')) - frag.add_javascript(self.resource_string('public/plugins/codesample/js/prism.js')) + frag.add_css(self.runtime.local_resource_url('public/plugins/codesample/css/prism.css')) + frag.add_javascript(self.runtime.local_resource_url('public/plugins/codesample/js/prism.js')) if getattr(self.runtime, 'is_author_mode', False): - frag.add_css(self.resource_string('static/css/html_preview.css')) + frag.add_css(self.runtime.local_resource_url('static/css/html_preview.css')) return frag @@ -160,7 +153,7 @@ def add_edit_stylesheets(self, frag): A helper method to add all styles to the fragment necesesary for edit. :param frag: The fragment that will hold the scripts. """ - frag.add_css(self.resource_string('static/css/html_edit.css')) + frag.add_css(self.runtime.local_resource_url('static/css/html_edit.css')) if self.editor == 'raw': frag.add_css_url(settings.STATIC_URL + 'js/vendor/CodeMirror/codemirror.css') @@ -172,7 +165,7 @@ def add_edit_scripts(self, frag): """ frag.add_javascript_url(settings.STATIC_URL + 'js/vendor/tinymce/js/tinymce/tinymce.full.min.js') frag.add_javascript_url(settings.STATIC_URL + 'js/vendor/tinymce/js/tinymce/themes/silver/theme.min.js') - frag.add_javascript(self.resource_string('static/js/html_edit.js')) + frag.add_javascript(self.runtime.local_resource_url('static/js/html_edit.js')) frag.add_javascript(loader.load_unicode('public/studio_edit.js')) if self.editor == 'raw': diff --git a/requirements/base.txt b/requirements/base.txt index d026ab5d..60c386b8 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,17 +6,17 @@ # appdirs==1.4.4 # via fs -asgiref==3.11.0 +asgiref==3.11.1 # via django bleach[css]==6.3.0 # via -r requirements/base.in -boto3==1.42.34 +boto3==1.43.2 # via fs-s3fs -botocore==1.42.34 +botocore==1.43.2 # via # boto3 # s3transfer -django==5.2.10 +django==5.2.13 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in @@ -34,27 +34,27 @@ jmespath==1.1.0 # botocore lazy==1.6 # via xblock -lxml==6.0.2 +lxml==6.1.0 # via xblock -mako==1.3.10 +mako==1.3.12 # via xblock markupsafe==3.0.3 # via # mako # xblock -openedx-django-pyfs==3.8.0 +openedx-django-pyfs==4.0.0 # via xblock python-dateutil==2.9.0.post0 # via # botocore # xblock -pytz==2025.2 +pytz==2026.2 # via xblock pyyaml==6.0.3 # via xblock -s3transfer==0.16.0 +s3transfer==0.17.0 # via boto3 -simplejson==3.20.2 +simplejson==4.1.1 # via xblock six==1.17.0 # via @@ -67,7 +67,7 @@ tinycss2==1.4.0 # via bleach urllib3==2.6.3 # via botocore -web-fragments==3.1.0 +web-fragments==4.0.0 # via xblock webencodings==0.5.1 # via @@ -75,7 +75,7 @@ webencodings==0.5.1 # tinycss2 webob==1.8.9 # via xblock -xblock[django]==5.3.0 +xblock[django]==6.1.0 # via -r requirements/base.in # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/ci.txt b/requirements/ci.txt index df31bab0..3cfd85ba 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -6,22 +6,28 @@ # distlib==0.4.0 # via virtualenv -filelock==3.20.3 +filelock==3.29.0 # via + # python-discovery # tox # virtualenv -packaging==26.0 +packaging==26.2 # via # pyproject-api # tox -platformdirs==4.5.1 +platformdirs==4.9.6 # via + # python-discovery # tox # virtualenv pluggy==1.6.0 # via tox py==1.11.0 # via tox +python-discovery==1.2.2 + # via + # tox + # virtualenv six==1.17.0 # via tox tox==3.28.0 @@ -30,5 +36,5 @@ tox==3.28.0 # tox-battery tox-battery==0.6.2 # via -r requirements/ci.in -virtualenv==20.36.1 +virtualenv==21.3.0 # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index ad884fb3..99261899 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -12,47 +12,43 @@ arrow==1.4.0 # via # -r requirements/quality.txt # cookiecutter -asgiref==3.11.0 +asgiref==3.11.1 # via # -r requirements/quality.txt # django -astroid==4.0.3 +astroid==4.0.4 # via # -r requirements/quality.txt # pylint # pylint-celery -binaryornot==0.4.4 +binaryornot==0.6.0 # via # -r requirements/quality.txt # cookiecutter bleach[css]==6.3.0 # via -r requirements/quality.txt -boto3==1.42.34 +boto3==1.43.2 # via # -r requirements/quality.txt # fs-s3fs -botocore==1.42.34 +botocore==1.43.2 # via # -r requirements/quality.txt # boto3 # s3transfer -build==1.4.0 +build==1.5.0 # via # -r requirements/pip-tools.txt # pip-tools -certifi==2026.1.4 +certifi==2026.4.22 # via # -r requirements/quality.txt # requests -chardet==5.2.0 - # via - # -r requirements/quality.txt - # binaryornot -charset-normalizer==3.4.4 +charset-normalizer==3.4.7 # via # -r requirements/quality.txt # requests -click==8.3.1 +click==8.3.3 # via # -r requirements/pip-tools.txt # -r requirements/quality.txt @@ -65,15 +61,15 @@ click-log==0.4.0 # via # -r requirements/quality.txt # edx-lint -code-annotations==2.3.0 +code-annotations==2.3.2 # via # -r requirements/quality.txt # edx-lint -cookiecutter==2.6.0 +cookiecutter==2.7.1 # via # -r requirements/quality.txt # xblock-sdk -coverage[toml]==7.13.2 +coverage[toml]==7.13.5 # via # -r requirements/quality.txt # pytest-cov @@ -85,20 +81,21 @@ distlib==0.4.0 # via # -r requirements/ci.txt # virtualenv -django==5.2.10 +django==5.2.13 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/quality.txt # edx-i18n-tools # openedx-django-pyfs # xblock-sdk -edx-i18n-tools==1.9.0 +edx-i18n-tools==2.0.0 # via -r requirements/quality.txt -edx-lint==5.6.0 +edx-lint==6.1.0 # via -r requirements/quality.txt -filelock==3.20.3 +filelock==3.29.0 # via # -r requirements/ci.txt + # python-discovery # tox # virtualenv fs==2.4.16 @@ -112,7 +109,7 @@ fs-s3fs==1.1.1 # -r requirements/quality.txt # openedx-django-pyfs # xblock-sdk -idna==3.11 +idna==3.13 # via # -r requirements/quality.txt # requests @@ -120,7 +117,7 @@ iniconfig==2.3.0 # via # -r requirements/quality.txt # pytest -isort==7.0.0 +isort==8.0.1 # via # -r requirements/quality.txt # pylint @@ -138,18 +135,18 @@ lazy==1.6 # via # -r requirements/quality.txt # xblock -lxml[html-clean]==6.0.2 +lxml[html-clean]==6.1.0 # via # -r requirements/quality.txt # edx-i18n-tools # lxml-html-clean # xblock # xblock-sdk -lxml-html-clean==0.4.3 +lxml-html-clean==0.4.4 # via # -r requirements/quality.txt # lxml -mako==1.3.10 +mako==1.3.12 # via # -r requirements/quality.txt # xblock @@ -173,11 +170,11 @@ mdurl==0.1.2 # markdown-it-py mock==5.2.0 # via -r requirements/quality.txt -openedx-django-pyfs==3.8.0 +openedx-django-pyfs==4.0.0 # via # -r requirements/quality.txt # xblock -packaging==26.0 +packaging==26.2 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -190,13 +187,14 @@ path==16.16.0 # via # -r requirements/quality.txt # edx-i18n-tools -pip-tools==7.5.2 +pip-tools==7.5.3 # via -r requirements/pip-tools.txt -platformdirs==4.5.1 +platformdirs==4.9.6 # via # -r requirements/ci.txt # -r requirements/quality.txt # pylint + # python-discovery # virtualenv pluggy==1.6.0 # via @@ -217,12 +215,12 @@ pycodestyle==2.14.0 # via -r requirements/quality.txt pydocstyle==6.3.0 # via -r requirements/quality.txt -pygments==2.19.2 +pygments==2.20.0 # via # -r requirements/quality.txt # pytest # rich -pylint==4.0.4 +pylint==4.0.5 # via # -r requirements/quality.txt # edx-lint @@ -251,14 +249,14 @@ pyproject-hooks==1.2.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==9.0.2 +pytest==9.0.3 # via # -r requirements/quality.txt # pytest-cov # pytest-django -pytest-cov==7.0.0 +pytest-cov==7.1.0 # via -r requirements/quality.txt -pytest-django==4.11.1 +pytest-django==4.12.0 # via -r requirements/quality.txt python-dateutil==2.9.0.post0 # via @@ -266,12 +264,16 @@ python-dateutil==2.9.0.post0 # arrow # botocore # xblock +python-discovery==1.2.2 + # via + # -r requirements/ci.txt + # virtualenv python-slugify==8.0.4 # via # -r requirements/quality.txt # code-annotations # cookiecutter -pytz==2025.2 +pytz==2026.2 # via # -r requirements/quality.txt # xblock @@ -282,20 +284,20 @@ pyyaml==6.0.3 # cookiecutter # edx-i18n-tools # xblock -requests==2.32.5 +requests==2.33.1 # via # -r requirements/quality.txt # cookiecutter # xblock-sdk -rich==14.3.1 +rich==15.0.0 # via # -r requirements/quality.txt # cookiecutter -s3transfer==0.16.0 +s3transfer==0.17.0 # via # -r requirements/quality.txt # boto3 -simplejson==3.20.2 +simplejson==4.1.1 # via # -r requirements/quality.txt # xblock @@ -317,7 +319,7 @@ sqlparse==0.5.5 # via # -r requirements/quality.txt # django -stevedore==5.6.0 +stevedore==5.7.0 # via # -r requirements/quality.txt # code-annotations @@ -332,6 +334,7 @@ tinycss2==1.4.0 tomlkit==0.14.0 # via # -r requirements/quality.txt + # edx-lint # pylint tox==3.28.0 # via @@ -339,7 +342,7 @@ tox==3.28.0 # tox-battery tox-battery==0.6.2 # via -r requirements/ci.txt -tzdata==2025.3 +tzdata==2026.2 # via # -r requirements/quality.txt # arrow @@ -348,11 +351,11 @@ urllib3==2.6.3 # -r requirements/quality.txt # botocore # requests -virtualenv==20.36.1 +virtualenv==21.3.0 # via # -r requirements/ci.txt # tox -web-fragments==3.1.0 +web-fragments==4.0.0 # via # -r requirements/quality.txt # xblock @@ -367,15 +370,15 @@ webob==1.8.9 # -r requirements/quality.txt # xblock # xblock-sdk -wheel==0.46.3 +wheel==0.47.0 # via # -r requirements/pip-tools.txt # pip-tools -xblock[django]==5.3.0 +xblock[django]==6.1.0 # via # -r requirements/quality.txt # xblock-sdk -xblock-sdk==0.13.0 +xblock-sdk==0.14.0 # via -r requirements/quality.txt # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 29a9eb33..eb6eb532 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,21 +4,21 @@ # # make upgrade # -build==1.4.0 +build==1.5.0 # via pip-tools -click==8.3.1 +click==8.3.3 # via pip-tools -packaging==26.0 +packaging==26.2 # via # build # wheel -pip-tools==7.5.2 +pip-tools==7.5.3 # via -r requirements/pip-tools.in pyproject-hooks==1.2.0 # via # build # pip-tools -wheel==0.46.3 +wheel==0.47.0 # via pip-tools # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index 9fbfa816..de87c336 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,13 +4,13 @@ # # make upgrade # -packaging==26.0 +packaging==26.2 # via wheel -wheel==0.46.3 +wheel==0.47.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==25.3 +pip==26.1 # via -r requirements/pip.in -setuptools==80.10.2 +setuptools==82.0.1 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index 184951b0..82f44180 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -12,42 +12,38 @@ arrow==1.4.0 # via # -r requirements/test.txt # cookiecutter -asgiref==3.11.0 +asgiref==3.11.1 # via # -r requirements/test.txt # django -astroid==4.0.3 +astroid==4.0.4 # via # pylint # pylint-celery -binaryornot==0.4.4 +binaryornot==0.6.0 # via # -r requirements/test.txt # cookiecutter bleach[css]==6.3.0 # via -r requirements/test.txt -boto3==1.42.34 +boto3==1.43.2 # via # -r requirements/test.txt # fs-s3fs -botocore==1.42.34 +botocore==1.43.2 # via # -r requirements/test.txt # boto3 # s3transfer -certifi==2026.1.4 +certifi==2026.4.22 # via # -r requirements/test.txt # requests -chardet==5.2.0 - # via - # -r requirements/test.txt - # binaryornot -charset-normalizer==3.4.4 +charset-normalizer==3.4.7 # via # -r requirements/test.txt # requests -click==8.3.1 +click==8.3.3 # via # -r requirements/test.txt # click-log @@ -56,30 +52,30 @@ click==8.3.1 # edx-lint click-log==0.4.0 # via edx-lint -code-annotations==2.3.0 +code-annotations==2.3.2 # via # -r requirements/test.txt # edx-lint -cookiecutter==2.6.0 +cookiecutter==2.7.1 # via # -r requirements/test.txt # xblock-sdk -coverage[toml]==7.13.2 +coverage[toml]==7.13.5 # via # -r requirements/test.txt # pytest-cov dill==0.4.1 # via pylint -django==5.2.10 +django==5.2.13 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt # edx-i18n-tools # openedx-django-pyfs # xblock-sdk -edx-i18n-tools==1.9.0 +edx-i18n-tools==2.0.0 # via -r requirements/test.txt -edx-lint==5.6.0 +edx-lint==6.1.0 # via -r requirements/quality.in fs==2.4.16 # via @@ -92,7 +88,7 @@ fs-s3fs==1.1.1 # -r requirements/test.txt # openedx-django-pyfs # xblock-sdk -idna==3.11 +idna==3.13 # via # -r requirements/test.txt # requests @@ -100,7 +96,7 @@ iniconfig==2.3.0 # via # -r requirements/test.txt # pytest -isort==7.0.0 +isort==8.0.1 # via # -r requirements/quality.in # pylint @@ -118,18 +114,18 @@ lazy==1.6 # via # -r requirements/test.txt # xblock -lxml[html-clean]==6.0.2 +lxml[html-clean]==6.1.0 # via # -r requirements/test.txt # edx-i18n-tools # lxml-html-clean # xblock # xblock-sdk -lxml-html-clean==0.4.3 +lxml-html-clean==0.4.4 # via # -r requirements/test.txt # lxml -mako==1.3.10 +mako==1.3.12 # via # -r requirements/test.txt # xblock @@ -151,11 +147,11 @@ mdurl==0.1.2 # markdown-it-py mock==5.2.0 # via -r requirements/test.txt -openedx-django-pyfs==3.8.0 +openedx-django-pyfs==4.0.0 # via # -r requirements/test.txt # xblock -packaging==26.0 +packaging==26.2 # via # -r requirements/test.txt # pytest @@ -163,7 +159,7 @@ path==16.16.0 # via # -r requirements/test.txt # edx-i18n-tools -platformdirs==4.5.1 +platformdirs==4.9.6 # via pylint pluggy==1.6.0 # via @@ -178,12 +174,12 @@ pycodestyle==2.14.0 # via -r requirements/quality.in pydocstyle==6.3.0 # via -r requirements/quality.in -pygments==2.19.2 +pygments==2.20.0 # via # -r requirements/test.txt # pytest # rich -pylint==4.0.4 +pylint==4.0.5 # via # edx-lint # pylint-celery @@ -201,14 +197,14 @@ pypng==0.20220715.0 # via # -r requirements/test.txt # xblock-sdk -pytest==9.0.2 +pytest==9.0.3 # via # -r requirements/test.txt # pytest-cov # pytest-django -pytest-cov==7.0.0 +pytest-cov==7.1.0 # via -r requirements/test.txt -pytest-django==4.11.1 +pytest-django==4.12.0 # via -r requirements/test.txt python-dateutil==2.9.0.post0 # via @@ -221,7 +217,7 @@ python-slugify==8.0.4 # -r requirements/test.txt # code-annotations # cookiecutter -pytz==2025.2 +pytz==2026.2 # via # -r requirements/test.txt # xblock @@ -232,20 +228,20 @@ pyyaml==6.0.3 # cookiecutter # edx-i18n-tools # xblock -requests==2.32.5 +requests==2.33.1 # via # -r requirements/test.txt # cookiecutter # xblock-sdk -rich==14.3.1 +rich==15.0.0 # via # -r requirements/test.txt # cookiecutter -s3transfer==0.16.0 +s3transfer==0.17.0 # via # -r requirements/test.txt # boto3 -simplejson==3.20.2 +simplejson==4.1.1 # via # -r requirements/test.txt # xblock @@ -263,7 +259,7 @@ sqlparse==0.5.5 # via # -r requirements/test.txt # django -stevedore==5.6.0 +stevedore==5.7.0 # via # -r requirements/test.txt # code-annotations @@ -276,8 +272,10 @@ tinycss2==1.4.0 # -r requirements/test.txt # bleach tomlkit==0.14.0 - # via pylint -tzdata==2025.3 + # via + # edx-lint + # pylint +tzdata==2026.2 # via # -r requirements/test.txt # arrow @@ -286,7 +284,7 @@ urllib3==2.6.3 # -r requirements/test.txt # botocore # requests -web-fragments==3.1.0 +web-fragments==4.0.0 # via # -r requirements/test.txt # xblock @@ -301,11 +299,11 @@ webob==1.8.9 # -r requirements/test.txt # xblock # xblock-sdk -xblock[django]==5.3.0 +xblock[django]==6.1.0 # via # -r requirements/test.txt # xblock-sdk -xblock-sdk==0.13.0 +xblock-sdk==0.14.0 # via -r requirements/test.txt # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/test.txt b/requirements/test.txt index 3099454a..bc15c2c4 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -10,37 +10,35 @@ appdirs==1.4.4 # fs arrow==1.4.0 # via cookiecutter -asgiref==3.11.0 +asgiref==3.11.1 # via # -r requirements/base.txt # django -binaryornot==0.4.4 +binaryornot==0.6.0 # via cookiecutter # via -r requirements/base.txt -boto3==1.42.34 +boto3==1.43.2 # via # -r requirements/base.txt # fs-s3fs -botocore==1.42.34 +botocore==1.43.2 # via # -r requirements/base.txt # boto3 # s3transfer -certifi==2026.1.4 +certifi==2026.4.22 # via requests -chardet==5.2.0 - # via binaryornot -charset-normalizer==3.4.4 +charset-normalizer==3.4.7 # via requests -click==8.3.1 +click==8.3.3 # via # code-annotations # cookiecutter -code-annotations==2.3.0 +code-annotations==2.3.2 # via -r requirements/test.in -cookiecutter==2.6.0 +cookiecutter==2.7.1 # via xblock-sdk -coverage[toml]==7.13.2 +coverage[toml]==7.13.5 # via pytest-cov # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt @@ -48,7 +46,7 @@ coverage[toml]==7.13.2 # edx-i18n-tools # openedx-django-pyfs # xblock-sdk -edx-i18n-tools==1.9.0 +edx-i18n-tools==2.0.0 # via -r requirements/test.in fs==2.4.16 # via @@ -61,7 +59,7 @@ fs-s3fs==1.1.1 # -r requirements/base.txt # openedx-django-pyfs # xblock-sdk -idna==3.11 +idna==3.13 # via requests iniconfig==2.3.0 # via pytest @@ -78,16 +76,16 @@ lazy==1.6 # via # -r requirements/base.txt # xblock -lxml[html-clean]==6.0.2 +lxml[html-clean]==6.1.0 # via # -r requirements/base.txt # edx-i18n-tools # lxml-html-clean # xblock # xblock-sdk -lxml-html-clean==0.4.3 +lxml-html-clean==0.4.4 # via lxml -mako==1.3.10 +mako==1.3.12 # via # -r requirements/base.txt # xblock @@ -103,11 +101,11 @@ mdurl==0.1.2 # via markdown-it-py mock==5.2.0 # via -r requirements/test.in -openedx-django-pyfs==3.8.0 +openedx-django-pyfs==4.0.0 # via # -r requirements/base.txt # xblock -packaging==26.0 +packaging==26.2 # via pytest path==16.16.0 # via edx-i18n-tools @@ -117,19 +115,19 @@ pluggy==1.6.0 # pytest-cov polib==1.2.0 # via edx-i18n-tools -pygments==2.19.2 +pygments==2.20.0 # via # pytest # rich pypng==0.20220715.0 # via xblock-sdk -pytest==9.0.2 +pytest==9.0.3 # via # pytest-cov # pytest-django -pytest-cov==7.0.0 +pytest-cov==7.1.0 # via -r requirements/test.in -pytest-django==4.11.1 +pytest-django==4.12.0 # via -r requirements/test.in python-dateutil==2.9.0.post0 # via @@ -141,7 +139,7 @@ python-slugify==8.0.4 # via # code-annotations # cookiecutter -pytz==2025.2 +pytz==2026.2 # via # -r requirements/base.txt # xblock @@ -152,17 +150,17 @@ pyyaml==6.0.3 # cookiecutter # edx-i18n-tools # xblock -requests==2.32.5 +requests==2.33.1 # via # cookiecutter # xblock-sdk -rich==14.3.1 +rich==15.0.0 # via cookiecutter -s3transfer==0.16.0 +s3transfer==0.17.0 # via # -r requirements/base.txt # boto3 -simplejson==3.20.2 +simplejson==4.1.1 # via # -r requirements/base.txt # xblock @@ -177,7 +175,7 @@ sqlparse==0.5.5 # via # -r requirements/base.txt # django -stevedore==5.6.0 +stevedore==5.7.0 # via code-annotations text-unidecode==1.3 # via python-slugify @@ -185,14 +183,14 @@ tinycss2==1.4.0 # via # -r requirements/base.txt # bleach -tzdata==2025.3 +tzdata==2026.2 # via arrow urllib3==2.6.3 # via # -r requirements/base.txt # botocore # requests -web-fragments==3.1.0 +web-fragments==4.0.0 # via # -r requirements/base.txt # xblock @@ -207,11 +205,11 @@ webob==1.8.9 # -r requirements/base.txt # xblock # xblock-sdk -xblock[django]==5.3.0 +xblock[django]==6.1.0 # via # -r requirements/base.txt # xblock-sdk -xblock-sdk==0.13.0 +xblock-sdk==0.14.0 # via -r requirements/test.in # The following packages are considered to be unsafe in a requirements file: