diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cffcdee..e432a0f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: matrix: os: - ubuntu-latest - python-version: ['3.8', '3.11'] + python-version: ['3.11', '3.12'] steps: - uses: actions/checkout@v1 - name: setup python diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml index 17eb5fd..355716e 100644 --- a/.github/workflows/pypi-publish.yml +++ b/.github/workflows/pypi-publish.yml @@ -15,7 +15,7 @@ jobs: - name: setup python uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.11 - name: Install pip run: pip install -r requirements/pip.txt diff --git a/recommender/__init__.py b/recommender/__init__.py index 4e38f26..486953d 100644 --- a/recommender/__init__.py +++ b/recommender/__init__.py @@ -6,4 +6,4 @@ # which is not loaded when running `manage.py` commands (which is used by `make compile_translations`) # from .recommender import RecommenderXBlock -__version__ = '2.2.1' +__version__ = '3.0.0' diff --git a/recommender/recommender.py b/recommender/recommender.py index 3ad6101..4615962 100644 --- a/recommender/recommender.py +++ b/recommender/recommender.py @@ -8,7 +8,6 @@ import hashlib import simplejson as json import lxml.etree as etree -import pkg_resources import re from copy import deepcopy @@ -55,8 +54,7 @@ def emit(param1, param2): def load(path): """Handy helper for getting resources from our kit.""" - data = pkg_resources.resource_string(__name__, path) - return data.decode("utf8") + return resource_loader.load_unicode(path) def stem_url(url): @@ -123,8 +121,7 @@ def resource_string(self, path): """ Handy helper for getting static file resources from our Python package. """ - data = pkg_resources.resource_string(__name__, path) - return data.decode("utf8") + return resource_loader.load_unicode(path) @XBlock.needs('fs') diff --git a/requirements/base.txt b/requirements/base.txt index ea40e4d..50815f4 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade @@ -8,47 +8,45 @@ appdirs==1.4.4 # via fs asgiref==3.8.1 # via django -backports-zoneinfo==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # django bleach==6.1.0 # via -r requirements/base.in -django==4.2.11 +django==4.2.16 # via # -c requirements/common_constraints.txt # edx-i18n-tools -edx-i18n-tools==1.3.0 +edx-i18n-tools==1.6.3 # via -r requirements/base.in fs==2.4.16 # via -r requirements/base.in -lxml==5.1.0 - # via edx-i18n-tools -mako==1.3.2 +lxml[html-clean,html_clean]==5.3.0 + # via + # edx-i18n-tools + # lxml-html-clean +lxml-html-clean==0.2.2 + # via lxml +mako==1.3.5 # via -r requirements/base.in markupsafe==2.1.5 # via mako -path==16.10.0 +path==16.16.0 # via edx-i18n-tools polib==1.2.0 # via edx-i18n-tools -pyyaml==6.0.1 +pyyaml==6.0.2 # via edx-i18n-tools -simplejson==3.19.2 +simplejson==3.19.3 # via -r requirements/base.in six==1.16.0 # via # bleach # fs -sqlparse==0.4.4 +sqlparse==0.5.1 # via django -typing-extensions==4.10.0 - # via asgiref -web-fragments==2.1.0 +web-fragments==2.2.0 # via -r requirements/base.in webencodings==0.5.1 # via bleach -webob==1.8.7 +webob==1.8.8 # 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 28a82f2..86e0e08 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade @@ -12,33 +12,33 @@ asgiref==3.8.1 # via # -r requirements/test.txt # django -backports-zoneinfo==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # -r requirements/test.txt - # django bleach==6.1.0 # via -r requirements/test.txt -django==4.2.11 +django==4.2.16 # via # -c requirements/common_constraints.txt # -r requirements/test.txt # edx-i18n-tools -edx-i18n-tools==1.3.0 +edx-i18n-tools==1.6.3 # via -r requirements/test.txt fs==2.4.16 # via -r requirements/test.txt -lxml==5.1.0 +lxml[html-clean]==5.3.0 # via # -r requirements/test.txt # edx-i18n-tools -mako==1.3.2 + # lxml-html-clean +lxml-html-clean==0.2.2 + # via + # -r requirements/test.txt + # lxml +mako==1.3.5 # via -r requirements/test.txt markupsafe==2.1.5 # via # -r requirements/test.txt # mako -path==16.10.0 +path==16.16.0 # via # -r requirements/test.txt # edx-i18n-tools @@ -46,34 +46,30 @@ polib==1.2.0 # via # -r requirements/test.txt # edx-i18n-tools -pycodestyle==2.11.1 +pycodestyle==2.12.1 # via -r requirements/test.txt -pyyaml==6.0.1 +pyyaml==6.0.2 # via # -r requirements/test.txt # edx-i18n-tools -simplejson==3.19.2 +simplejson==3.19.3 # via -r requirements/test.txt six==1.16.0 # via # -r requirements/test.txt # bleach # fs -sqlparse==0.4.4 +sqlparse==0.5.1 # via # -r requirements/test.txt # django -typing-extensions==4.10.0 - # via - # -r requirements/test.txt - # asgiref -web-fragments==2.1.0 +web-fragments==2.2.0 # via -r requirements/test.txt webencodings==0.5.1 # via # -r requirements/test.txt # bleach -webob==1.8.7 +webob==1.8.8 # via -r requirements/test.txt # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index cf44902..f313a9c 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -1,14 +1,14 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade # -wheel==0.43.0 +wheel==0.44.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==24.0 +pip==24.2 # via -r requirements/pip.in -setuptools==69.2.0 +setuptools==74.1.2 # via -r requirements/pip.in diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 3db2d4c..77d81ad 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -1,34 +1,23 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade # -build==1.1.1 +build==1.2.2 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==6.11.0 - # via - # -c requirements/common_constraints.txt - # build -packaging==24.0 +packaging==24.1 # via build pip-tools==7.4.1 # via -r requirements/pip_tools.in -pyproject-hooks==1.0.0 - # via - # build - # pip-tools -tomli==2.0.1 +pyproject-hooks==1.1.0 # via # build # pip-tools - # pyproject-hooks -wheel==0.43.0 +wheel==0.44.0 # via pip-tools -zipp==3.18.1 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/test.txt b/requirements/test.txt index 28d048c..6498184 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # # make upgrade @@ -12,33 +12,33 @@ asgiref==3.8.1 # via # -r requirements/base.txt # django -backports-zoneinfo==0.2.1 ; python_version < "3.9" - # via - # -c requirements/constraints.txt - # -r requirements/base.txt - # django bleach==6.1.0 # via -r requirements/base.txt -django==4.2.11 +django==4.2.16 # via # -c requirements/common_constraints.txt # -r requirements/base.txt # edx-i18n-tools -edx-i18n-tools==1.3.0 +edx-i18n-tools==1.6.3 # via -r requirements/base.txt fs==2.4.16 # via -r requirements/base.txt -lxml==5.1.0 +lxml[html-clean]==5.3.0 # via # -r requirements/base.txt # edx-i18n-tools -mako==1.3.2 + # lxml-html-clean +lxml-html-clean==0.2.2 + # via + # -r requirements/base.txt + # lxml +mako==1.3.5 # via -r requirements/base.txt markupsafe==2.1.5 # via # -r requirements/base.txt # mako -path==16.10.0 +path==16.16.0 # via # -r requirements/base.txt # edx-i18n-tools @@ -46,34 +46,30 @@ polib==1.2.0 # via # -r requirements/base.txt # edx-i18n-tools -pycodestyle==2.11.1 +pycodestyle==2.12.1 # via -r requirements/test.in -pyyaml==6.0.1 +pyyaml==6.0.2 # via # -r requirements/base.txt # edx-i18n-tools -simplejson==3.19.2 +simplejson==3.19.3 # via -r requirements/base.txt six==1.16.0 # via # -r requirements/base.txt # bleach # fs -sqlparse==0.4.4 +sqlparse==0.5.1 # via # -r requirements/base.txt # django -typing-extensions==4.10.0 - # via - # -r requirements/base.txt - # asgiref -web-fragments==2.1.0 +web-fragments==2.2.0 # via -r requirements/base.txt webencodings==0.5.1 # via # -r requirements/base.txt # bleach -webob==1.8.7 +webob==1.8.8 # via -r requirements/base.txt # The following packages are considered to be unsafe in a requirements file: diff --git a/setup.py b/setup.py index ef169a3..cd2e05e 100644 --- a/setup.py +++ b/setup.py @@ -92,7 +92,7 @@ def get_version(file_path): "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Natural Language :: English", "Programming Language :: Python :: 3", - 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', ], )