From 76b2dc7bb2be793f0f446cd19c5ac17026af0fac Mon Sep 17 00:00:00 2001 From: Irtaza Akram Date: Thu, 15 Jan 2026 21:18:57 +0500 Subject: [PATCH 1/2] fix: fix and correct make upgrade --- .github/workflows/ci.yml | 4 +- .github/workflows/pypi-publish.yml | 6 +-- Makefile | 4 +- requirements/base.txt | 28 +++++++------- requirements/ci.txt | 18 ++++----- requirements/common_constraints.txt | 16 +------- requirements/pip.in | 7 ---- requirements/pip.txt | 14 ------- requirements/pip_tools.txt | 18 +++++---- requirements/quality.txt | 58 ++++++++++++++--------------- requirements/test.txt | 14 +++---- requirements/tox.txt | 18 ++++----- 12 files changed, 83 insertions(+), 122 deletions(-) delete mode 100644 requirements/pip.in delete mode 100644 requirements/pip.txt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ee6c458..c298852 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,9 +22,9 @@ jobs: - django42 - django52 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - name: setup python - uses: actions/setup-python@v2 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - run: make ci.test TOX_ENV=${{ matrix.TOX_ENV }} diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml index bc05efd..319c476 100644 --- a/.github/workflows/pypi-publish.yml +++ b/.github/workflows/pypi-publish.yml @@ -11,14 +11,14 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v6 - name: setup python - uses: actions/setup-python@v3 + uses: actions/setup-python@v6 with: python-version: 3.12 - name: Install pip - run: pip install -r requirements/pip.txt + run: pip install -r requirements/pip_tools.txt - name: Build package run: python setup.py sdist bdist_wheel diff --git a/Makefile b/Makefile index fba176b..8c937eb 100755 --- a/Makefile +++ b/Makefile @@ -89,9 +89,7 @@ $(COMMON_CONSTRAINTS_TXT): upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade upgrade: $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in pip install -q -r requirements/pip_tools.txt - pip-compile --allow-unsafe --rebuild --upgrade -o requirements/pip.txt requirements/pip.in - pip-compile --upgrade -o requirements/pip_tools.txt requirements/pip_tools.in - pip install -q -r requirements/pip.txt + pip-compile --allow-unsafe --rebuild --upgrade -o requirements/pip_tools.txt requirements/pip_tools.in pip install -q -r requirements/pip_tools.txt pip-compile --upgrade -o requirements/base.txt requirements/base.in pip-compile --upgrade -o requirements/test.txt requirements/test.in diff --git a/requirements/base.txt b/requirements/base.txt index f4e8504..3603fd1 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,44 +6,44 @@ # appdirs==1.4.4 # via fs -asgiref==3.8.1 +asgiref==3.11.0 # via django -django==4.2.16 +django==5.2.10 # via # -c requirements/common_constraints.txt # -r requirements/base.in -edx-codejail==3.4.1 +edx-codejail==4.1.0 # via -r requirements/base.in fs==2.4.16 # via xblock -lxml==5.3.0 +lxml==6.0.2 # via xblock -mako==1.3.5 +mako==1.3.10 # via xblock -markupsafe==2.1.5 +markupsafe==3.0.3 # via # mako # xblock python-dateutil==2.9.0.post0 # via xblock -pytz==2024.2 +pytz==2025.2 # via xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via xblock -simplejson==3.19.3 +simplejson==3.20.2 # via xblock -six==1.16.0 +six==1.17.0 # via # edx-codejail # fs # python-dateutil -sqlparse==0.5.1 +sqlparse==0.5.5 # via django -web-fragments==2.2.0 +web-fragments==3.1.0 # via xblock -webob==1.8.8 +webob==1.8.9 # via xblock -xblock==5.1.0 +xblock==5.3.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 4be09bc..5d38941 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,7 +4,7 @@ # # make upgrade # -cachetools==5.5.0 +cachetools==6.2.4 # via # -r requirements/tox.txt # tox @@ -16,36 +16,36 @@ colorama==0.4.6 # via # -r requirements/tox.txt # tox -distlib==0.3.8 +distlib==0.4.0 # via # -r requirements/tox.txt # virtualenv -filelock==3.16.0 +filelock==3.20.3 # via # -r requirements/tox.txt # tox # virtualenv -packaging==24.1 +packaging==25.0 # via # -r requirements/tox.txt # pyproject-api # tox -platformdirs==4.3.2 +platformdirs==4.5.1 # via # -r requirements/tox.txt # tox # virtualenv -pluggy==1.5.0 +pluggy==1.6.0 # via # -r requirements/tox.txt # tox -pyproject-api==1.7.1 +pyproject-api==1.10.0 # via # -r requirements/tox.txt # tox -tox==4.18.1 +tox==4.34.1 # via -r requirements/tox.txt -virtualenv==20.26.4 +virtualenv==20.36.1 # via # -r requirements/tox.txt # tox diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index e3bf8ea..72cc4cc 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -11,22 +11,10 @@ # Note: Changes to this file will automatically be used by other repos, referencing # this file from Github directly. It does not require packaging in edx-lint. - # using LTS django version -Django<5.0 +Django<6.0 # elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process. # elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html +# See https://github.com/openedx/edx-platform/issues/35126 for more info elasticsearch<7.14.0 - -# django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected -django-simple-history==3.0.0 - -# opentelemetry requires version 6.x at the moment: -# https://github.com/open-telemetry/opentelemetry-python/issues/3570 -# Normally this could be added as a constraint in edx-django-utils, where we're -# adding the opentelemetry dependency. However, when we compile pip-tools.txt, -# that uses version 7.x, and then there's no undoing that when compiling base.txt. -# So we need to pin it globally, for now. -# Ticket for unpinning: https://github.com/openedx/edx-lint/issues/407 -importlib-metadata<7 diff --git a/requirements/pip.in b/requirements/pip.in deleted file mode 100644 index 715478c..0000000 --- a/requirements/pip.in +++ /dev/null @@ -1,7 +0,0 @@ --c constraints.txt -# Core dependencies for installing other packages - -pip -setuptools -wheel - diff --git a/requirements/pip.txt b/requirements/pip.txt deleted file mode 100644 index f313a9c..0000000 --- a/requirements/pip.txt +++ /dev/null @@ -1,14 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.11 -# by the following command: -# -# make upgrade -# -wheel==0.44.0 - # via -r requirements/pip.in - -# The following packages are considered to be unsafe in a requirements file: -pip==24.2 - # via -r requirements/pip.in -setuptools==74.1.2 - # via -r requirements/pip.in diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 77d81ad..dc223b8 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -4,21 +4,23 @@ # # make upgrade # -build==1.2.2 +build==1.4.0 # via pip-tools -click==8.1.7 +click==8.3.1 # via pip-tools -packaging==24.1 +packaging==25.0 # via build -pip-tools==7.4.1 +pip-tools==7.5.2 # via -r requirements/pip_tools.in -pyproject-hooks==1.1.0 +pyproject-hooks==1.2.0 # via # build # pip-tools -wheel==0.44.0 +wheel==0.45.1 # via pip-tools # The following packages are considered to be unsafe in a requirements file: -# pip -# setuptools +pip==25.3 + # via pip-tools +setuptools==80.9.0 + # via pip-tools diff --git a/requirements/quality.txt b/requirements/quality.txt index 41cc0dd..7ce5d52 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -8,60 +8,56 @@ appdirs==1.4.4 # via # -r requirements/base.txt # fs -asgiref==3.8.1 +asgiref==3.11.0 # via # -r requirements/base.txt # django -astroid==3.2.4 +astroid==4.0.3 # via pylint -coverage==7.6.1 +coverage==7.13.1 # via -r requirements/test.txt -dill==0.3.8 +dill==0.4.0 # via pylint -django==4.2.16 +django==5.2.10 # via # -c requirements/common_constraints.txt # -r requirements/base.txt -dnspython==2.6.1 +dnspython==2.8.0 # via # -r requirements/test.txt # pymongo -edx-codejail==3.4.1 +edx-codejail==4.1.0 # via -r requirements/base.txt -edx-opaque-keys==2.11.0 +edx-opaque-keys==3.0.0 # via -r requirements/test.txt fs==2.4.16 # via # -r requirements/base.txt # xblock -isort==5.13.2 +isort==7.0.0 # via pylint -lxml==5.3.0 +lxml==6.0.2 # via # -r requirements/base.txt # xblock -mako==1.3.5 +mako==1.3.10 # via # -r requirements/base.txt # xblock -markupsafe==2.1.5 +markupsafe==3.0.3 # via # -r requirements/base.txt # mako # xblock mccabe==0.7.0 # via pylint -pbr==6.1.0 - # via - # -r requirements/test.txt - # stevedore -platformdirs==4.3.2 +platformdirs==4.5.1 # via pylint -pycodestyle==2.12.1 +pycodestyle==2.14.0 # via -r requirements/quality.in -pylint==3.2.7 +pylint==4.0.4 # via -r requirements/quality.in -pymongo==4.8.0 +pymongo==4.16.0 # via # -r requirements/test.txt # edx-opaque-keys @@ -69,47 +65,47 @@ python-dateutil==2.9.0.post0 # via # -r requirements/base.txt # xblock -pytz==2024.2 +pytz==2025.2 # via # -r requirements/base.txt # xblock -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/base.txt # xblock -simplejson==3.19.3 +simplejson==3.20.2 # via # -r requirements/base.txt # xblock -six==1.16.0 +six==1.17.0 # via # -r requirements/base.txt # edx-codejail # fs # python-dateutil -sqlparse==0.5.1 +sqlparse==0.5.5 # via # -r requirements/base.txt # django -stevedore==5.3.0 +stevedore==5.6.0 # via # -r requirements/test.txt # edx-opaque-keys -tomlkit==0.13.2 +tomlkit==0.14.0 # via pylint -typing-extensions==4.12.2 +typing-extensions==4.15.0 # via # -r requirements/test.txt # edx-opaque-keys -web-fragments==2.2.0 +web-fragments==3.1.0 # via # -r requirements/base.txt # xblock -webob==1.8.8 +webob==1.8.9 # via # -r requirements/base.txt # xblock -xblock==5.1.0 +xblock==5.3.0 # via -r requirements/base.txt # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/test.txt b/requirements/test.txt index 9427165..f40c8e5 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -4,17 +4,15 @@ # # make upgrade # -coverage==7.6.1 +coverage==7.13.1 # via -r requirements/test.in -dnspython==2.6.1 +dnspython==2.8.0 # via pymongo -edx-opaque-keys==2.11.0 +edx-opaque-keys==3.0.0 # via -r requirements/test.in -pbr==6.1.0 - # via stevedore -pymongo==4.8.0 +pymongo==4.16.0 # via edx-opaque-keys -stevedore==5.3.0 +stevedore==5.6.0 # via edx-opaque-keys -typing-extensions==4.12.2 +typing-extensions==4.15.0 # via edx-opaque-keys diff --git a/requirements/tox.txt b/requirements/tox.txt index c6769e2..fd0c275 100644 --- a/requirements/tox.txt +++ b/requirements/tox.txt @@ -4,31 +4,31 @@ # # make upgrade # -cachetools==5.5.0 +cachetools==6.2.4 # via tox chardet==5.2.0 # via tox colorama==0.4.6 # via tox -distlib==0.3.8 +distlib==0.4.0 # via virtualenv -filelock==3.16.0 +filelock==3.20.3 # via # tox # virtualenv -packaging==24.1 +packaging==25.0 # via # pyproject-api # tox -platformdirs==4.3.2 +platformdirs==4.5.1 # via # tox # virtualenv -pluggy==1.5.0 +pluggy==1.6.0 # via tox -pyproject-api==1.7.1 +pyproject-api==1.10.0 # via tox -tox==4.18.1 +tox==4.34.1 # via -r requirements/tox.in -virtualenv==20.26.4 +virtualenv==20.36.1 # via tox From e10a121045383cdf7c2a90e3dfb0ab0e020b36b5 Mon Sep 17 00:00:00 2001 From: Irtaza Akram Date: Thu, 15 Jan 2026 21:27:12 +0500 Subject: [PATCH 2/2] fix: quality issues --- pylintrc | 7 ++++--- sql_grader/mixins/fragment.py | 2 +- sql_grader/mixins/grading.py | 2 +- sql_grader/problem.py | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/pylintrc b/pylintrc index cadb490..25221c7 100644 --- a/pylintrc +++ b/pylintrc @@ -64,7 +64,7 @@ # SERIOUSLY. # # ------------------------------ -# Generated by edx-lint version: 5.2.5 +# Generated by edx-lint version: 5.6.0 # ------------------------------ [MASTER] ignore = @@ -259,6 +259,7 @@ enable = useless-suppression, disable = bad-indentation, + broad-exception-raised, consider-using-f-string, duplicate-code, file-ignored, @@ -380,6 +381,6 @@ ext-import-graph = int-import-graph = [EXCEPTIONS] -overgeneral-exceptions = Exception +overgeneral-exceptions = builtins.Exception -# 54daa2b24c4b5341a45cdb4727fe15d05ef04c5f +# 7feb1346b73bc45df270f76c70a9df6225240601 diff --git a/sql_grader/mixins/fragment.py b/sql_grader/mixins/fragment.py index ceefd32..c97f323 100644 --- a/sql_grader/mixins/fragment.py +++ b/sql_grader/mixins/fragment.py @@ -50,7 +50,7 @@ def student_view(self, context=None): ) return fragment - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def build_fragment( self, template='', diff --git a/sql_grader/mixins/grading.py b/sql_grader/mixins/grading.py index e846d0e..a616158 100644 --- a/sql_grader/mixins/grading.py +++ b/sql_grader/mixins/grading.py @@ -26,7 +26,7 @@ log = logging.getLogger('sql_grader') -# pylint: disable=too-many-arguments +# pylint: disable=too-many-arguments,too-many-positional-arguments def attempt_safe(dataset, answer_query, verify_query, modification_query, is_ordered, query): """ diff --git a/sql_grader/problem.py b/sql_grader/problem.py index 0367384..d460a4b 100644 --- a/sql_grader/problem.py +++ b/sql_grader/problem.py @@ -28,7 +28,7 @@ class SqlProblem: answer_error = None is_ordered = True - # pylint: disable=too-many-arguments + # pylint: disable=too-many-arguments,too-many-positional-arguments def __init__( self, database=None,