summaryrefslogtreecommitdiffstats
path: root/contrib/python/importlib-metadata
diff options
context:
space:
mode:
authorrobot-piglet <[email protected]>2024-09-29 14:56:34 +0300
committerrobot-piglet <[email protected]>2024-09-29 15:07:41 +0300
commit879a377a0a58f7bf1b0c55ea8c0f525e33f35b53 (patch)
treee641b8333a1bfaba647b06775c352f4315f26ee5 /contrib/python/importlib-metadata
parentd33d1897c75f511aed6d7a35b51fa4647cfd5fd4 (diff)
Intermediate changes
commit_hash:02eb31a2fa9b8a7459367d02598ccdfb6d69f271
Diffstat (limited to 'contrib/python/importlib-metadata')
-rw-r--r--contrib/python/importlib-metadata/py3/.dist-info/METADATA16
-rw-r--r--contrib/python/importlib-metadata/py3/importlib_metadata/__init__.py57
-rw-r--r--contrib/python/importlib-metadata/py3/importlib_metadata/_adapters.py2
-rw-r--r--contrib/python/importlib-metadata/py3/importlib_metadata/_compat.py3
-rw-r--r--contrib/python/importlib-metadata/py3/importlib_metadata/_functools.py2
-rw-r--r--contrib/python/importlib-metadata/py3/importlib_metadata/_meta.py14
-rw-r--r--contrib/python/importlib-metadata/py3/ya.make2
7 files changed, 60 insertions, 36 deletions
diff --git a/contrib/python/importlib-metadata/py3/.dist-info/METADATA b/contrib/python/importlib-metadata/py3/.dist-info/METADATA
index d9b8f53e25a..d1ad5b7cddd 100644
--- a/contrib/python/importlib-metadata/py3/.dist-info/METADATA
+++ b/contrib/python/importlib-metadata/py3/.dist-info/METADATA
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: importlib_metadata
-Version: 8.4.0
+Version: 8.5.0
Summary: Read metadata from Python packages
Author-email: "Jason R. Coombs" <[email protected]>
Project-URL: Source, https://github.com/python/importlib_metadata
@@ -13,6 +13,11 @@ Requires-Python: >=3.8
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: typing-extensions >=3.6.4 ; python_version < "3.8"
+Provides-Extra: check
+Requires-Dist: pytest-checkdocs >=2.4 ; extra == 'check'
+Requires-Dist: pytest-ruff >=0.2.1 ; (sys_platform != "cygwin") and extra == 'check'
+Provides-Extra: cover
+Requires-Dist: pytest-cov ; extra == 'cover'
Provides-Extra: doc
Requires-Dist: sphinx >=3.5 ; extra == 'doc'
Requires-Dist: jaraco.packaging >=9.3 ; extra == 'doc'
@@ -20,21 +25,20 @@ Requires-Dist: rst.linker >=1.9 ; extra == 'doc'
Requires-Dist: furo ; extra == 'doc'
Requires-Dist: sphinx-lint ; extra == 'doc'
Requires-Dist: jaraco.tidelift >=1.4 ; extra == 'doc'
+Provides-Extra: enabler
+Requires-Dist: pytest-enabler >=2.2 ; extra == 'enabler'
Provides-Extra: perf
Requires-Dist: ipython ; extra == 'perf'
Provides-Extra: test
Requires-Dist: pytest !=8.1.*,>=6 ; extra == 'test'
-Requires-Dist: pytest-checkdocs >=2.4 ; extra == 'test'
-Requires-Dist: pytest-cov ; extra == 'test'
-Requires-Dist: pytest-mypy ; extra == 'test'
-Requires-Dist: pytest-enabler >=2.2 ; extra == 'test'
Requires-Dist: packaging ; extra == 'test'
Requires-Dist: pyfakefs ; extra == 'test'
Requires-Dist: flufl.flake8 ; extra == 'test'
Requires-Dist: pytest-perf >=0.9.2 ; extra == 'test'
Requires-Dist: jaraco.test >=5.4 ; extra == 'test'
Requires-Dist: importlib-resources >=1.3 ; (python_version < "3.9") and extra == 'test'
-Requires-Dist: pytest-ruff >=0.2.1 ; (sys_platform != "cygwin") and extra == 'test'
+Provides-Extra: type
+Requires-Dist: pytest-mypy ; extra == 'type'
.. image:: https://img.shields.io/pypi/v/importlib_metadata.svg
:target: https://pypi.org/project/importlib_metadata
diff --git a/contrib/python/importlib-metadata/py3/importlib_metadata/__init__.py b/contrib/python/importlib-metadata/py3/importlib_metadata/__init__.py
index 7dc38f73d05..0d20b12eae0 100644
--- a/contrib/python/importlib-metadata/py3/importlib_metadata/__init__.py
+++ b/contrib/python/importlib-metadata/py3/importlib_metadata/__init__.py
@@ -1,22 +1,34 @@
+"""
+APIs exposing metadata from third-party Python packages.
+
+This codebase is shared between importlib.metadata in the stdlib
+and importlib_metadata in PyPI. See
+https://github.com/python/importlib_metadata/wiki/Development-Methodology
+for more detail.
+"""
+
from __future__ import annotations
-import os
-import re
import abc
-import sys
-import json
+import collections
import email
-import types
-import pathlib
-import operator
-import textwrap
import functools
import itertools
+import operator
+import os
+import pathlib
import posixpath
-import collections
+import re
+import sys
+import textwrap
+import types
+from contextlib import suppress
+from importlib import import_module
+from importlib.abc import MetaPathFinder
+from itertools import starmap
+from typing import Any, Iterable, List, Mapping, Match, Optional, Set, cast
from . import _meta
-from .compat import py39, py311
from ._collections import FreezableDefaultDict, Pair
from ._compat import (
NullFinder,
@@ -25,12 +37,7 @@ from ._compat import (
from ._functools import method_cache, pass_none
from ._itertools import always_iterable, bucket, unique_everseen
from ._meta import PackageMetadata, SimplePath
-
-from contextlib import suppress
-from importlib import import_module
-from importlib.abc import MetaPathFinder
-from itertools import starmap
-from typing import Any, Iterable, List, Mapping, Match, Optional, Set, cast
+from .compat import py39, py311
__all__ = [
'Distribution',
@@ -62,7 +69,7 @@ class PackageNotFoundError(ModuleNotFoundError):
return f"No package metadata was found for {self.name}"
@property
- def name(self) -> str: # type: ignore[override]
+ def name(self) -> str: # type: ignore[override] # make readonly
(name,) = self.args
return name
@@ -280,7 +287,7 @@ class EntryPoints(tuple):
__slots__ = ()
- def __getitem__(self, name: str) -> EntryPoint: # type: ignore[override]
+ def __getitem__(self, name: str) -> EntryPoint: # type: ignore[override] # Work with str instead of int
"""
Get the EntryPoint in self matching name.
"""
@@ -336,7 +343,7 @@ class PackagePath(pathlib.PurePosixPath):
size: int
dist: Distribution
- def read_text(self, encoding: str = 'utf-8') -> str: # type: ignore[override]
+ def read_text(self, encoding: str = 'utf-8') -> str:
return self.locate().read_text(encoding=encoding)
def read_binary(self) -> bytes:
@@ -671,6 +678,9 @@ class Distribution(metaclass=abc.ABCMeta):
return self._load_json('direct_url.json')
def _load_json(self, filename):
+ # Deferred for performance (python/importlib_metadata#503)
+ import json
+
return pass_none(json.loads)(
self.read_text(filename),
object_hook=lambda data: types.SimpleNamespace(**data),
@@ -755,7 +765,7 @@ class FastPath:
True
"""
- @functools.lru_cache() # type: ignore
+ @functools.lru_cache() # type: ignore[misc]
def __new__(cls, root):
return super().__new__(cls)
@@ -773,7 +783,10 @@ class FastPath:
return []
def zip_children(self):
- zip_path = zipp.Path(self.root)
+ # deferred for performance (python/importlib_metadata#502)
+ from zipp.compat.overlay import zipfile
+
+ zip_path = zipfile.Path(self.root)
names = zip_path.root.namelist()
self.joinpath = zip_path.joinpath
@@ -1166,7 +1179,7 @@ def _get_toplevel_name(name: PackagePath) -> str:
# Defer import of inspect for performance (python/cpython#118761)
import inspect
- return _topmost(name) or (inspect.getmodulename(name) or str(name))
+ return _topmost(name) or inspect.getmodulename(name) or str(name)
def _top_level_inferred(dist):
diff --git a/contrib/python/importlib-metadata/py3/importlib_metadata/_adapters.py b/contrib/python/importlib-metadata/py3/importlib_metadata/_adapters.py
index 6223263ed53..3b516a2d066 100644
--- a/contrib/python/importlib-metadata/py3/importlib_metadata/_adapters.py
+++ b/contrib/python/importlib-metadata/py3/importlib_metadata/_adapters.py
@@ -1,6 +1,6 @@
+import email.message
import re
import textwrap
-import email.message
from ._text import FoldedCase
diff --git a/contrib/python/importlib-metadata/py3/importlib_metadata/_compat.py b/contrib/python/importlib-metadata/py3/importlib_metadata/_compat.py
index 1a3578e60fb..7ef474412b5 100644
--- a/contrib/python/importlib-metadata/py3/importlib_metadata/_compat.py
+++ b/contrib/python/importlib-metadata/py3/importlib_metadata/_compat.py
@@ -1,6 +1,5 @@
-import sys
import platform
-
+import sys
__all__ = ['install', 'NullFinder']
diff --git a/contrib/python/importlib-metadata/py3/importlib_metadata/_functools.py b/contrib/python/importlib-metadata/py3/importlib_metadata/_functools.py
index 71f66bd03cb..5dda6a2199a 100644
--- a/contrib/python/importlib-metadata/py3/importlib_metadata/_functools.py
+++ b/contrib/python/importlib-metadata/py3/importlib_metadata/_functools.py
@@ -1,5 +1,5 @@
-import types
import functools
+import types
# from jaraco.functools 3.3
diff --git a/contrib/python/importlib-metadata/py3/importlib_metadata/_meta.py b/contrib/python/importlib-metadata/py3/importlib_metadata/_meta.py
index 1927d0f624d..0942bbd963a 100644
--- a/contrib/python/importlib-metadata/py3/importlib_metadata/_meta.py
+++ b/contrib/python/importlib-metadata/py3/importlib_metadata/_meta.py
@@ -1,9 +1,17 @@
from __future__ import annotations
import os
-from typing import Protocol
-from typing import Any, Dict, Iterator, List, Optional, TypeVar, Union, overload
-
+from typing import (
+ Any,
+ Dict,
+ Iterator,
+ List,
+ Optional,
+ Protocol,
+ TypeVar,
+ Union,
+ overload,
+)
_T = TypeVar("_T")
diff --git a/contrib/python/importlib-metadata/py3/ya.make b/contrib/python/importlib-metadata/py3/ya.make
index 57e5ec6b3bc..c9de3138bda 100644
--- a/contrib/python/importlib-metadata/py3/ya.make
+++ b/contrib/python/importlib-metadata/py3/ya.make
@@ -2,7 +2,7 @@
PY3_LIBRARY()
-VERSION(8.4.0)
+VERSION(8.5.0)
LICENSE(Apache-2.0)