Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit77eb71e

Browse files
committed
Move code specific to backport to compat module
1 parent2044db1 commit77eb71e

File tree

2 files changed

+34
-13
lines changed

2 files changed

+34
-13
lines changed

‎importlib_metadata/__init__.py‎

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
importcollections
1919

2020
from .import_meta
21-
from .compatimportpy39,py311
21+
from .compatimportpy39,py311,stdlib
2222
from ._collectionsimportFreezableDefaultDict,Pair
2323
from ._compatimport (
2424
NullFinder,
@@ -30,16 +30,10 @@
3030

3131
fromcontextlibimportsuppress
3232
fromimportlibimportimport_module
33-
fromimportlibimportmetadataas_legacy
3433
fromimportlib.abcimportMetaPathFinder
3534
fromitertoolsimportstarmap
3635
fromtypingimportAny,Iterable,List,Mapping,Match,Optional,Set,cast
3736

38-
ifsys.version_info>= (3,10):
39-
fromimportlib.metadataimportPackageMetadataas_legacy_Metadata
40-
else:
41-
fromemail.messageimportMessageas_legacy_Metadata
42-
4337

4438
__all__= [
4539
'Distribution',
@@ -382,7 +376,7 @@ def locate_file(self, path: str | os.PathLike[str]) -> SimplePath:
382376
"""
383377

384378
@classmethod
385-
deffrom_name(cls,name:str)->Distribution|_legacy.Distribution:
379+
deffrom_name(cls,name:str)->stdlib._DistributionOrLegacy:
386380
"""Return the Distribution for the given package name.
387381
388382
:param name: The name of the distribution package to search for.
@@ -402,7 +396,7 @@ def from_name(cls, name: str) -> Distribution | _legacy.Distribution:
402396
@classmethod
403397
defdiscover(
404398
cls,*,context:Optional[DistributionFinder.Context]=None,**kwargs
405-
)->Iterable[Distribution|_legacy.Distribution]:
399+
)->Iterable[stdlib._DistributionOrLegacy]:
406400
"""Return an iterable of Distribution objects for all packages.
407401
408402
Pass a ``context`` or pass keyword arguments for constructing
@@ -948,7 +942,7 @@ def _name_from_stem(stem):
948942
returnname
949943

950944

951-
defdistribution(distribution_name:str)->Distribution|_legacy.Distribution:
945+
defdistribution(distribution_name:str)->stdlib._DistributionOrLegacy:
952946
"""Get the ``Distribution`` instance for the named package.
953947
954948
:param distribution_name: The name of the distribution package as a string.
@@ -957,15 +951,15 @@ def distribution(distribution_name: str) -> Distribution | _legacy.Distribution:
957951
returnDistribution.from_name(distribution_name)
958952

959953

960-
defdistributions(**kwargs)->Iterable[Distribution|_legacy.Distribution]:
954+
defdistributions(**kwargs)->Iterable[stdlib._DistributionOrLegacy]:
961955
"""Get all ``Distribution`` instances in the current environment.
962956
963957
:return: An iterable of ``Distribution`` instances.
964958
"""
965959
returnDistribution.discover(**kwargs)
966960

967961

968-
defmetadata(distribution_name:str)->_meta.PackageMetadata|_legacy_Metadata:
962+
defmetadata(distribution_name:str)->stdlib._PackageMetadataOrLegacy:
969963
"""Get the metadata for the named package.
970964
971965
:param distribution_name: The name of the distribution package to query.
@@ -1010,7 +1004,7 @@ def entry_points(**params) -> EntryPoints:
10101004

10111005
deffiles(
10121006
distribution_name:str,
1013-
)->Optional[List[PackagePath]|List[_legacy.PackagePath]]:
1007+
)->Optional[stdlib._List_PackagePathOrLegacy]:
10141008
"""Return a list of files for the named package.
10151009
10161010
:param distribution_name: The name of the distribution package to query.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"""
2+
Compatibility layer with stdlib.
3+
Only needed when distributing via PyPI/3rd-party package.
4+
"""
5+
6+
from __future__importannotations
7+
8+
importsys
9+
fromtypingimportTYPE_CHECKING
10+
11+
ifTYPE_CHECKING:
12+
# Avoid circular imports
13+
14+
fromimportlibimportmetadataas_legacy
15+
16+
fromtyping_extensionsimportTypeAlias
17+
18+
from ..importDistribution,PackagePath,_meta
19+
20+
ifsys.version_info>= (3,10):
21+
fromimportlib.metadataimportPackageMetadataas_legacy_Metadata
22+
else:
23+
fromemail.messageimportMessageas_legacy_Metadata
24+
25+
_PackageMetadataOrLegacy:TypeAlias=_legacy_Metadata|_meta.PackageMetadata
26+
_DistributionOrLegacy:TypeAlias=_legacy.Distribution|Distribution
27+
_List_PackagePathOrLegacy:TypeAlias=list[_legacy.PackagePath]|list[PackagePath]

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp