From 01199fc2212059cf540d73743645839f08269505 Mon Sep 17 00:00:00 2001
From: Aarif <MrAarif@outlook.com>
Date: Tue, 13 Apr 2021 22:57:48 +0500
Subject: [PATCH] refactor: removed importlib-metadata constraint (#27315)

---
 requirements/constraints.txt     |  3 +--
 requirements/edx/base.txt        |  8 ++++----
 requirements/edx/coverage.txt    |  2 +-
 requirements/edx/development.txt | 19 +++++++++----------
 requirements/edx/testing.txt     | 19 +++++++++----------
 5 files changed, 24 insertions(+), 27 deletions(-)

diff --git a/requirements/constraints.txt b/requirements/constraints.txt
index f6c3540cfb4..c966376c561 100644
--- a/requirements/constraints.txt
+++ b/requirements/constraints.txt
@@ -48,8 +48,6 @@ isort<5.0.0
 # 0.15.0 dropped support for Python 3.5
 joblib<0.15.0
 
-# Version 2.0.0 is giving incompatible versions errors on upgrade
-importlib-metadata==1.7.0
 
 # jsonfield2 3.1.0 drops support for python 3.5
 jsonfield2<3.1.0
@@ -115,3 +113,4 @@ httpretty<1.0
 
 # latest version of diff-cover conflicts with pygments version see https://github.com/Bachmann1234/diff_cover/commit/01f91760321cee1ad28cfa0d801c4acd8b9765a6
 diff-cover==4.0.0
+
diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt
index 6e4004d2565..7c1e23e0a71 100644
--- a/requirements/edx/base.txt
+++ b/requirements/edx/base.txt
@@ -68,7 +68,7 @@ django-mptt==0.12.0       # via -r requirements/edx/base.in, django-wiki
 django-multi-email-field==0.6.2  # via edx-enterprise
 django-mysql==3.11.1      # via -r requirements/edx/base.in
 django-oauth-toolkit==1.3.2  # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in
-django-object-actions==3.0.1  # via edx-enterprise
+django-object-actions==3.0.2  # via edx-enterprise
 django-pipeline==2.0.6    # via -r requirements/edx/base.in
 django-pyfs==3.0          # via -r requirements/edx/base.in
 git+https://github.com/edx/django-ratelimit-backend.git@v2.0.1a5#egg=django-ratelimit-backend==2.0.1a5  # via -r requirements/edx/github.in
@@ -93,7 +93,7 @@ drf-yasg==1.20.0          # via edx-api-doc-tools
 edx-ace==1.1.0            # via -r requirements/edx/base.in
 edx-analytics-data-api-client==0.17.0  # via -r requirements/edx/base.in
 edx-api-doc-tools==1.4.0  # via -r requirements/edx/base.in
-edx-bulk-grades==0.8.8    # via -r requirements/edx/base.in, staff-graded-xblock
+edx-bulk-grades==0.8.9    # via -r requirements/edx/base.in, staff-graded-xblock
 edx-ccx-keys==1.2.0       # via -r requirements/edx/base.in
 edx-celeryutils==1.0.0    # via -r requirements/edx/base.in, super-csv
 edx-completion==4.0.3     # via -r requirements/edx/base.in
@@ -147,7 +147,7 @@ laboratory==1.0.2         # via -r requirements/edx/base.in
 lazy==1.4                 # via -r requirements/edx/paver.txt, acid-xblock, lti-consumer-xblock, ora2
 libsass==0.10.0           # via -r requirements/edx/paver.txt, ora2
 loremipsum==1.0.5         # via ora2
-lti-consumer-xblock==2.7.1  # via -r requirements/edx/base.in
+lti-consumer-xblock==2.7.4  # via -r requirements/edx/base.in
 lxml==4.5.0               # via -c requirements/edx/../constraints.txt, -r requirements/edx/../edx-sandbox/shared.txt, capa, edxval, lti-consumer-xblock, olxcleaner, ora2, safe-lxml, xblock, xmlsec
 mailsnake==1.6.4          # via -r requirements/edx/base.in
 mako==1.1.4               # via -r requirements/edx/base.in, acid-xblock, lti-consumer-xblock, xblock-google-drive, xblock-utils
@@ -162,7 +162,7 @@ mpmath==1.2.1             # via sympy
 mysqlclient==2.0.3        # via -r requirements/edx/base.in
 newrelic==6.2.0.156       # via -r requirements/edx/base.in, edx-django-utils
 nltk==3.6.1               # via -r requirements/edx/../edx-sandbox/shared.txt, chem
-nodeenv==1.5.0            # via -r requirements/edx/base.in
+nodeenv==1.6.0            # via -r requirements/edx/base.in
 numpy==1.20.2             # via chem, openedx-calc, scipy
 oauthlib==3.0.1           # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.in, django-oauth-toolkit, lti-consumer-xblock, requests-oauthlib, social-auth-core
 openedx-calc==2.0.1       # via -r requirements/edx/base.in
diff --git a/requirements/edx/coverage.txt b/requirements/edx/coverage.txt
index f0bf66ee5c8..8512415feee 100644
--- a/requirements/edx/coverage.txt
+++ b/requirements/edx/coverage.txt
@@ -6,7 +6,7 @@
 #
 coverage==5.5             # via -r requirements/edx/coverage.in
 diff-cover==4.0.0         # via -c requirements/edx/../constraints.txt, -r requirements/edx/coverage.in
-importlib-metadata==1.7.0  # via -c requirements/edx/../constraints.txt, inflect
+importlib-metadata==3.10.1  # via inflect
 inflect==3.0.2            # via -c requirements/edx/../constraints.txt, jinja2-pluralize
 jinja2-pluralize==0.3.0   # via diff-cover
 jinja2==2.11.3            # via diff-cover, jinja2-pluralize
diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt
index 9ad2fceb3cc..0f4a381f7b5 100644
--- a/requirements/edx/development.txt
+++ b/requirements/edx/development.txt
@@ -26,10 +26,9 @@ analytics-python==1.2.9   # via -r requirements/edx/testing.txt
 aniso8601==9.0.1          # via -r requirements/edx/testing.txt, edx-tincan-py35, tincan
 apipkg==1.5               # via -r requirements/edx/testing.txt, execnet
 appdirs==1.4.4            # via -r requirements/edx/testing.txt, fs, virtualenv
-astroid==2.5.2            # via -r requirements/edx/testing.txt, pylint, pylint-celery
+astroid==2.5.3            # via -r requirements/edx/testing.txt, pylint, pylint-celery
 attrs==20.3.0             # via -r requirements/edx/testing.txt, edx-ace, jsonschema, pytest
 babel==2.9.0              # via -r requirements/edx/testing.txt, enmerkar, enmerkar-underscore, sphinx
-backports.entry-points-selectable==1.0.3  # via -r requirements/edx/testing.txt, pytest-randomly
 beautifulsoup4==4.9.3     # via -r requirements/edx/testing.txt, pynliner
 billiard==3.6.4.0         # via -r requirements/edx/testing.txt, celery
 bleach==3.3.0             # via -r requirements/edx/testing.txt, django-wiki, edx-enterprise, lti-consumer-xblock, ora2, xblock-drag-and-drop-v2, xblock-poll
@@ -80,7 +79,7 @@ django-mptt==0.12.0       # via -r requirements/edx/testing.txt, django-wiki
 django-multi-email-field==0.6.2  # via -r requirements/edx/testing.txt, edx-enterprise
 django-mysql==3.11.1      # via -r requirements/edx/testing.txt
 django-oauth-toolkit==1.3.2  # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt
-django-object-actions==3.0.1  # via -r requirements/edx/testing.txt, edx-enterprise
+django-object-actions==3.0.2  # via -r requirements/edx/testing.txt, edx-enterprise
 django-pipeline==2.0.6    # via -r requirements/edx/testing.txt
 django-pyfs==3.0          # via -r requirements/edx/testing.txt
 git+https://github.com/edx/django-ratelimit-backend.git@v2.0.1a5#egg=django-ratelimit-backend==2.0.1a5  # via -r requirements/edx/testing.txt
@@ -105,7 +104,7 @@ drf-yasg==1.20.0          # via -r requirements/edx/testing.txt, edx-api-doc-too
 edx-ace==1.1.0            # via -r requirements/edx/testing.txt
 edx-analytics-data-api-client==0.17.0  # via -r requirements/edx/testing.txt
 edx-api-doc-tools==1.4.0  # via -r requirements/edx/testing.txt
-edx-bulk-grades==0.8.8    # via -r requirements/edx/testing.txt, staff-graded-xblock
+edx-bulk-grades==0.8.9    # via -r requirements/edx/testing.txt, staff-graded-xblock
 edx-ccx-keys==1.2.0       # via -r requirements/edx/testing.txt
 edx-celeryutils==1.0.0    # via -r requirements/edx/testing.txt, super-csv
 edx-completion==4.0.3     # via -r requirements/edx/testing.txt
@@ -156,7 +155,7 @@ httpretty==0.9.7          # via -c requirements/edx/../constraints.txt, -r requi
 icalendar==4.0.7          # via -r requirements/edx/testing.txt
 idna==2.10                # via -r requirements/edx/testing.txt, requests
 imagesize==1.2.0          # via sphinx
-importlib-metadata==1.7.0  # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, inflect
+importlib-metadata==3.10.1  # via -r requirements/edx/testing.txt, inflect, pytest-randomly
 inflect==3.0.2            # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, jinja2-pluralize
 inflection==0.5.1         # via -r requirements/edx/testing.txt, drf-yasg
 iniconfig==1.1.1          # via -r requirements/edx/testing.txt, pytest
@@ -177,7 +176,7 @@ lazy-object-proxy==1.6.0  # via -r requirements/edx/testing.txt, astroid
 lazy==1.4                 # via -r requirements/edx/testing.txt, acid-xblock, bok-choy, lti-consumer-xblock, ora2
 libsass==0.10.0           # via -r requirements/edx/testing.txt, ora2
 loremipsum==1.0.5         # via -r requirements/edx/testing.txt, ora2
-lti-consumer-xblock==2.7.1  # via -r requirements/edx/testing.txt
+lti-consumer-xblock==2.7.4  # via -r requirements/edx/testing.txt
 lxml==4.5.0               # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, capa, edxval, lti-consumer-xblock, olxcleaner, ora2, pyquery, safe-lxml, xblock, xmlsec
 m2r==0.2.1                # via sphinxcontrib-openapi
 mailsnake==1.6.4          # via -r requirements/edx/testing.txt
@@ -196,7 +195,7 @@ mpmath==1.2.1             # via -r requirements/edx/testing.txt, sympy
 mysqlclient==2.0.3        # via -r requirements/edx/testing.txt
 newrelic==6.2.0.156       # via -r requirements/edx/testing.txt, edx-django-utils
 nltk==3.6.1               # via -r requirements/edx/testing.txt, chem
-nodeenv==1.5.0            # via -r requirements/edx/testing.txt
+nodeenv==1.6.0            # via -r requirements/edx/testing.txt
 numpy==1.20.2             # via -r requirements/edx/testing.txt, chem, openedx-calc, scipy
 oauthlib==3.0.1           # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, django-oauth-toolkit, lti-consumer-xblock, requests-oauthlib, social-auth-core
 openedx-calc==2.0.1       # via -r requirements/edx/testing.txt
@@ -223,7 +222,7 @@ pyjwkest==1.4.2           # via -r requirements/edx/testing.txt, edx-drf-extensi
 pyjwt[crypto]==1.7.1      # via -r requirements/edx/testing.txt, drf-jwt, edx-rest-api-client, social-auth-core
 pylatexenc==2.10          # via -r requirements/edx/testing.txt, olxcleaner
 pylint-celery==0.3        # via -r requirements/edx/testing.txt, edx-lint
-pylint-django==2.4.2      # via -r requirements/edx/testing.txt, edx-lint
+pylint-django==2.4.3      # via -r requirements/edx/testing.txt, edx-lint
 pylint-plugin-utils==0.6  # via -r requirements/edx/testing.txt, pylint-celery, pylint-django
 pylint==2.7.4             # via -r requirements/edx/testing.txt, edx-lint, pylint-celery, pylint-django, pylint-plugin-utils
 pymongo==3.10.1           # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, edx-opaque-keys, event-tracking, mongodbproxy, mongoengine
@@ -234,11 +233,11 @@ pyrsistent==0.17.3        # via jsonschema
 pysrt==1.1.2              # via -r requirements/edx/testing.txt, edxval
 pytest-attrib==0.1.3      # via -r requirements/edx/testing.txt
 pytest-cov==2.11.1        # via -r requirements/edx/testing.txt
-pytest-django==4.1.0      # via -r requirements/edx/testing.txt
+pytest-django==4.2.0      # via -r requirements/edx/testing.txt
 pytest-forked==1.3.0      # via -r requirements/edx/testing.txt, pytest-xdist
 pytest-json-report==1.2.4  # via -r requirements/edx/testing.txt
 pytest-metadata==1.8.0    # via -r requirements/edx/testing.txt, pytest-json-report
-pytest-randomly==3.6.0    # via -r requirements/edx/testing.txt
+pytest-randomly==3.7.0    # via -r requirements/edx/testing.txt
 pytest-xdist[psutil]==2.2.1  # via -r requirements/edx/testing.txt
 pytest==6.2.3             # via -r requirements/edx/testing.txt, pytest-attrib, pytest-cov, pytest-django, pytest-forked, pytest-json-report, pytest-metadata, pytest-randomly, pytest-xdist
 python-dateutil==2.4.0    # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.txt, analytics-python, botocore, edx-ace, edx-drf-extensions, edx-enterprise, edx-event-routing-backends, edx-proctoring, faker, freezegun, icalendar, olxcleaner, ora2, xblock
diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt
index 3cee8e0f100..053f7b7534f 100644
--- a/requirements/edx/testing.txt
+++ b/requirements/edx/testing.txt
@@ -25,10 +25,9 @@ analytics-python==1.2.9   # via -r requirements/edx/base.txt
 aniso8601==9.0.1          # via -r requirements/edx/base.txt, edx-tincan-py35, tincan
 apipkg==1.5               # via execnet
 appdirs==1.4.4            # via -r requirements/edx/base.txt, fs, virtualenv
-astroid==2.5.2            # via pylint, pylint-celery
+astroid==2.5.3            # via pylint, pylint-celery
 attrs==20.3.0             # via -r requirements/edx/base.txt, edx-ace, pytest
 babel==2.9.0              # via -r requirements/edx/base.txt, enmerkar, enmerkar-underscore
-backports.entry-points-selectable==1.0.3  # via pytest-randomly
 beautifulsoup4==4.9.3     # via -r requirements/edx/base.txt, -r requirements/edx/testing.in, pynliner
 billiard==3.6.4.0         # via -r requirements/edx/base.txt, celery
 bleach==3.3.0             # via -r requirements/edx/base.txt, django-wiki, edx-enterprise, lti-consumer-xblock, ora2, xblock-drag-and-drop-v2, xblock-poll
@@ -78,7 +77,7 @@ django-mptt==0.12.0       # via -r requirements/edx/base.txt, django-wiki
 django-multi-email-field==0.6.2  # via -r requirements/edx/base.txt, edx-enterprise
 django-mysql==3.11.1      # via -r requirements/edx/base.txt
 django-oauth-toolkit==1.3.2  # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt
-django-object-actions==3.0.1  # via -r requirements/edx/base.txt, edx-enterprise
+django-object-actions==3.0.2  # via -r requirements/edx/base.txt, edx-enterprise
 django-pipeline==2.0.6    # via -r requirements/edx/base.txt
 django-pyfs==3.0          # via -r requirements/edx/base.txt
 git+https://github.com/edx/django-ratelimit-backend.git@v2.0.1a5#egg=django-ratelimit-backend==2.0.1a5  # via -r requirements/edx/base.txt
@@ -102,7 +101,7 @@ drf-yasg==1.20.0          # via -r requirements/edx/base.txt, edx-api-doc-tools
 edx-ace==1.1.0            # via -r requirements/edx/base.txt
 edx-analytics-data-api-client==0.17.0  # via -r requirements/edx/base.txt
 edx-api-doc-tools==1.4.0  # via -r requirements/edx/base.txt
-edx-bulk-grades==0.8.8    # via -r requirements/edx/base.txt, staff-graded-xblock
+edx-bulk-grades==0.8.9    # via -r requirements/edx/base.txt, staff-graded-xblock
 edx-ccx-keys==1.2.0       # via -r requirements/edx/base.txt
 edx-celeryutils==1.0.0    # via -r requirements/edx/base.txt, super-csv
 edx-completion==4.0.3     # via -r requirements/edx/base.txt
@@ -151,7 +150,7 @@ html5lib==1.1             # via -r requirements/edx/base.txt, ora2
 httpretty==0.9.7          # via -c requirements/edx/../constraints.txt, -r requirements/edx/testing.in
 icalendar==4.0.7          # via -r requirements/edx/base.txt
 idna==2.10                # via -r requirements/edx/base.txt, requests
-importlib-metadata==1.7.0  # via -c requirements/edx/../constraints.txt, -r requirements/edx/coverage.txt, inflect
+importlib-metadata==3.10.1  # via -r requirements/edx/coverage.txt, inflect, pytest-randomly
 inflect==3.0.2            # via -c requirements/edx/../constraints.txt, -r requirements/edx/coverage.txt, jinja2-pluralize
 inflection==0.5.1         # via -r requirements/edx/base.txt, drf-yasg
 iniconfig==1.1.1          # via pytest
@@ -171,7 +170,7 @@ lazy-object-proxy==1.6.0  # via astroid
 lazy==1.4                 # via -r requirements/edx/base.txt, acid-xblock, bok-choy, lti-consumer-xblock, ora2
 libsass==0.10.0           # via -r requirements/edx/base.txt, ora2
 loremipsum==1.0.5         # via -r requirements/edx/base.txt, ora2
-lti-consumer-xblock==2.7.1  # via -r requirements/edx/base.txt
+lti-consumer-xblock==2.7.4  # via -r requirements/edx/base.txt
 lxml==4.5.0               # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, capa, edxval, lti-consumer-xblock, olxcleaner, ora2, pyquery, safe-lxml, xblock, xmlsec
 mailsnake==1.6.4          # via -r requirements/edx/base.txt
 mako==1.1.4               # via -r requirements/edx/base.txt, acid-xblock, lti-consumer-xblock, xblock-google-drive, xblock-utils
@@ -188,7 +187,7 @@ mpmath==1.2.1             # via -r requirements/edx/base.txt, sympy
 mysqlclient==2.0.3        # via -r requirements/edx/base.txt
 newrelic==6.2.0.156       # via -r requirements/edx/base.txt, edx-django-utils
 nltk==3.6.1               # via -r requirements/edx/base.txt, chem
-nodeenv==1.5.0            # via -r requirements/edx/base.txt
+nodeenv==1.6.0            # via -r requirements/edx/base.txt
 numpy==1.20.2             # via -r requirements/edx/base.txt, chem, openedx-calc, scipy
 oauthlib==3.0.1           # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, django-oauth-toolkit, lti-consumer-xblock, requests-oauthlib, social-auth-core
 openedx-calc==2.0.1       # via -r requirements/edx/base.txt
@@ -214,7 +213,7 @@ pyjwkest==1.4.2           # via -r requirements/edx/base.txt, edx-drf-extensions
 pyjwt[crypto]==1.7.1      # via -r requirements/edx/base.txt, drf-jwt, edx-rest-api-client, social-auth-core
 pylatexenc==2.10          # via -r requirements/edx/base.txt, olxcleaner
 pylint-celery==0.3        # via edx-lint
-pylint-django==2.4.2      # via edx-lint
+pylint-django==2.4.3      # via edx-lint
 pylint-plugin-utils==0.6  # via pylint-celery, pylint-django
 pylint==2.7.4             # via edx-lint, pylint-celery, pylint-django, pylint-plugin-utils
 pymongo==3.10.1           # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, edx-opaque-keys, event-tracking, mongodbproxy, mongoengine
@@ -224,11 +223,11 @@ pyquery==1.4.3            # via -r requirements/edx/testing.in
 pysrt==1.1.2              # via -r requirements/edx/base.txt, edxval
 pytest-attrib==0.1.3      # via -r requirements/edx/testing.in
 pytest-cov==2.11.1        # via -r requirements/edx/testing.in
-pytest-django==4.1.0      # via -r requirements/edx/testing.in
+pytest-django==4.2.0      # via -r requirements/edx/testing.in
 pytest-forked==1.3.0      # via pytest-xdist
 pytest-json-report==1.2.4  # via -r requirements/edx/testing.in
 pytest-metadata==1.8.0    # via -r requirements/edx/testing.in, pytest-json-report
-pytest-randomly==3.6.0    # via -r requirements/edx/testing.in
+pytest-randomly==3.7.0    # via -r requirements/edx/testing.in
 pytest-xdist[psutil]==2.2.1  # via -r requirements/edx/testing.in
 pytest==6.2.3             # via -r requirements/edx/testing.in, pytest-attrib, pytest-cov, pytest-django, pytest-forked, pytest-json-report, pytest-metadata, pytest-randomly, pytest-xdist
 python-dateutil==2.4.0    # via -c requirements/edx/../constraints.txt, -r requirements/edx/base.txt, analytics-python, botocore, edx-ace, edx-drf-extensions, edx-enterprise, edx-event-routing-backends, edx-proctoring, faker, freezegun, icalendar, olxcleaner, ora2, xblock
-- 
GitLab