about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/importlib_metadata/compat
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/importlib_metadata/compat
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are here HEAD master
Diffstat (limited to '.venv/lib/python3.12/site-packages/importlib_metadata/compat')
-rw-r--r--.venv/lib/python3.12/site-packages/importlib_metadata/compat/__init__.py0
-rw-r--r--.venv/lib/python3.12/site-packages/importlib_metadata/compat/py311.py22
-rw-r--r--.venv/lib/python3.12/site-packages/importlib_metadata/compat/py39.py36
3 files changed, 58 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/importlib_metadata/compat/__init__.py b/.venv/lib/python3.12/site-packages/importlib_metadata/compat/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/importlib_metadata/compat/__init__.py
diff --git a/.venv/lib/python3.12/site-packages/importlib_metadata/compat/py311.py b/.venv/lib/python3.12/site-packages/importlib_metadata/compat/py311.py
new file mode 100644
index 00000000..3a532743
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/importlib_metadata/compat/py311.py
@@ -0,0 +1,22 @@
+import os
+import pathlib
+import sys
+import types
+
+
+def wrap(path):  # pragma: no cover
+    """
+    Workaround for https://github.com/python/cpython/issues/84538
+    to add backward compatibility for walk_up=True.
+    An example affected package is dask-labextension, which uses
+    jupyter-packaging to install JupyterLab javascript files outside
+    of site-packages.
+    """
+
+    def relative_to(root, *, walk_up=False):
+        return pathlib.Path(os.path.relpath(path, root))
+
+    return types.SimpleNamespace(relative_to=relative_to)
+
+
+relative_fix = wrap if sys.version_info < (3, 12) else lambda x: x
diff --git a/.venv/lib/python3.12/site-packages/importlib_metadata/compat/py39.py b/.venv/lib/python3.12/site-packages/importlib_metadata/compat/py39.py
new file mode 100644
index 00000000..1f15bd97
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/importlib_metadata/compat/py39.py
@@ -0,0 +1,36 @@
+"""
+Compatibility layer with Python 3.8/3.9
+"""
+
+from typing import TYPE_CHECKING, Any, Optional
+
+if TYPE_CHECKING:  # pragma: no cover
+    # Prevent circular imports on runtime.
+    from .. import Distribution, EntryPoint
+else:
+    Distribution = EntryPoint = Any
+
+
+def normalized_name(dist: Distribution) -> Optional[str]:
+    """
+    Honor name normalization for distributions that don't provide ``_normalized_name``.
+    """
+    try:
+        return dist._normalized_name
+    except AttributeError:
+        from .. import Prepared  # -> delay to prevent circular imports.
+
+        return Prepared.normalize(getattr(dist, "name", None) or dist.metadata['Name'])
+
+
+def ep_matches(ep: EntryPoint, **params) -> bool:
+    """
+    Workaround for ``EntryPoint`` objects without the ``matches`` method.
+    """
+    try:
+        return ep.matches(**params)
+    except AttributeError:
+        from .. import EntryPoint  # -> delay to prevent circular imports.
+
+        # Reconstruct the EntryPoint object to make sure it is compatible.
+        return EntryPoint(ep.name, ep.value, ep.group).matches(**params)