From 019b8f631396d3f0099670370de2881f5c1862d5 Mon Sep 17 00:00:00 2001 From: Danyal-Faheem Date: Mon, 15 Jan 2024 10:47:28 +0500 Subject: [PATCH] fix: make requested changes --- requirements/base.txt | 10 +++-- requirements/dev.txt | 43 +++++-------------- requirements/docs.txt | 21 ++++----- tutor/env.py | 6 +-- tutor/plugins/v0.py | 8 ++-- tutor/plugins/v1.py | 6 +-- .../openedx/settings/partials/common_all.py | 1 + 7 files changed, 38 insertions(+), 57 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 53ea28465e..3c3b1137eb 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # pip-compile requirements/base.in @@ -20,6 +20,10 @@ google-auth==2.23.3 # via kubernetes idna==3.4 # via requests +importlib-metadata==7.0.1 + # via -r requirements/base.in +importlib-resources==6.1.1 + # via -r requirements/base.in jinja2==3.1.2 # via -r requirements/base.in kubernetes==28.1.0 @@ -60,8 +64,6 @@ six==1.16.0 # via # kubernetes # python-dateutil -tomli==2.0.1 - # via mypy typing-extensions==4.8.0 # via # -r requirements/base.in @@ -72,3 +74,5 @@ urllib3==1.26.18 # requests websocket-client==1.6.4 # via kubernetes +zipp==3.17.0 + # via importlib-metadata diff --git a/requirements/dev.txt b/requirements/dev.txt index fd7ba3e747..c2bf11ef21 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,11 +1,13 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # pip-compile requirements/dev.in # altgraph==0.17.4 - # via pyinstaller + # via + # macholib + # pyinstaller appdirs==1.4.4 # via -r requirements/base.txt astroid==3.0.1 @@ -25,8 +27,6 @@ certifi==2023.7.22 # -r requirements/base.txt # kubernetes # requests -cffi==1.16.0 - # via cryptography charset-normalizer==3.3.1 # via # -r requirements/base.txt @@ -42,8 +42,6 @@ click-log==0.4.0 # via scriv coverage==7.3.2 # via -r requirements/dev.in -cryptography==41.0.7 - # via secretstorage dill==0.3.7 # via pylint docutils==0.18.1 @@ -58,22 +56,16 @@ idna==3.4 # via # -r requirements/base.txt # requests -importlib-metadata==6.8.0 +importlib-metadata==7.0.1 # via - # build - # keyring - # pyinstaller + # -r requirements/base.txt # twine importlib-resources==6.1.1 - # via keyring + # via -r requirements/base.txt isort==5.12.0 # via pylint jaraco-classes==3.3.0 # via keyring -jeepney==0.8.0 - # via - # keyring - # secretstorage jinja2==3.1.2 # via # -r requirements/base.txt @@ -82,6 +74,8 @@ keyring==24.2.0 # via twine kubernetes==28.1.0 # via -r requirements/base.txt +macholib==1.16.3 + # via pyinstaller markdown-it-py==3.0.0 # via # rich @@ -134,8 +128,6 @@ pyasn1-modules==0.3.0 # via # -r requirements/base.txt # google-auth -pycparser==2.21 - # via cffi pycryptodome==3.19.0 # via -r requirements/base.txt pygments==2.16.1 @@ -184,22 +176,11 @@ rsa==4.9 # google-auth scriv==1.5.0 # via -r requirements/dev.in -secretstorage==3.3.3 - # via keyring six==1.16.0 # via # -r requirements/base.txt # kubernetes # python-dateutil -tomli==2.0.1 - # via - # -r requirements/base.txt - # black - # build - # mypy - # pip-tools - # pylint - # pyproject-hooks tomlkit==0.12.1 # via pylint twine==4.0.2 @@ -213,11 +194,7 @@ types-setuptools==68.2.0.0 typing-extensions==4.8.0 # via # -r requirements/base.txt - # astroid - # black # mypy - # pylint - # rich urllib3==1.26.18 # via # -r requirements/base.txt @@ -232,8 +209,8 @@ wheel==0.41.2 # via pip-tools zipp==3.17.0 # via + # -r requirements/base.txt # importlib-metadata - # importlib-resources # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/docs.txt b/requirements/docs.txt index c4f5c6e9c2..9083b8f5e6 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # pip-compile requirements/docs.in @@ -42,8 +42,10 @@ idna==3.4 # requests imagesize==1.4.1 # via sphinx -importlib-metadata==6.8.0 - # via sphinx +importlib-metadata==7.0.1 + # via -r requirements/base.txt +importlib-resources==6.1.1 + # via -r requirements/base.txt jinja2==3.1.2 # via # -r requirements/base.txt @@ -84,8 +86,6 @@ python-dateutil==2.8.2 # via # -r requirements/base.txt # kubernetes -pytz==2023.3.post1 - # via babel pyyaml==6.0.1 # via # -r requirements/base.txt @@ -135,10 +135,6 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -tomli==2.0.1 - # via - # -r requirements/base.txt - # mypy typing-extensions==4.8.0 # via # -r requirements/base.txt @@ -153,4 +149,9 @@ websocket-client==1.6.4 # -r requirements/base.txt # kubernetes zipp==3.17.0 - # via importlib-metadata + # via + # -r requirements/base.txt + # importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/tutor/env.py b/tutor/env.py index a439bc5ef0..ef2590d6ce 100644 --- a/tutor/env.py +++ b/tutor/env.py @@ -7,15 +7,13 @@ from copy import deepcopy import jinja2 -from importlib_resources import files, as_file +import importlib_resources from tutor import exceptions, fmt, hooks, plugins, utils from tutor.__about__ import __app__, __version__ from tutor.types import Config, ConfigValue -ref = files("tutor") / "templates" -with as_file(ref) as path: - TEMPLATES_ROOT = str(path) +TEMPLATES_ROOT = str(importlib_resources.files("tutor") / "templates") VERSION_FILENAME = "version" BIN_FILE_EXTENSIONS = [".ico", ".jpg", ".patch", ".png", ".ttf", ".woff", ".woff2"] JinjaFilter = t.Callable[..., t.Any] diff --git a/tutor/plugins/v0.py b/tutor/plugins/v0.py index 1ae9250c8f..3bd156c0e5 100644 --- a/tutor/plugins/v0.py +++ b/tutor/plugins/v0.py @@ -5,7 +5,7 @@ from glob import glob import click -from importlib_metadata import EntryPoint, entry_points, Distribution +import importlib_metadata from tutor import env, exceptions, fmt, hooks, serialize from tutor.__about__ import __app__ @@ -246,8 +246,8 @@ class EntrypointPlugin(BasePlugin): ENTRYPOINT = "tutor.plugin.v0" - def __init__(self, entrypoint: EntryPoint) -> None: - self.loader: EntryPoint = entrypoint + def __init__(self, entrypoint: importlib_metadata.EntryPoint) -> None: + self.loader: importlib_metadata.EntryPoint = entrypoint super().__init__(entrypoint.name, entrypoint) def _load_obj(self) -> None: @@ -260,7 +260,7 @@ def _version(self) -> t.Optional[str]: @classmethod def discover_all(cls) -> None: - entrypoints = entry_points().select(group=cls.ENTRYPOINT) # type: ignore[no-untyped-call] + entrypoints = importlib_metadata.entry_points().select(group=cls.ENTRYPOINT) # type: ignore[no-untyped-call] for entrypoint in entrypoints: try: error: t.Optional[str] = None diff --git a/tutor/plugins/v1.py b/tutor/plugins/v1.py index 008b51ef45..ef8976e614 100644 --- a/tutor/plugins/v1.py +++ b/tutor/plugins/v1.py @@ -2,7 +2,7 @@ import os from glob import glob -from importlib_metadata import entry_points, EntryPoint +import importlib_metadata from tutor import hooks @@ -26,7 +26,7 @@ def _discover_entrypoint_plugins() -> None: """ with hooks.Contexts.PLUGINS.enter(): if "TUTOR_IGNORE_ENTRYPOINT_PLUGINS" not in os.environ: - for entrypoint in entry_points().select(group="tutor.plugin.v1"): # type: ignore[no-untyped-call] + for entrypoint in importlib_metadata.entry_points().select(group="tutor.plugin.v1"): # type: ignore[no-untyped-call] discover_package(entrypoint) @@ -56,7 +56,7 @@ def load(plugin_name: str) -> None: spec.loader.exec_module(module) -def discover_package(entrypoint: EntryPoint) -> None: +def discover_package(entrypoint: importlib_metadata.EntryPoint) -> None: """ Install a plugin from a python package. """ diff --git a/tutor/templates/apps/openedx/settings/partials/common_all.py b/tutor/templates/apps/openedx/settings/partials/common_all.py index 2cd7de2bc4..c088b97b17 100644 --- a/tutor/templates/apps/openedx/settings/partials/common_all.py +++ b/tutor/templates/apps/openedx/settings/partials/common_all.py @@ -157,6 +157,7 @@ warnings.filterwarnings("ignore", category=DeprecationWarning, module="wiki.plugins.links.wiki_plugin") warnings.filterwarnings("ignore", category=DeprecationWarning, module="boto.plugin") warnings.filterwarnings("ignore", category=DeprecationWarning, module="botocore.vendored.requests.packages.urllib3._collections") +warnings.filterwarnings("ignore", category=DeprecationWarning, module="pkg_resources") warnings.filterwarnings("ignore", category=DeprecationWarning, module="fs") warnings.filterwarnings("ignore", category=DeprecationWarning, module="fs.opener") SILENCED_SYSTEM_CHECKS = ["2_0.W001", "fields.W903"]