diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 80cc1d5d..cc6ff1e0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: matrix: os: [ubuntu-20.04] python-version: ['3.8'] - toxenv: [quality, docs, pii_check, django32, django40] + toxenv: [quality, django32] steps: - uses: actions/checkout@v3 @@ -35,10 +35,3 @@ jobs: env: TOXENV: ${{ matrix.toxenv }} run: tox - - - name: Run coverage - if: matrix.python-version == '3.8' && matrix.toxenv == 'django32' - uses: codecov/codecov-action@v3 - with: - flags: unittests - fail_ci_if_error: true diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml deleted file mode 100644 index fec11d6c..00000000 --- a/.github/workflows/commitlint.yml +++ /dev/null @@ -1,10 +0,0 @@ -# Run commitlint on the commit messages in a pull request. - -name: Lint Commit Messages - -on: - - pull_request - -jobs: - commitlint: - uses: openedx/.github/.github/workflows/commitlint.yml@master diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml deleted file mode 100644 index a22e9e6a..00000000 --- a/.github/workflows/pypi-publish.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Publish package to PyPi - -on: - release: - types: [published] - -jobs: - - push: - runs-on: ubuntu-20.04 - - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: setup python - uses: actions/setup-python@v2 - with: - python-version: 3.8 - - - name: Install pip - run: pip install -r requirements/pip.txt - - - name: Build package - run: python setup.py sdist bdist_wheel - - - name: Publish to PyPi - uses: pypa/gh-action-pypi-publish@master - with: - user: __token__ - password: ${{ secrets.PYPI_UPLOAD_TOKEN }} diff --git a/.github/workflows/upgrade-python-requirements.yml b/.github/workflows/upgrade-python-requirements.yml deleted file mode 100644 index 293fcc90..00000000 --- a/.github/workflows/upgrade-python-requirements.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Upgrade Python Requirements - -on: - schedule: - - cron: "0 0 * * 1" - workflow_dispatch: - inputs: - branch: - description: "Target branch against which to create requirements PR" - required: true - default: 'main' - -jobs: - call-upgrade-python-requirements-workflow: - uses: openedx/.github/.github/workflows/upgrade-python-requirements.yml@master - with: - branch: ${{ github.event.inputs.branch || 'main' }} - # optional parameters below; fill in if you'd like github or email notifications - # user_reviewers: "" - # team_reviewers: "" - # email_address: "" - # send_success_notification: false - secrets: - requirements_bot_github_token: ${{ secrets.REQUIREMENTS_BOT_GITHUB_TOKEN }} - requirements_bot_github_email: ${{ secrets.REQUIREMENTS_BOT_GITHUB_EMAIL }} - edx_smtp_username: ${{ secrets.EDX_SMTP_USERNAME }} - edx_smtp_password: ${{ secrets.EDX_SMTP_PASSWORD }} diff --git a/requirements/base.txt b/requirements/base.txt new file mode 100644 index 00000000..0c2c1d74 --- /dev/null +++ b/requirements/base.txt @@ -0,0 +1,21 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# make upgrade +# +asgiref==3.7.2 + # via django +django==4.2.11 + # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -r requirements/base.in + # django-model-utils +django-model-utils==4.4.0 + # via -r requirements/base.in +openedx-atlas==0.6.0 + # via -r requirements/base.in +sqlparse==0.4.4 + # via django +typing-extensions==4.10.0 + # via asgiref diff --git a/requirements/ci.txt b/requirements/ci.txt new file mode 100644 index 00000000..4e4b3347 --- /dev/null +++ b/requirements/ci.txt @@ -0,0 +1,38 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# make upgrade +# +cachetools==5.3.3 + # via tox +chardet==5.2.0 + # via tox +colorama==0.4.6 + # via tox +distlib==0.3.8 + # via virtualenv +filelock==3.13.1 + # via + # tox + # virtualenv +packaging==23.2 + # via + # pyproject-api + # tox +platformdirs==4.2.0 + # via + # tox + # virtualenv +pluggy==1.4.0 + # via tox +pyproject-api==1.6.1 + # via tox +tomli==2.0.1 + # via + # pyproject-api + # tox +tox==4.13.0 + # via -r requirements/ci.in +virtualenv==20.25.1 + # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt new file mode 100644 index 00000000..56f758b8 --- /dev/null +++ b/requirements/dev.txt @@ -0,0 +1,250 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# make upgrade +# +asgiref==3.7.2 + # via + # -r requirements/quality.txt + # django +astroid==3.1.0 + # via + # -r requirements/quality.txt + # pylint + # pylint-celery +build==1.1.1 + # via + # -r requirements/pip-tools.txt + # pip-tools +cachetools==5.3.3 + # via + # -r requirements/ci.txt + # tox +chardet==5.2.0 + # via + # -r requirements/ci.txt + # diff-cover + # tox +click==8.1.7 + # via + # -r requirements/pip-tools.txt + # -r requirements/quality.txt + # click-log + # code-annotations + # edx-lint + # pip-tools +click-log==0.4.0 + # via + # -r requirements/quality.txt + # edx-lint +code-annotations==1.6.0 + # via + # -r requirements/quality.txt + # edx-lint +colorama==0.4.6 + # via + # -r requirements/ci.txt + # tox +coverage[toml]==7.4.3 + # via + # -r requirements/quality.txt + # pytest-cov +diff-cover==8.0.3 + # via -r requirements/dev.in +dill==0.3.8 + # via + # -r requirements/quality.txt + # pylint +distlib==0.3.8 + # via + # -r requirements/ci.txt + # virtualenv +django==4.2.11 + # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -r requirements/quality.txt + # django-model-utils + # edx-i18n-tools +django-model-utils==4.4.0 + # via -r requirements/quality.txt +edx-i18n-tools==1.3.0 + # via -r requirements/dev.in +edx-lint==5.3.6 + # via -r requirements/quality.txt +exceptiongroup==1.2.0 + # via + # -r requirements/quality.txt + # pytest +filelock==3.13.1 + # via + # -r requirements/ci.txt + # tox + # virtualenv +iniconfig==2.0.0 + # via + # -r requirements/quality.txt + # pytest +isort==5.13.2 + # via + # -r requirements/quality.txt + # pylint +jinja2==3.1.3 + # via + # -r requirements/quality.txt + # code-annotations + # diff-cover +lxml==5.1.0 + # via edx-i18n-tools +markupsafe==2.1.5 + # via + # -r requirements/quality.txt + # jinja2 +mccabe==0.7.0 + # via + # -r requirements/quality.txt + # pylint +openedx-atlas==0.6.0 + # via -r requirements/quality.txt +packaging==23.2 + # via + # -r requirements/ci.txt + # -r requirements/pip-tools.txt + # -r requirements/quality.txt + # build + # pyproject-api + # pytest + # tox +path==16.10.0 + # via edx-i18n-tools +pbr==6.0.0 + # via + # -r requirements/quality.txt + # stevedore +pip-tools==7.4.0 + # via -r requirements/pip-tools.txt +platformdirs==4.2.0 + # via + # -r requirements/ci.txt + # -r requirements/quality.txt + # pylint + # tox + # virtualenv +pluggy==1.4.0 + # via + # -r requirements/ci.txt + # -r requirements/quality.txt + # diff-cover + # pytest + # tox +polib==1.2.0 + # via edx-i18n-tools +pycodestyle==2.11.1 + # via -r requirements/quality.txt +pydocstyle==6.3.0 + # via -r requirements/quality.txt +pygments==2.17.2 + # via diff-cover +pylint==3.1.0 + # via + # -r requirements/quality.txt + # edx-lint + # pylint-celery + # pylint-django + # pylint-plugin-utils +pylint-celery==0.3 + # via + # -r requirements/quality.txt + # edx-lint +pylint-django==2.5.5 + # via + # -r requirements/quality.txt + # edx-lint +pylint-plugin-utils==0.8.2 + # via + # -r requirements/quality.txt + # pylint-celery + # pylint-django +pyproject-api==1.6.1 + # via + # -r requirements/ci.txt + # tox +pyproject-hooks==1.0.0 + # via + # -r requirements/pip-tools.txt + # build + # pip-tools +pytest==8.0.2 + # via + # -r requirements/quality.txt + # pytest-cov + # pytest-django +pytest-cov==4.1.0 + # via -r requirements/quality.txt +pytest-django==4.8.0 + # via -r requirements/quality.txt +python-slugify==8.0.4 + # via + # -r requirements/quality.txt + # code-annotations +pyyaml==6.0.1 + # via + # -r requirements/quality.txt + # code-annotations + # edx-i18n-tools +six==1.16.0 + # via + # -r requirements/quality.txt + # edx-lint +snowballstemmer==2.2.0 + # via + # -r requirements/quality.txt + # pydocstyle +sqlparse==0.4.4 + # via + # -r requirements/quality.txt + # django +stevedore==5.2.0 + # via + # -r requirements/quality.txt + # code-annotations +text-unidecode==1.3 + # via + # -r requirements/quality.txt + # python-slugify +tomli==2.0.1 + # via + # -r requirements/ci.txt + # -r requirements/pip-tools.txt + # -r requirements/quality.txt + # build + # coverage + # pip-tools + # pylint + # pyproject-api + # pyproject-hooks + # pytest + # tox +tomlkit==0.12.4 + # via + # -r requirements/quality.txt + # pylint +tox==4.13.0 + # via -r requirements/ci.txt +typing-extensions==4.10.0 + # via + # -r requirements/quality.txt + # asgiref + # astroid +virtualenv==20.25.1 + # via + # -r requirements/ci.txt + # tox +wheel==0.42.0 + # via + # -r requirements/pip-tools.txt + # pip-tools + +# The following packages are considered to be unsafe in a requirements file: +# pip +# setuptools diff --git a/requirements/doc.txt b/requirements/doc.txt new file mode 100644 index 00000000..6d4f4bab --- /dev/null +++ b/requirements/doc.txt @@ -0,0 +1,221 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# make upgrade +# +accessible-pygments==0.0.4 + # via pydata-sphinx-theme +alabaster==0.7.16 + # via sphinx +asgiref==3.7.2 + # via + # -r requirements/test.txt + # django +babel==2.14.0 + # via + # pydata-sphinx-theme + # sphinx +beautifulsoup4==4.12.3 + # via pydata-sphinx-theme +build==1.1.1 + # via -r requirements/doc.in +certifi==2024.2.2 + # via requests +cffi==1.16.0 + # via cryptography +charset-normalizer==3.3.2 + # via requests +click==8.1.7 + # via + # -r requirements/test.txt + # code-annotations +code-annotations==1.6.0 + # via -r requirements/test.txt +coverage[toml]==7.4.3 + # via + # -r requirements/test.txt + # pytest-cov +cryptography==42.0.5 + # via secretstorage +django==4.2.11 + # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -r requirements/test.txt + # django-model-utils +django-model-utils==4.4.0 + # via -r requirements/test.txt +doc8==1.1.1 + # via -r requirements/doc.in +docutils==0.20.1 + # via + # doc8 + # pydata-sphinx-theme + # readme-renderer + # restructuredtext-lint + # sphinx +exceptiongroup==1.2.0 + # via + # -r requirements/test.txt + # pytest +idna==3.6 + # via requests +imagesize==1.4.1 + # via sphinx +importlib-metadata==7.0.1 + # via + # keyring + # twine +iniconfig==2.0.0 + # via + # -r requirements/test.txt + # pytest +jaraco-classes==3.3.1 + # via keyring +jeepney==0.8.0 + # via + # keyring + # secretstorage +jinja2==3.1.3 + # via + # -r requirements/test.txt + # code-annotations + # sphinx +keyring==24.3.1 + # via twine +markdown-it-py==3.0.0 + # via rich +markupsafe==2.1.5 + # via + # -r requirements/test.txt + # jinja2 +mdurl==0.1.2 + # via markdown-it-py +more-itertools==10.2.0 + # via jaraco-classes +nh3==0.2.15 + # via readme-renderer +openedx-atlas==0.6.0 + # via -r requirements/test.txt +packaging==23.2 + # via + # -r requirements/test.txt + # build + # pydata-sphinx-theme + # pytest + # sphinx +pbr==6.0.0 + # via + # -r requirements/test.txt + # stevedore +pkginfo==1.10.0 + # via twine +pluggy==1.4.0 + # via + # -r requirements/test.txt + # pytest +pycparser==2.21 + # via cffi +pydata-sphinx-theme==0.15.2 + # via sphinx-book-theme +pygments==2.17.2 + # via + # accessible-pygments + # doc8 + # pydata-sphinx-theme + # readme-renderer + # rich + # sphinx +pyproject-hooks==1.0.0 + # via build +pytest==8.0.2 + # via + # -r requirements/test.txt + # pytest-cov + # pytest-django +pytest-cov==4.1.0 + # via -r requirements/test.txt +pytest-django==4.8.0 + # via -r requirements/test.txt +python-slugify==8.0.4 + # via + # -r requirements/test.txt + # code-annotations +pyyaml==6.0.1 + # via + # -r requirements/test.txt + # code-annotations +readme-renderer==43.0 + # via twine +requests==2.31.0 + # via + # requests-toolbelt + # sphinx + # twine +requests-toolbelt==1.0.0 + # via twine +restructuredtext-lint==1.4.0 + # via doc8 +rfc3986==2.0.0 + # via twine +rich==13.7.1 + # via twine +secretstorage==3.3.3 + # via keyring +snowballstemmer==2.2.0 + # via sphinx +soupsieve==2.5 + # via beautifulsoup4 +sphinx==7.2.6 + # via + # -r requirements/doc.in + # pydata-sphinx-theme + # sphinx-book-theme +sphinx-book-theme==1.1.2 + # via -r requirements/doc.in +sphinxcontrib-applehelp==1.0.8 + # via sphinx +sphinxcontrib-devhelp==1.0.6 + # via sphinx +sphinxcontrib-htmlhelp==2.0.5 + # via sphinx +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==1.0.7 + # via sphinx +sphinxcontrib-serializinghtml==1.1.10 + # via sphinx +sqlparse==0.4.4 + # via + # -r requirements/test.txt + # django +stevedore==5.2.0 + # via + # -r requirements/test.txt + # code-annotations + # doc8 +text-unidecode==1.3 + # via + # -r requirements/test.txt + # python-slugify +tomli==2.0.1 + # via + # -r requirements/test.txt + # build + # coverage + # doc8 + # pyproject-hooks + # pytest +twine==5.0.0 + # via -r requirements/doc.in +typing-extensions==4.10.0 + # via + # -r requirements/test.txt + # asgiref + # pydata-sphinx-theme +urllib3==2.2.1 + # via + # requests + # twine +zipp==3.17.0 + # via importlib-metadata diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index d0a9af72..89412462 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -1,19 +1,17 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # make upgrade # -build==1.0.3 +build==1.1.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==7.0.1 - # via build packaging==23.2 # via build pip-tools==7.4.0 - # via -r python-template/placeholder_repo_name_0/requirements/pip-tools.in + # via -r requirements/pip-tools.in pyproject-hooks==1.0.0 # via # build @@ -25,8 +23,6 @@ tomli==2.0.1 # pyproject-hooks wheel==0.42.0 # via pip-tools -zipp==3.17.0 - # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/pip.txt b/requirements/pip.txt index a1974aca..2c7f181e 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.10 # by the following command: # # make upgrade # wheel==0.42.0 - # via -r python-template/placeholder_repo_name_0/requirements/pip.in + # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: pip==24.0 - # via -r python-template/placeholder_repo_name_0/requirements/pip.in + # via -r requirements/pip.in setuptools==69.1.1 - # via -r python-template/placeholder_repo_name_0/requirements/pip.in + # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt new file mode 100644 index 00000000..5ae64ab6 --- /dev/null +++ b/requirements/quality.txt @@ -0,0 +1,143 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# make upgrade +# +asgiref==3.7.2 + # via + # -r requirements/test.txt + # django +astroid==3.1.0 + # via + # pylint + # pylint-celery +click==8.1.7 + # via + # -r requirements/test.txt + # click-log + # code-annotations + # edx-lint +click-log==0.4.0 + # via edx-lint +code-annotations==1.6.0 + # via + # -r requirements/test.txt + # edx-lint +coverage[toml]==7.4.3 + # via + # -r requirements/test.txt + # pytest-cov +dill==0.3.8 + # via pylint +django==4.2.11 + # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -r requirements/test.txt + # django-model-utils +django-model-utils==4.4.0 + # via -r requirements/test.txt +edx-lint==5.3.6 + # via -r requirements/quality.in +exceptiongroup==1.2.0 + # via + # -r requirements/test.txt + # pytest +iniconfig==2.0.0 + # via + # -r requirements/test.txt + # pytest +isort==5.13.2 + # via + # -r requirements/quality.in + # pylint +jinja2==3.1.3 + # via + # -r requirements/test.txt + # code-annotations +markupsafe==2.1.5 + # via + # -r requirements/test.txt + # jinja2 +mccabe==0.7.0 + # via pylint +openedx-atlas==0.6.0 + # via -r requirements/test.txt +packaging==23.2 + # via + # -r requirements/test.txt + # pytest +pbr==6.0.0 + # via + # -r requirements/test.txt + # stevedore +platformdirs==4.2.0 + # via pylint +pluggy==1.4.0 + # via + # -r requirements/test.txt + # pytest +pycodestyle==2.11.1 + # via -r requirements/quality.in +pydocstyle==6.3.0 + # via -r requirements/quality.in +pylint==3.1.0 + # via + # edx-lint + # pylint-celery + # pylint-django + # pylint-plugin-utils +pylint-celery==0.3 + # via edx-lint +pylint-django==2.5.5 + # via edx-lint +pylint-plugin-utils==0.8.2 + # via + # pylint-celery + # pylint-django +pytest==8.0.2 + # via + # -r requirements/test.txt + # pytest-cov + # pytest-django +pytest-cov==4.1.0 + # via -r requirements/test.txt +pytest-django==4.8.0 + # via -r requirements/test.txt +python-slugify==8.0.4 + # via + # -r requirements/test.txt + # code-annotations +pyyaml==6.0.1 + # via + # -r requirements/test.txt + # code-annotations +six==1.16.0 + # via edx-lint +snowballstemmer==2.2.0 + # via pydocstyle +sqlparse==0.4.4 + # via + # -r requirements/test.txt + # django +stevedore==5.2.0 + # via + # -r requirements/test.txt + # code-annotations +text-unidecode==1.3 + # via + # -r requirements/test.txt + # python-slugify +tomli==2.0.1 + # via + # -r requirements/test.txt + # coverage + # pylint + # pytest +tomlkit==0.12.4 + # via pylint +typing-extensions==4.10.0 + # via + # -r requirements/test.txt + # asgiref + # astroid diff --git a/requirements/test.txt b/requirements/test.txt new file mode 100644 index 00000000..b65b6259 --- /dev/null +++ b/requirements/test.txt @@ -0,0 +1,66 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# make upgrade +# +asgiref==3.7.2 + # via + # -r requirements/base.txt + # django +click==8.1.7 + # via code-annotations +code-annotations==1.6.0 + # via -r requirements/test.in +coverage[toml]==7.4.3 + # via pytest-cov + # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -r requirements/base.txt + # django-model-utils +django-model-utils==4.4.0 + # via -r requirements/base.txt +exceptiongroup==1.2.0 + # via pytest +iniconfig==2.0.0 + # via pytest +jinja2==3.1.3 + # via code-annotations +markupsafe==2.1.5 + # via jinja2 +openedx-atlas==0.6.0 + # via -r requirements/base.txt +packaging==23.2 + # via pytest +pbr==6.0.0 + # via stevedore +pluggy==1.4.0 + # via pytest +pytest==8.0.2 + # via + # pytest-cov + # pytest-django +pytest-cov==4.1.0 + # via -r requirements/test.in +pytest-django==4.8.0 + # via -r requirements/test.in +python-slugify==8.0.4 + # via code-annotations +pyyaml==6.0.1 + # via code-annotations +sqlparse==0.4.4 + # via + # -r requirements/base.txt + # django +stevedore==5.2.0 + # via code-annotations +text-unidecode==1.3 + # via python-slugify +tomli==2.0.1 + # via + # coverage + # pytest +typing-extensions==4.10.0 + # via + # -r requirements/base.txt + # asgiref