diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5927eb9..2285622 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,10 +2,10 @@ name: Python CI on: push: - branches: [ master ] + branches: [master] pull_request: branches: - - '**' + - '**' workflow_dispatch: concurrency: @@ -18,27 +18,27 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-20.04 ] - python-version: [3.8] - toxenv: [django32, django42, quality, package] + os: [ubuntu-20.04] + python-version: ['3.8', '3.11'] + toxenv: [django42, quality, package] steps: - - name: Install translations dependencies - run: sudo apt-get install -y gettext + - name: Install translations dependencies + run: sudo apt-get install -y gettext - - name: checkout repo - uses: actions/checkout@v3 - with: - submodules: recursive + - name: checkout repo + uses: actions/checkout@v3 + with: + submodules: recursive - - name: setup python - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} + - name: setup python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} - - name: Install Dependencies - run: pip install -r requirements/ci.txt + - name: Install Dependencies + run: pip install -r requirements/ci.txt - - name: Run Tests - env: - TOXENV: ${{ matrix.toxenv }} - run: tox + - name: Run Tests + env: + TOXENV: ${{ matrix.toxenv }} + run: tox diff --git a/google_drive/__init__.py b/google_drive/__init__.py index 6010928..f34f9cf 100644 --- a/google_drive/__init__.py +++ b/google_drive/__init__.py @@ -4,4 +4,4 @@ from .google_docs import GoogleDocumentBlock from .google_calendar import GoogleCalendarBlock -__version__ = '0.6.1' +__version__ = '0.7.0' diff --git a/google_drive/google_docs.py b/google_drive/google_docs.py index 9381f61..9cb2bbc 100644 --- a/google_drive/google_docs.py +++ b/google_drive/google_docs.py @@ -142,7 +142,7 @@ def studio_submit(self, submissions, suffix=''): # pylint: disable=unused-argum # suffix argument is specified for xblocks, but we are not using herein @XBlock.json_handler - def check_url(self, data, suffix=''): # pylint: disable=unused-argument,no-self-use + def check_url(self, data, suffix=''): # pylint: disable=unused-argument """ Checks that the given document url is accessible, and therefore assumed to be valid """ @@ -155,7 +155,7 @@ def check_url(self, data, suffix=''): # pylint: disable=unused-argument,no-self } try: - url_response = requests.head(test_url) + url_response = requests.head(test_url) # pylint: disable=missing-timeout # Catch wide range of request exceptions except requests.exceptions.RequestException as ex: LOG.debug("Unable to connect to %s - %s", test_url, six.text_type(ex)) diff --git a/google_drive/tests/unit/test_calendar.py b/google_drive/tests/unit/test_calendar.py index e48c688..ed74c6a 100644 --- a/google_drive/tests/unit/test_calendar.py +++ b/google_drive/tests/unit/test_calendar.py @@ -85,7 +85,7 @@ def make_calendar_block(cls): ids = generate_scope_ids(runtime, 'google_calendar') return GoogleCalendarBlock(runtime, db_model, scope_ids=ids) - def _render_calendar_block(self): # pylint: disable=no-self-use + def _render_calendar_block(self): block = TestGoogleCalendarBlock.make_calendar_block() block.usage_id = Mock() student_fragment = block.render('student_view', Mock()) @@ -115,7 +115,7 @@ def test_calendar_template_content(self, override, activate_lang, expected_lang) assert_in(USER_INPUTS_WRAPPER, studio_fragment.content) assert_in(BUTTONS_WRAPPER, studio_fragment.content) - def test_calendar_document_submit(self): # pylint: disable=no-self-use + def test_calendar_document_submit(self): """ Test studio submission of GoogleCalendarBlock """ block = TestGoogleCalendarBlock.make_calendar_block() @@ -133,7 +133,7 @@ def test_calendar_document_submit(self): # pylint: disable=no-self-use # pylint: disable=no-value-for-parameter assert_equal(json.loads(res.body.decode('utf8')), RESULT_ERROR) - def test_calendar_publish_event(self): # pylint: disable=no-self-use + def test_calendar_publish_event(self): """ Test event publishing in GoogleCalendarBlock""" block = TestGoogleCalendarBlock.make_calendar_block() diff --git a/google_drive/tests/unit/test_docs.py b/google_drive/tests/unit/test_docs.py index ef51890..5ddf27d 100644 --- a/google_drive/tests/unit/test_docs.py +++ b/google_drive/tests/unit/test_docs.py @@ -76,7 +76,7 @@ def make_document_block(cls): ids = generate_scope_ids(runtime, 'google_document') return GoogleDocumentBlock(runtime, db_model, scope_ids=ids) - def test_document_template_content(self): # pylint: disable=no-self-use + def test_document_template_content(self): """ Test content of GoogleDocumentBlock's rendered views """ block = TestGoogleDocumentBlock.make_document_block() block.usage_id = Mock() @@ -93,7 +93,7 @@ def test_document_template_content(self): # pylint: disable=no-self-use assert_in(USER_INPUTS_WRAPPER, studio_fragment.content) assert_in(BUTTONS_WRAPPER, studio_fragment.content) - def test_studio_document_submit(self): # pylint: disable=no-self-use + def test_studio_document_submit(self): """ Test studio submission of GoogleDocumentBlock """ block = TestGoogleDocumentBlock.make_document_block() @@ -110,7 +110,7 @@ def test_studio_document_submit(self): # pylint: disable=no-self-use res = block.handle('studio_submit', make_request(body)) assert_equal(json.loads(res.body.decode('utf8')), RESULT_ERROR) - def test_check_document_url(self): # pylint: disable=no-self-use + def test_check_document_url(self): """ Test verification of the provided Google Document URL""" block = TestGoogleDocumentBlock.make_document_block() @@ -134,7 +134,7 @@ def test_check_document_url(self): # pylint: disable=no-self-use assert_equal(json.loads(res.body.decode('utf8')), STATUS_CODE_400) - def test_document_publish_event(self): # pylint: disable=no-self-use + def test_document_publish_event(self): """ Test event publishing in GoogleDocumentBlock""" block = TestGoogleDocumentBlock.make_document_block() diff --git a/requirements/ci.txt b/requirements/ci.txt index f4eb155..de3c581 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,9 +4,13 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.1 # via django -cachetools==5.3.2 +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # django +cachetools==5.3.3 # via tox certifi==2024.2.2 # via requests @@ -22,7 +26,7 @@ coveralls==3.3.1 # via -r requirements/ci.in distlib==0.3.8 # via virtualenv -django==3.2.24 +django==4.2.11 # via # -c requirements/common_constraints.txt # edx-i18n-tools @@ -30,19 +34,19 @@ docopt==0.6.2 # via coveralls edx-i18n-tools==1.3.0 # via -r requirements/ci.in -filelock==3.13.1 +filelock==3.13.3 # via # tox # virtualenv idna==3.6 # via requests -lxml==5.1.0 +lxml==5.2.1 # via edx-i18n-tools -packaging==23.2 +packaging==24.0 # via # pyproject-api # tox -path==16.10.0 +path==16.13.0 # via edx-i18n-tools platformdirs==4.2.0 # via @@ -54,8 +58,6 @@ polib==1.2.0 # via edx-i18n-tools pyproject-api==1.6.1 # via tox -pytz==2024.1 - # via django pyyaml==6.0.1 # via edx-i18n-tools requests==2.31.0 @@ -66,9 +68,9 @@ tomli==2.0.1 # via # pyproject-api # tox -tox==4.13.0 +tox==4.14.2 # via -r requirements/ci.in -typing-extensions==4.10.0 +typing-extensions==4.11.0 # via asgiref urllib3==2.2.1 # via requests diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 15aafb2..e3bf8ea 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -13,7 +13,7 @@ # using LTS django version -Django<4.0 +Django<5.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 @@ -21,3 +21,12 @@ 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/constraints.txt b/requirements/constraints.txt index 528e12d..810e8f0 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -10,5 +10,5 @@ -c common_constraints.txt -# TODO: Many pinned dependencies should be unpinned and/or moved to this constraints file. -pylint==2.12.2 +# Temporary to Support the python 3.11 Upgrade +backports.zoneinfo;python_version<"3.9" # Newer versions have zoneinfo available in the standard library diff --git a/requirements/dev.txt b/requirements/dev.txt index e969f65..6b58cef 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -8,23 +8,27 @@ appdirs==1.4.4 # via fs arrow==1.3.0 # via cookiecutter -asgiref==3.7.2 +asgiref==3.8.1 # via django -astroid==2.9.3 +astroid==3.1.0 # via # pylint # pylint-celery backports-functools-lru-cache==2.0.0 # via caniusepython3 +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # django binaryornot==0.4.4 # via cookiecutter -boto3==1.34.49 +boto3==1.34.79 # via fs-s3fs -botocore==1.34.49 +botocore==1.34.79 # via # boto3 # s3transfer -build==1.0.3 +build==1.2.1 # via pip-tools caniusepython3==7.3.0 # via -r requirements/quality.in @@ -45,19 +49,21 @@ click==8.1.7 # pip-tools click-log==0.4.0 # via edx-lint -code-annotations==1.6.0 +code-annotations==1.8.0 # via edx-lint cookiecutter==2.6.0 # via xblock-sdk -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via pytest-cov -ddt==1.7.1 +ddt==1.7.2 # via -r requirements/test.in diff-cover==8.0.3 # via -r requirements/dev.in +dill==0.3.8 + # via pylint distlib==0.3.8 # via caniusepython3 -django==3.2.24 +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -81,8 +87,10 @@ fs-s3fs==1.1.1 # xblock-sdk idna==3.6 # via requests -importlib-metadata==7.0.2 - # via build +importlib-metadata==6.11.0 + # via + # -c requirements/common_constraints.txt + # build iniconfig==2.0.0 # via pytest isort==5.13.2 @@ -100,9 +108,7 @@ jmespath==1.0.1 # botocore lazy==1.6 # via xblock -lazy-object-proxy==1.10.0 - # via astroid -lxml==5.1.0 +lxml==4.9.4 # via # edx-i18n-tools # xblock @@ -116,7 +122,7 @@ markupsafe==2.1.5 # jinja2 # mako # xblock -mccabe==0.6.1 +mccabe==0.7.0 # via pylint mdurl==0.1.2 # via markdown-it-py @@ -124,18 +130,18 @@ mock==5.1.0 # via -r requirements/test.in nose==1.3.7 # via -r requirements/test.in -openedx-django-pyfs==3.5.0 +openedx-django-pyfs==3.6.0 # via xblock -packaging==23.2 +packaging==24.0 # via # build # caniusepython3 # pytest -path==16.10.0 +path==16.13.0 # via edx-i18n-tools pbr==6.0.0 # via stevedore -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/dev.in platformdirs==4.2.0 # via pylint @@ -153,9 +159,8 @@ pygments==2.17.2 # via # diff-cover # rich -pylint==2.12.2 +pylint==3.1.0 # via - # -c requirements/constraints.txt # edx-lint # pylint-celery # pylint-django @@ -176,28 +181,27 @@ pyproject-hooks==1.0.0 # via # build # pip-tools -pytest==8.0.2 +pytest==8.1.1 # via # -r requirements/test.in # pytest-cov # pytest-django -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.in pytest-django==4.8.0 # via -r requirements/test.in -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # arrow # botocore # xblock -python-slugify==4.0.1 +python-slugify==8.0.4 # via # code-annotations # cookiecutter + # transifex-client pytz==2024.1 - # via - # django - # xblock + # via xblock pyyaml==6.0.1 # via # code-annotations @@ -209,10 +213,11 @@ requests==2.31.0 # -r requirements/base.in # caniusepython3 # cookiecutter + # transifex-client # xblock-sdk -rich==13.7.0 +rich==13.7.1 # via cookiecutter -s3transfer==0.10.0 +s3transfer==0.10.1 # via boto3 simplejson==3.19.2 # via @@ -224,6 +229,9 @@ six==1.16.0 # fs # fs-s3fs # python-dateutil + # transifex-client +smmap==5.0.1 + # via gitdb snowballstemmer==2.2.0 # via pydocstyle sqlparse==0.4.4 @@ -232,18 +240,19 @@ stevedore==5.2.0 # via code-annotations text-unidecode==1.3 # via python-slugify -toml==0.10.2 - # via pylint tomli==2.0.1 # via # build # coverage # pip-tools + # pylint # pyproject-hooks # pytest -types-python-dateutil==2.8.19.20240106 +tomlkit==0.12.4 + # via pylint +types-python-dateutil==2.9.0.20240316 # via arrow -typing-extensions==4.10.0 +typing-extensions==4.11.0 # via # asgiref # astroid @@ -253,7 +262,7 @@ urllib3==1.26.18 # via # botocore # requests -web-fragments==2.1.0 +web-fragments==2.2.0 # via # xblock # xblock-sdk @@ -261,19 +270,17 @@ webob==1.8.7 # via # xblock # xblock-sdk -wheel==0.42.0 +wheel==0.43.0 # via pip-tools -wrapt==1.13.3 - # via astroid -xblock[django]==1.10.0 +xblock[django]==3.1.0 # via # -r requirements/base.in # xblock-sdk -xblock-sdk==0.7.0 +xblock-sdk==0.10.0 # via # -r requirements/dev.in # -r requirements/test.in -zipp==3.17.0 +zipp==3.18.1 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/django.txt b/requirements/django.txt index ddab664..db03776 100644 --- a/requirements/django.txt +++ b/requirements/django.txt @@ -1 +1 @@ -django==3.2.25 +django==4.2.11 diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 1c6a4b5..6401f54 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,15 +4,17 @@ # # make upgrade # -build==1.0.3 +build==1.2.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==7.0.2 - # via build -packaging==23.2 +importlib-metadata==6.11.0 + # via + # -c requirements/common_constraints.txt + # build +packaging==24.0 # via build -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.in pyproject-hooks==1.0.0 # via @@ -23,9 +25,9 @@ tomli==2.0.1 # build # pip-tools # pyproject-hooks -wheel==0.42.0 +wheel==0.43.0 # via pip-tools -zipp==3.17.0 +zipp==3.18.1 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index 6665603..cf44902 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,11 +4,11 @@ # # make upgrade # -wheel==0.42.0 +wheel==0.43.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r requirements/pip.in -setuptools==69.1.1 +setuptools==69.2.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index e969f65..6b58cef 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -8,23 +8,27 @@ appdirs==1.4.4 # via fs arrow==1.3.0 # via cookiecutter -asgiref==3.7.2 +asgiref==3.8.1 # via django -astroid==2.9.3 +astroid==3.1.0 # via # pylint # pylint-celery backports-functools-lru-cache==2.0.0 # via caniusepython3 +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # django binaryornot==0.4.4 # via cookiecutter -boto3==1.34.49 +boto3==1.34.79 # via fs-s3fs -botocore==1.34.49 +botocore==1.34.79 # via # boto3 # s3transfer -build==1.0.3 +build==1.2.1 # via pip-tools caniusepython3==7.3.0 # via -r requirements/quality.in @@ -45,19 +49,21 @@ click==8.1.7 # pip-tools click-log==0.4.0 # via edx-lint -code-annotations==1.6.0 +code-annotations==1.8.0 # via edx-lint cookiecutter==2.6.0 # via xblock-sdk -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via pytest-cov -ddt==1.7.1 +ddt==1.7.2 # via -r requirements/test.in diff-cover==8.0.3 # via -r requirements/dev.in +dill==0.3.8 + # via pylint distlib==0.3.8 # via caniusepython3 -django==3.2.24 +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -81,8 +87,10 @@ fs-s3fs==1.1.1 # xblock-sdk idna==3.6 # via requests -importlib-metadata==7.0.2 - # via build +importlib-metadata==6.11.0 + # via + # -c requirements/common_constraints.txt + # build iniconfig==2.0.0 # via pytest isort==5.13.2 @@ -100,9 +108,7 @@ jmespath==1.0.1 # botocore lazy==1.6 # via xblock -lazy-object-proxy==1.10.0 - # via astroid -lxml==5.1.0 +lxml==4.9.4 # via # edx-i18n-tools # xblock @@ -116,7 +122,7 @@ markupsafe==2.1.5 # jinja2 # mako # xblock -mccabe==0.6.1 +mccabe==0.7.0 # via pylint mdurl==0.1.2 # via markdown-it-py @@ -124,18 +130,18 @@ mock==5.1.0 # via -r requirements/test.in nose==1.3.7 # via -r requirements/test.in -openedx-django-pyfs==3.5.0 +openedx-django-pyfs==3.6.0 # via xblock -packaging==23.2 +packaging==24.0 # via # build # caniusepython3 # pytest -path==16.10.0 +path==16.13.0 # via edx-i18n-tools pbr==6.0.0 # via stevedore -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/dev.in platformdirs==4.2.0 # via pylint @@ -153,9 +159,8 @@ pygments==2.17.2 # via # diff-cover # rich -pylint==2.12.2 +pylint==3.1.0 # via - # -c requirements/constraints.txt # edx-lint # pylint-celery # pylint-django @@ -176,28 +181,27 @@ pyproject-hooks==1.0.0 # via # build # pip-tools -pytest==8.0.2 +pytest==8.1.1 # via # -r requirements/test.in # pytest-cov # pytest-django -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.in pytest-django==4.8.0 # via -r requirements/test.in -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # arrow # botocore # xblock -python-slugify==4.0.1 +python-slugify==8.0.4 # via # code-annotations # cookiecutter + # transifex-client pytz==2024.1 - # via - # django - # xblock + # via xblock pyyaml==6.0.1 # via # code-annotations @@ -209,10 +213,11 @@ requests==2.31.0 # -r requirements/base.in # caniusepython3 # cookiecutter + # transifex-client # xblock-sdk -rich==13.7.0 +rich==13.7.1 # via cookiecutter -s3transfer==0.10.0 +s3transfer==0.10.1 # via boto3 simplejson==3.19.2 # via @@ -224,6 +229,9 @@ six==1.16.0 # fs # fs-s3fs # python-dateutil + # transifex-client +smmap==5.0.1 + # via gitdb snowballstemmer==2.2.0 # via pydocstyle sqlparse==0.4.4 @@ -232,18 +240,19 @@ stevedore==5.2.0 # via code-annotations text-unidecode==1.3 # via python-slugify -toml==0.10.2 - # via pylint tomli==2.0.1 # via # build # coverage # pip-tools + # pylint # pyproject-hooks # pytest -types-python-dateutil==2.8.19.20240106 +tomlkit==0.12.4 + # via pylint +types-python-dateutil==2.9.0.20240316 # via arrow -typing-extensions==4.10.0 +typing-extensions==4.11.0 # via # asgiref # astroid @@ -253,7 +262,7 @@ urllib3==1.26.18 # via # botocore # requests -web-fragments==2.1.0 +web-fragments==2.2.0 # via # xblock # xblock-sdk @@ -261,19 +270,17 @@ webob==1.8.7 # via # xblock # xblock-sdk -wheel==0.42.0 +wheel==0.43.0 # via pip-tools -wrapt==1.13.3 - # via astroid -xblock[django]==1.10.0 +xblock[django]==3.1.0 # via # -r requirements/base.in # xblock-sdk -xblock-sdk==0.7.0 +xblock-sdk==0.10.0 # via # -r requirements/dev.in # -r requirements/test.in -zipp==3.17.0 +zipp==3.18.1 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/test.txt b/requirements/test.txt index 93b6ceb..39ce2e2 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -8,17 +8,21 @@ appdirs==1.4.4 # via fs arrow==1.3.0 # via cookiecutter -asgiref==3.7.2 +asgiref==3.8.1 # via django +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # django binaryornot==0.4.4 # via cookiecutter -boto3==1.34.49 +boto3==1.34.79 # via fs-s3fs -botocore==1.34.49 +botocore==1.34.79 # via # boto3 # s3transfer -build==1.0.3 +build==1.2.1 # via pip-tools certifi==2024.2.2 # via requests @@ -34,9 +38,9 @@ click==8.1.7 # pip-tools cookiecutter==2.6.0 # via xblock-sdk -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via pytest-cov -ddt==1.7.1 +ddt==1.7.2 # via -r requirements/test.in diff-cover==8.0.3 # via -r requirements/dev.in @@ -61,8 +65,10 @@ fs-s3fs==1.1.1 # xblock-sdk idna==3.6 # via requests -importlib-metadata==7.0.2 - # via build +importlib-metadata==6.11.0 + # via + # -c requirements/common_constraints.txt + # build iniconfig==2.0.0 # via pytest jinja2==3.1.3 @@ -75,7 +81,7 @@ jmespath==1.0.1 # botocore lazy==1.6 # via xblock -lxml==5.1.0 +lxml==4.9.4 # via # edx-i18n-tools # xblock @@ -95,15 +101,15 @@ mock==5.1.0 # via -r requirements/test.in nose==1.3.7 # via -r requirements/test.in -openedx-django-pyfs==3.5.0 +openedx-django-pyfs==3.6.0 # via xblock -packaging==23.2 +packaging==24.0 # via # build # pytest -path==16.10.0 +path==16.13.0 # via edx-i18n-tools -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/dev.in pluggy==1.4.0 # via @@ -123,26 +129,24 @@ pyproject-hooks==1.0.0 # via # build # pip-tools -pytest==8.0.2 +pytest==8.1.1 # via # -r requirements/test.in # pytest-cov # pytest-django -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.in pytest-django==4.8.0 # via -r requirements/test.in -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # arrow # botocore # xblock -python-slugify==4.0.1 +python-slugify==8.0.4 # via cookiecutter pytz==2024.1 - # via - # django - # xblock + # via xblock pyyaml==6.0.1 # via # cookiecutter @@ -153,9 +157,9 @@ requests==2.31.0 # -r requirements/base.in # cookiecutter # xblock-sdk -rich==13.7.0 +rich==13.7.1 # via cookiecutter -s3transfer==0.10.0 +s3transfer==0.10.1 # via boto3 simplejson==3.19.2 # via @@ -177,9 +181,9 @@ tomli==2.0.1 # pip-tools # pyproject-hooks # pytest -types-python-dateutil==2.8.19.20240106 +types-python-dateutil==2.9.0.20240316 # via arrow -typing-extensions==4.10.0 +typing-extensions==4.11.0 # via # asgiref # rich @@ -187,7 +191,7 @@ urllib3==1.26.18 # via # botocore # requests -web-fragments==2.1.0 +web-fragments==2.2.0 # via # xblock # xblock-sdk @@ -195,17 +199,17 @@ webob==1.8.7 # via # xblock # xblock-sdk -wheel==0.42.0 +wheel==0.43.0 # via pip-tools -xblock[django]==1.10.0 +xblock[django]==3.1.0 # via # -r requirements/base.in # xblock-sdk -xblock-sdk==0.7.0 +xblock-sdk==0.10.0 # via # -r requirements/dev.in # -r requirements/test.in -zipp==3.17.0 +zipp==3.18.1 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: diff --git a/setup.py b/setup.py index 0aca009..04d6b00 100644 --- a/setup.py +++ b/setup.py @@ -115,8 +115,8 @@ def package_data(pkg, root_list): classifiers=[ 'Programming Language :: Python', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.11', 'Framework :: Django', - 'Framework :: Django :: 3.2', 'Framework :: Django :: 4.2', ], url='https://github.com/openedx/xblock-google-drive', diff --git a/tox.ini b/tox.ini index 4a59232..88df122 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py38-django{32,42},quality,package +envlist = py{38, 311}-django{42},quality,package [pycodestyle] exclude = .git,.tox @@ -18,11 +18,10 @@ allowlist_externals = make mkdir rm -deps = - django32: Django>=3.2,<4.0 +deps = django42: Django>=4.2,<4.3 -r{toxinidir}/requirements/test.txt -setenv = +setenv = DJANGO_SETTINGS_MODULE = workbench.settings SCREENSHOT_DIR={toxinidir}/var/logs SELENIUM_DRIVER_LOG_DIR={toxinidir}/var/logs @@ -35,17 +34,17 @@ commands = [testenv:quality] allowlist_externals = make -deps = +deps = -r{toxinidir}/requirements/quality.txt -commands = +commands = pylint google_drive pycodestyle google_drive make selfcheck [testenv:package] -deps = +deps = build twine -commands = +commands = python -m build twine check dist/*