aboutsummaryrefslogtreecommitdiff
path: root/venv/lib/python3.8/site-packages/importlib_metadata/compat
diff options
context:
space:
mode:
authorsotech117 <michael_foiani@brown.edu>2025-07-31 17:27:24 -0400
committersotech117 <michael_foiani@brown.edu>2025-07-31 17:27:24 -0400
commit5bf22fc7e3c392c8bd44315ca2d06d7dca7d084e (patch)
tree8dacb0f195df1c0788d36dd0064f6bbaa3143ede /venv/lib/python3.8/site-packages/importlib_metadata/compat
parentb832d364da8c2efe09e3f75828caf73c50d01ce3 (diff)
add code for analysis of data
Diffstat (limited to 'venv/lib/python3.8/site-packages/importlib_metadata/compat')
-rw-r--r--venv/lib/python3.8/site-packages/importlib_metadata/compat/__init__.py0
-rw-r--r--venv/lib/python3.8/site-packages/importlib_metadata/compat/py311.py22
-rw-r--r--venv/lib/python3.8/site-packages/importlib_metadata/compat/py39.py36
3 files changed, 58 insertions, 0 deletions
diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/compat/__init__.py b/venv/lib/python3.8/site-packages/importlib_metadata/compat/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/venv/lib/python3.8/site-packages/importlib_metadata/compat/__init__.py
diff --git a/venv/lib/python3.8/site-packages/importlib_metadata/compat/py311.py b/venv/lib/python3.8/site-packages/importlib_metadata/compat/py311.py
new file mode 100644
index 0000000..3a53274
--- /dev/null
+++ b/venv/lib/python3.8/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.8/site-packages/importlib_metadata/compat/py39.py b/venv/lib/python3.8/site-packages/importlib_metadata/compat/py39.py
new file mode 100644
index 0000000..1f15bd9
--- /dev/null
+++ b/venv/lib/python3.8/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)