From ad5af907cba9ae9ab7594c6ba0e08abc956d1522 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Tue, 11 Jun 2024 11:25:51 -0400 Subject: [PATCH] chore: Upgrade Python requirements --- requirements/base.txt | 18 +++++++++--------- requirements/ci.txt | 4 ++-- requirements/dev.txt | 32 ++++++++++++++++---------------- requirements/doc.txt | 32 ++++++++++++++++---------------- requirements/pip-tools.txt | 4 ++-- requirements/production.txt | 18 +++++++++--------- requirements/quality.txt | 32 ++++++++++++++++---------------- requirements/test.txt | 26 +++++++++++++------------- requirements/validation.txt | 32 ++++++++++++++++---------------- 9 files changed, 99 insertions(+), 99 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 28de6d11..39213175 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -23,9 +23,9 @@ backports-zoneinfo==0.2.1 # djangorestframework bleach==6.1.0 # via lti-consumer-xblock -boto3==1.34.118 +boto3==1.34.123 # via fs-s3fs -botocore==1.34.118 +botocore==1.34.123 # via # boto3 # s3transfer @@ -49,7 +49,7 @@ coreapi==2.3.3 # openapi-codec coreschema==0.0.4 # via coreapi -cryptography==42.0.7 +cryptography==42.0.8 # via # pyjwt # social-auth-core @@ -158,7 +158,7 @@ edx-event-bus-kafka==5.7.0 # via -r requirements/base.in edx-event-bus-redis==0.5.0 # via -r requirements/base.in -edx-opaque-keys[django]==2.9.0 +edx-opaque-keys[django]==2.10.0 # via # -r requirements/base.in # edx-ccx-keys @@ -202,7 +202,7 @@ jsonfield==3.1.0 # via lti-consumer-xblock lazy==1.6 # via lti-consumer-xblock -lti-consumer-xblock==9.11.2 +lti-consumer-xblock==9.11.3 # via -r requirements/base.in lxml==5.2.2 # via @@ -237,7 +237,7 @@ openedx-events==9.10.0 # edx-event-bus-redis openedx-filters==1.8.1 # via lti-consumer-xblock -packaging==24.0 +packaging==24.1 # via drf-yasg pbr==6.0.0 # via stevedore @@ -262,7 +262,7 @@ pyjwt[crypto]==2.8.0 # social-auth-core pymemcache==4.0.0 # via -r requirements/base.in -pymongo==4.4.0 +pymongo==4.7.3 # via edx-opaque-keys pynacl==1.5.0 # via edx-django-utils @@ -285,7 +285,7 @@ pyyaml==6.0.1 # drf-yasg # edx-django-release-util # xblock -redis==5.0.4 +redis==5.0.5 # via walrus requests==2.31.0 # via @@ -333,7 +333,7 @@ stevedore==5.2.0 # edx-opaque-keys text-unidecode==1.3 # via python-slugify -typing-extensions==4.12.1 +typing-extensions==4.12.2 # via # asgiref # edx-opaque-keys diff --git a/requirements/ci.txt b/requirements/ci.txt index 3779c1e6..802e3c06 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -18,7 +18,7 @@ filelock==3.14.0 # via # tox # virtualenv -packaging==24.0 +packaging==24.1 # via # pyproject-api # tox @@ -34,7 +34,7 @@ tomli==2.0.1 # via # pyproject-api # tox -tox==4.15.0 +tox==4.15.1 # via -r requirements/ci.in virtualenv==20.26.2 # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index 9a69b408..b8dcf448 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -40,11 +40,11 @@ bleach==6.1.0 # via # -r requirements/validation.txt # lti-consumer-xblock -boto3==1.34.118 +boto3==1.34.123 # via # -r requirements/validation.txt # fs-s3fs -botocore==1.34.118 +botocore==1.34.123 # via # -r requirements/validation.txt # boto3 @@ -110,7 +110,7 @@ coverage[toml]==7.5.3 # via # -r requirements/validation.txt # pytest-cov -cryptography==42.0.7 +cryptography==42.0.8 # via # -r requirements/validation.txt # pyjwt @@ -263,7 +263,7 @@ edx-i18n-tools==1.6.0 # via -r requirements/dev.in edx-lint==5.3.6 # via -r requirements/validation.txt -edx-opaque-keys[django]==2.9.0 +edx-opaque-keys[django]==2.10.0 # via # -r requirements/validation.txt # edx-ccx-keys @@ -285,7 +285,7 @@ exceptiongroup==1.2.1 # pytest factory-boy==3.3.0 # via -r requirements/validation.txt -faker==25.4.0 +faker==25.8.0 # via # -r requirements/validation.txt # factory-boy @@ -385,7 +385,7 @@ lazy==1.6 # via # -r requirements/validation.txt # lti-consumer-xblock -lti-consumer-xblock==9.11.2 +lti-consumer-xblock==9.11.3 # via -r requirements/validation.txt lxml[html-clean]==5.2.2 # via @@ -421,7 +421,7 @@ mdurl==0.1.2 # markdown-it-py mock==5.1.0 # via -r requirements/validation.txt -more-itertools==10.2.0 +more-itertools==10.3.0 # via # -r requirements/validation.txt # jaraco-classes @@ -459,7 +459,7 @@ openedx-filters==1.8.1 # via # -r requirements/validation.txt # lti-consumer-xblock -packaging==24.0 +packaging==24.1 # via # -r requirements/pip-tools.txt # -r requirements/validation.txt @@ -476,7 +476,7 @@ pbr==6.0.0 # stevedore pip-tools==7.4.1 # via -r requirements/pip-tools.txt -pkginfo==1.11.0 +pkginfo==1.11.1 # via # -r requirements/validation.txt # twine @@ -530,7 +530,7 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-rest-api-client # social-auth-core -pylint==3.2.2 +pylint==3.2.3 # via # -r requirements/validation.txt # edx-lint @@ -552,7 +552,7 @@ pylint-plugin-utils==0.8.2 # pylint-django pymemcache==4.0.0 # via -r requirements/validation.txt -pymongo==4.4.0 +pymongo==4.7.3 # via # -r requirements/validation.txt # edx-opaque-keys @@ -611,7 +611,7 @@ readme-renderer==43.0 # via # -r requirements/validation.txt # twine -redis==5.0.4 +redis==5.0.5 # via # -r requirements/validation.txt # walrus @@ -636,7 +636,7 @@ requests-toolbelt==1.0.0 # via # -r requirements/validation.txt # twine -responses==0.25.0 +responses==0.25.2 # via -r requirements/validation.txt rfc3986==2.0.0 # via @@ -722,11 +722,11 @@ tomlkit==0.12.5 # via # -r requirements/validation.txt # pylint -tox==4.15.0 +tox==4.15.1 # via -r requirements/validation.txt twine==5.1.0 # via -r requirements/validation.txt -typing-extensions==4.12.1 +typing-extensions==4.12.2 # via # -r requirements/validation.txt # asgiref @@ -774,7 +774,7 @@ xblock==4.0.1 # via # -r requirements/validation.txt # lti-consumer-xblock -zipp==3.19.1 +zipp==3.19.2 # via # -r requirements/pip-tools.txt # -r requirements/validation.txt diff --git a/requirements/doc.txt b/requirements/doc.txt index 9585bf20..9b1f7db4 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -42,11 +42,11 @@ bleach==6.1.0 # via # -r requirements/test.txt # lti-consumer-xblock -boto3==1.34.118 +boto3==1.34.123 # via # -r requirements/test.txt # fs-s3fs -botocore==1.34.118 +botocore==1.34.123 # via # -r requirements/test.txt # boto3 @@ -107,7 +107,7 @@ coverage[toml]==7.5.3 # via # -r requirements/test.txt # pytest-cov -cryptography==42.0.7 +cryptography==42.0.8 # via # -r requirements/test.txt # pyjwt @@ -257,7 +257,7 @@ edx-event-bus-redis==0.5.0 # via -r requirements/test.txt edx-lint==5.3.6 # via -r requirements/test.txt -edx-opaque-keys[django]==2.9.0 +edx-opaque-keys[django]==2.10.0 # via # -r requirements/test.txt # edx-ccx-keys @@ -281,7 +281,7 @@ exceptiongroup==1.2.1 # pytest factory-boy==3.3.0 # via -r requirements/test.txt -faker==25.4.0 +faker==25.8.0 # via # -r requirements/test.txt # factory-boy @@ -372,7 +372,7 @@ lazy==1.6 # via # -r requirements/test.txt # lti-consumer-xblock -lti-consumer-xblock==9.11.2 +lti-consumer-xblock==9.11.3 # via -r requirements/test.txt lxml==5.2.2 # via @@ -400,7 +400,7 @@ mdurl==0.1.2 # via markdown-it-py mock==5.1.0 # via -r requirements/test.txt -more-itertools==10.2.0 +more-itertools==10.3.0 # via # jaraco-classes # jaraco-functools @@ -435,7 +435,7 @@ openedx-filters==1.8.1 # via # -r requirements/test.txt # lti-consumer-xblock -packaging==24.0 +packaging==24.1 # via # -r requirements/test.txt # build @@ -448,7 +448,7 @@ pbr==6.0.0 # via # -r requirements/test.txt # stevedore -pkginfo==1.11.0 +pkginfo==1.11.1 # via twine platformdirs==4.2.2 # via @@ -493,7 +493,7 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-rest-api-client # social-auth-core -pylint==3.2.2 +pylint==3.2.3 # via # -r requirements/test.txt # edx-lint @@ -515,7 +515,7 @@ pylint-plugin-utils==0.8.2 # pylint-django pymemcache==4.0.0 # via -r requirements/test.txt -pymongo==4.4.0 +pymongo==4.7.3 # via # -r requirements/test.txt # edx-opaque-keys @@ -569,7 +569,7 @@ pyyaml==6.0.1 # xblock readme-renderer==43.0 # via twine -redis==5.0.4 +redis==5.0.5 # via # -r requirements/test.txt # walrus @@ -593,7 +593,7 @@ requests-oauthlib==2.0.0 # social-auth-core requests-toolbelt==1.0.0 # via twine -responses==0.25.0 +responses==0.25.2 # via -r requirements/test.txt restructuredtext-lint==1.4.0 # via doc8 @@ -689,11 +689,11 @@ tomlkit==0.12.5 # via # -r requirements/test.txt # pylint -tox==4.15.0 +tox==4.15.1 # via -r requirements/test.txt twine==5.1.0 # via -r requirements/doc.in -typing-extensions==4.12.1 +typing-extensions==4.12.2 # via # -r requirements/test.txt # asgiref @@ -737,7 +737,7 @@ xblock==4.0.1 # via # -r requirements/test.txt # lti-consumer-xblock -zipp==3.19.1 +zipp==3.19.2 # via # importlib-metadata # importlib-resources diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 15148a3d..f577da4d 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -12,7 +12,7 @@ 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 @@ -26,7 +26,7 @@ tomli==2.0.1 # pip-tools wheel==0.43.0 # via pip-tools -zipp==3.19.1 +zipp==3.19.2 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/production.txt b/requirements/production.txt index d23f522f..5af38e6e 100644 --- a/requirements/production.txt +++ b/requirements/production.txt @@ -31,12 +31,12 @@ bleach==6.1.0 # via # -r requirements/base.txt # lti-consumer-xblock -boto3==1.34.118 +boto3==1.34.123 # via # -r requirements/base.txt # django-ses # fs-s3fs -botocore==1.34.118 +botocore==1.34.123 # via # -r requirements/base.txt # boto3 @@ -72,7 +72,7 @@ coreschema==0.0.4 # via # -r requirements/base.txt # coreapi -cryptography==42.0.7 +cryptography==42.0.8 # via # -r requirements/base.txt # pyjwt @@ -201,7 +201,7 @@ edx-event-bus-kafka==5.7.0 # via -r requirements/base.txt edx-event-bus-redis==0.5.0 # via -r requirements/base.txt -edx-opaque-keys[django]==2.9.0 +edx-opaque-keys[django]==2.10.0 # via # -r requirements/base.txt # edx-ccx-keys @@ -271,7 +271,7 @@ lazy==1.6 # via # -r requirements/base.txt # lti-consumer-xblock -lti-consumer-xblock==9.11.2 +lti-consumer-xblock==9.11.3 # via -r requirements/base.txt lxml==5.2.2 # via @@ -320,7 +320,7 @@ openedx-filters==1.8.1 # via # -r requirements/base.txt # lti-consumer-xblock -packaging==24.0 +packaging==24.1 # via # -r requirements/base.txt # drf-yasg @@ -357,7 +357,7 @@ pyjwt[crypto]==2.8.0 # social-auth-core pymemcache==4.0.0 # via -r requirements/base.txt -pymongo==4.4.0 +pymongo==4.7.3 # via # -r requirements/base.txt # edx-opaque-keys @@ -394,7 +394,7 @@ pyyaml==6.0.1 # drf-yasg # edx-django-release-util # xblock -redis==5.0.4 +redis==5.0.5 # via # -r requirements/base.txt # walrus @@ -463,7 +463,7 @@ text-unidecode==1.3 # via # -r requirements/base.txt # python-slugify -typing-extensions==4.12.1 +typing-extensions==4.12.2 # via # -r requirements/base.txt # asgiref diff --git a/requirements/quality.txt b/requirements/quality.txt index 6a888bf8..b3db1020 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -38,11 +38,11 @@ bleach==6.1.0 # via # -r requirements/test.txt # lti-consumer-xblock -boto3==1.34.118 +boto3==1.34.123 # via # -r requirements/test.txt # fs-s3fs -botocore==1.34.118 +botocore==1.34.123 # via # -r requirements/test.txt # boto3 @@ -101,7 +101,7 @@ coverage[toml]==7.5.3 # via # -r requirements/test.txt # pytest-cov -cryptography==42.0.7 +cryptography==42.0.8 # via # -r requirements/test.txt # pyjwt @@ -247,7 +247,7 @@ edx-lint==5.3.6 # via # -r requirements/quality.in # -r requirements/test.txt -edx-opaque-keys[django]==2.9.0 +edx-opaque-keys[django]==2.10.0 # via # -r requirements/test.txt # edx-ccx-keys @@ -269,7 +269,7 @@ exceptiongroup==1.2.1 # pytest factory-boy==3.3.0 # via -r requirements/test.txt -faker==25.4.0 +faker==25.8.0 # via # -r requirements/test.txt # factory-boy @@ -356,7 +356,7 @@ lazy==1.6 # via # -r requirements/test.txt # lti-consumer-xblock -lti-consumer-xblock==9.11.2 +lti-consumer-xblock==9.11.3 # via -r requirements/test.txt lxml==5.2.2 # via @@ -384,7 +384,7 @@ mdurl==0.1.2 # via markdown-it-py mock==5.1.0 # via -r requirements/test.txt -more-itertools==10.2.0 +more-itertools==10.3.0 # via # jaraco-classes # jaraco-functools @@ -419,7 +419,7 @@ openedx-filters==1.8.1 # via # -r requirements/test.txt # lti-consumer-xblock -packaging==24.0 +packaging==24.1 # via # -r requirements/test.txt # drf-yasg @@ -430,7 +430,7 @@ pbr==6.0.0 # via # -r requirements/test.txt # stevedore -pkginfo==1.11.0 +pkginfo==1.11.1 # via twine platformdirs==4.2.2 # via @@ -477,7 +477,7 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-rest-api-client # social-auth-core -pylint==3.2.2 +pylint==3.2.3 # via # -r requirements/test.txt # edx-lint @@ -499,7 +499,7 @@ pylint-plugin-utils==0.8.2 # pylint-django pymemcache==4.0.0 # via -r requirements/test.txt -pymongo==4.4.0 +pymongo==4.7.3 # via # -r requirements/test.txt # edx-opaque-keys @@ -550,7 +550,7 @@ pyyaml==6.0.1 # xblock readme-renderer==43.0 # via twine -redis==5.0.4 +redis==5.0.5 # via # -r requirements/test.txt # walrus @@ -573,7 +573,7 @@ requests-oauthlib==2.0.0 # social-auth-core requests-toolbelt==1.0.0 # via twine -responses==0.25.0 +responses==0.25.2 # via -r requirements/test.txt rfc3986==2.0.0 # via twine @@ -647,11 +647,11 @@ tomlkit==0.12.5 # via # -r requirements/test.txt # pylint -tox==4.15.0 +tox==4.15.1 # via -r requirements/test.txt twine==5.1.0 # via -r requirements/quality.in -typing-extensions==4.12.1 +typing-extensions==4.12.2 # via # -r requirements/test.txt # asgiref @@ -695,7 +695,7 @@ xblock==4.0.1 # via # -r requirements/test.txt # lti-consumer-xblock -zipp==3.19.1 +zipp==3.19.2 # via # importlib-metadata # importlib-resources diff --git a/requirements/test.txt b/requirements/test.txt index c36be3e5..8418ec6e 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -35,11 +35,11 @@ bleach==6.1.0 # via # -r requirements/base.txt # lti-consumer-xblock -boto3==1.34.118 +boto3==1.34.123 # via # -r requirements/base.txt # fs-s3fs -botocore==1.34.118 +botocore==1.34.123 # via # -r requirements/base.txt # boto3 @@ -91,7 +91,7 @@ coverage[toml]==7.5.3 # via # -r requirements/test.in # pytest-cov -cryptography==42.0.7 +cryptography==42.0.8 # via # -r requirements/base.txt # pyjwt @@ -227,7 +227,7 @@ edx-event-bus-redis==0.5.0 # via -r requirements/base.txt edx-lint==5.3.6 # via -r requirements/test.in -edx-opaque-keys[django]==2.9.0 +edx-opaque-keys[django]==2.10.0 # via # -r requirements/base.txt # edx-ccx-keys @@ -247,7 +247,7 @@ exceptiongroup==1.2.1 # via pytest factory-boy==3.3.0 # via -r requirements/test.in -faker==25.4.0 +faker==25.8.0 # via factory-boy fastavro==1.9.4 # via @@ -307,7 +307,7 @@ lazy==1.6 # via # -r requirements/base.txt # lti-consumer-xblock -lti-consumer-xblock==9.11.2 +lti-consumer-xblock==9.11.3 # via -r requirements/base.txt lxml==5.2.2 # via @@ -358,7 +358,7 @@ openedx-filters==1.8.1 # via # -r requirements/base.txt # lti-consumer-xblock -packaging==24.0 +packaging==24.1 # via # -r requirements/base.txt # drf-yasg @@ -404,7 +404,7 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-rest-api-client # social-auth-core -pylint==3.2.2 +pylint==3.2.3 # via # edx-lint # pylint-celery @@ -420,7 +420,7 @@ pylint-plugin-utils==0.8.2 # pylint-django pymemcache==4.0.0 # via -r requirements/base.txt -pymongo==4.4.0 +pymongo==4.7.3 # via # -r requirements/base.txt # edx-opaque-keys @@ -466,7 +466,7 @@ pyyaml==6.0.1 # edx-django-release-util # responses # xblock -redis==5.0.4 +redis==5.0.5 # via # -r requirements/base.txt # walrus @@ -485,7 +485,7 @@ requests-oauthlib==2.0.0 # via # -r requirements/base.txt # social-auth-core -responses==0.25.0 +responses==0.25.2 # via -r requirements/test.in s3transfer==0.10.1 # via @@ -548,9 +548,9 @@ tomli==2.0.1 # tox tomlkit==0.12.5 # via pylint -tox==4.15.0 +tox==4.15.1 # via -r requirements/test.in -typing-extensions==4.12.1 +typing-extensions==4.12.2 # via # -r requirements/base.txt # asgiref diff --git a/requirements/validation.txt b/requirements/validation.txt index d520dad0..a9fc2164 100644 --- a/requirements/validation.txt +++ b/requirements/validation.txt @@ -47,12 +47,12 @@ bleach==6.1.0 # -r requirements/quality.txt # -r requirements/test.txt # lti-consumer-xblock -boto3==1.34.118 +boto3==1.34.123 # via # -r requirements/quality.txt # -r requirements/test.txt # fs-s3fs -botocore==1.34.118 +botocore==1.34.123 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -124,7 +124,7 @@ coverage[toml]==7.5.3 # -r requirements/quality.txt # -r requirements/test.txt # pytest-cov -cryptography==42.0.7 +cryptography==42.0.8 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -314,7 +314,7 @@ edx-lint==5.3.6 # via # -r requirements/quality.txt # -r requirements/test.txt -edx-opaque-keys[django]==2.9.0 +edx-opaque-keys[django]==2.10.0 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -345,7 +345,7 @@ factory-boy==3.3.0 # via # -r requirements/quality.txt # -r requirements/test.txt -faker==25.4.0 +faker==25.8.0 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -459,7 +459,7 @@ lazy==1.6 # -r requirements/quality.txt # -r requirements/test.txt # lti-consumer-xblock -lti-consumer-xblock==9.11.2 +lti-consumer-xblock==9.11.3 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -499,7 +499,7 @@ mock==5.1.0 # via # -r requirements/quality.txt # -r requirements/test.txt -more-itertools==10.2.0 +more-itertools==10.3.0 # via # -r requirements/quality.txt # jaraco-classes @@ -545,7 +545,7 @@ openedx-filters==1.8.1 # -r requirements/quality.txt # -r requirements/test.txt # lti-consumer-xblock -packaging==24.0 +packaging==24.1 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -558,7 +558,7 @@ pbr==6.0.0 # -r requirements/quality.txt # -r requirements/test.txt # stevedore -pkginfo==1.11.0 +pkginfo==1.11.1 # via # -r requirements/quality.txt # twine @@ -615,7 +615,7 @@ pyjwt[crypto]==2.8.0 # edx-drf-extensions # edx-rest-api-client # social-auth-core -pylint==3.2.2 +pylint==3.2.3 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -643,7 +643,7 @@ pymemcache==4.0.0 # via # -r requirements/quality.txt # -r requirements/test.txt -pymongo==4.4.0 +pymongo==4.7.3 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -709,7 +709,7 @@ readme-renderer==43.0 # via # -r requirements/quality.txt # twine -redis==5.0.4 +redis==5.0.5 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -737,7 +737,7 @@ requests-toolbelt==1.0.0 # via # -r requirements/quality.txt # twine -responses==0.25.0 +responses==0.25.2 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -833,13 +833,13 @@ tomlkit==0.12.5 # -r requirements/quality.txt # -r requirements/test.txt # pylint -tox==4.15.0 +tox==4.15.1 # via # -r requirements/quality.txt # -r requirements/test.txt twine==5.1.0 # via -r requirements/quality.txt -typing-extensions==4.12.1 +typing-extensions==4.12.2 # via # -r requirements/quality.txt # -r requirements/test.txt @@ -892,7 +892,7 @@ xblock==4.0.1 # -r requirements/quality.txt # -r requirements/test.txt # lti-consumer-xblock -zipp==3.19.1 +zipp==3.19.2 # via # -r requirements/quality.txt # importlib-metadata