diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 2742b13f..1f7be80c 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,6 +4,11 @@ Change history for XBlock SDK These are notable changes in XBlock. +1.0.0 - 2024-05-30 +------------------ +* dropped python 3.8 support +* transitioned from deprecated pkg_resources lib to importlib.resources + 0.9.0 ----- * Xblock bumped to 3.0.0. Removed the deprecated id_generator method parameter in xblock.runtime diff --git a/Dockerfile b/Dockerfile index 2043a96c..9d5dee12 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,7 @@ COPY . /usr/local/src/xblock-sdk WORKDIR /usr/local/src/xblock-sdk ENV VIRTUAL_ENV=/venvs/xblock-sdk -RUN python3.8 -m venv $VIRTUAL_ENV +RUN python3.11 -m venv $VIRTUAL_ENV ENV PATH="$VIRTUAL_ENV/bin:$PATH" RUN pip install --upgrade pip && pip install -r /usr/local/src/xblock-sdk/requirements/dev.txt diff --git a/sample_xblocks/filethumbs/filethumbs.py b/sample_xblocks/filethumbs/filethumbs.py index 80bbef4a..22ce39aa 100644 --- a/sample_xblocks/filethumbs/filethumbs.py +++ b/sample_xblocks/filethumbs/filethumbs.py @@ -17,12 +17,10 @@ """ - - import json import logging -import pkg_resources +import importlib.resources import png from web_fragments.fragment import Fragment from xblock.core import XBlock @@ -72,8 +70,9 @@ def student_view(self, context=None): # pylint: disable=W0613 """ # Load the HTML fragment from within the package and fill in the template - html_str = pkg_resources.resource_string(__name__, - "static/html/thumbs.html").decode('utf-8') + html_str = importlib.resources.files(__package__).joinpath( + "static/html/thumbs.html" + ).read_text(encoding="utf-8") frag = Fragment(str(html_str)) if not self.fs.exists("thumbsvotes.json"): @@ -86,12 +85,10 @@ def student_view(self, context=None): # pylint: disable=W0613 self.downvotes = votes['down'] # Load the CSS and JavaScript fragments from within the package - css_str = pkg_resources.resource_string(__name__, - "static/css/thumbs.css").decode('utf-8') + css_str = importlib.resources.files(__package__).joinpath("static/css/thumbs.css").read_text(encoding="utf-8") frag.add_css(str(css_str)) - js_str = pkg_resources.resource_string(__name__, - "static/js/src/thumbs.js").decode('utf-8') + js_str = importlib.resources.files(__package__).joinpath("static/js/src/thumbs.js").read_text(encoding="utf-8") frag.add_javascript(str(js_str)) with self.fs.open('uparrow.png', 'wb') as file_output: diff --git a/sample_xblocks/thumbs/thumbs.py b/sample_xblocks/thumbs/thumbs.py index e6f9afca..b1ba1bec 100644 --- a/sample_xblocks/thumbs/thumbs.py +++ b/sample_xblocks/thumbs/thumbs.py @@ -1,10 +1,8 @@ """An XBlock providing thumbs-up/thumbs-down voting.""" - - import logging -import pkg_resources +import importlib.resources from web_fragments.fragment import Fragment from xblock.core import XBlock, XBlockAside from xblock.fields import Boolean, Integer, Scope @@ -36,17 +34,16 @@ def student_view(self, context=None): # pylint: disable=W0613 """ # Load the HTML fragment from within the package and fill in the template - html_str = pkg_resources.resource_string(__name__, - "static/html/thumbs.html").decode('utf-8') + html_str = importlib.resources.files( + __package__ + ).joinpath("static/html/thumbs.html").read_text(encoding="utf-8") frag = Fragment(str(html_str).format(block=self)) # Load the CSS and JavaScript fragments from within the package - css_str = pkg_resources.resource_string(__name__, - "static/css/thumbs.css").decode('utf-8') + css_str = importlib.resources.files(__package__).joinpath("static/css/thumbs.css").read_text(encoding="utf-8") frag.add_css(str(css_str)) - js_str = pkg_resources.resource_string(__name__, - "static/js/src/thumbs.js").decode('utf-8') + js_str = importlib.resources.files(__package__).joinpath("static/js/src/thumbs.js").read_text(encoding="utf-8") frag.add_javascript(str(js_str)) frag.initialize_js('ThumbsBlock') diff --git a/workbench/__init__.py b/workbench/__init__.py index 000ebbbe..7f182161 100644 --- a/workbench/__init__.py +++ b/workbench/__init__.py @@ -2,4 +2,4 @@ Provide a djangoapp for XBlock development """ -__version__ = '0.11.0' +__version__ = '0.12.0'