py2docfx 0.1.11.dev1824276__py3-none-any.whl → 0.1.11.dev1830301__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- py2docfx/convert_prepare/environment.py +1 -1
- py2docfx/convert_prepare/package_info.py +1 -1
- py2docfx/convert_prepare/pip_utils.py +1 -1
- py2docfx/convert_prepare/tests/test_package_info.py +7 -22
- py2docfx/convert_prepare/tests/test_params.py +5 -0
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/_collections.py +0 -145
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/bcppcompiler.py +1 -2
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/ccompiler.py +7 -11
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/command/bdist.py +4 -3
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -4
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/command/check.py +3 -4
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/command/install_data.py +39 -29
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/command/install_lib.py +1 -3
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/command/sdist.py +4 -4
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/compat/py38.py +1 -0
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +21 -42
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/dist.py +3 -12
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/extension.py +9 -4
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/msvc9compiler.py +1 -3
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/msvccompiler.py +1 -3
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/spawn.py +0 -1
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/sysconfig.py +44 -25
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_archive_util.py +1 -1
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_build.py +1 -2
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +1 -1
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py +0 -42
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_dist.py +1 -1
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_extension.py +4 -1
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_install_data.py +17 -9
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_mingwccompiler.py +5 -4
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_spawn.py +1 -1
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_sysconfig.py +6 -3
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_unixccompiler.py +35 -1
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/tests/test_util.py +4 -24
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/unixccompiler.py +19 -20
- py2docfx/venv/0/Lib/site-packages/setuptools/_distutils/util.py +20 -26
- py2docfx/venv/0/Lib/site-packages/wheel/__init__.py +3 -0
- py2docfx/venv/0/Lib/site-packages/wheel/__main__.py +23 -0
- py2docfx/venv/0/Lib/site-packages/wheel/_bdist_wheel.py +604 -0
- py2docfx/venv/0/Lib/site-packages/wheel/_setuptools_logging.py +26 -0
- py2docfx/venv/0/Lib/site-packages/wheel/bdist_wheel.py +11 -0
- py2docfx/venv/0/Lib/site-packages/wheel/cli/__init__.py +155 -0
- py2docfx/venv/0/Lib/site-packages/wheel/cli/convert.py +273 -0
- py2docfx/venv/0/Lib/site-packages/wheel/cli/pack.py +85 -0
- py2docfx/venv/0/Lib/site-packages/wheel/cli/tags.py +139 -0
- py2docfx/venv/0/Lib/site-packages/wheel/cli/unpack.py +30 -0
- py2docfx/venv/0/Lib/site-packages/wheel/macosx_libfile.py +482 -0
- py2docfx/venv/0/Lib/site-packages/wheel/metadata.py +183 -0
- py2docfx/venv/0/Lib/site-packages/wheel/util.py +26 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/__init__.py +0 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/__init__.py +0 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/_elffile.py +108 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/_manylinux.py +260 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/_musllinux.py +83 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/_parser.py +356 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/_structures.py +61 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/_tokenizer.py +192 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/markers.py +253 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/requirements.py +90 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/specifiers.py +1011 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/tags.py +571 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/utils.py +172 -0
- py2docfx/venv/0/Lib/site-packages/wheel/vendored/packaging/version.py +561 -0
- py2docfx/venv/0/Lib/site-packages/wheel/wheelfile.py +227 -0
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/_collections.py +0 -145
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/bcppcompiler.py +1 -2
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/ccompiler.py +7 -11
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/command/bdist.py +4 -3
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -4
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/command/check.py +3 -4
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/command/install_data.py +39 -29
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/command/install_lib.py +1 -3
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/command/sdist.py +4 -4
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/compat/py38.py +1 -0
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +21 -42
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/dist.py +3 -12
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/extension.py +9 -4
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/msvc9compiler.py +1 -3
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/msvccompiler.py +1 -3
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/spawn.py +0 -1
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/sysconfig.py +44 -25
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_archive_util.py +1 -1
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_build.py +1 -2
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +1 -1
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py +0 -42
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_dist.py +1 -1
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_extension.py +4 -1
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_install_data.py +17 -9
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_mingwccompiler.py +5 -4
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_spawn.py +1 -1
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_sysconfig.py +6 -3
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_unixccompiler.py +35 -1
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/tests/test_util.py +4 -24
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/unixccompiler.py +19 -20
- py2docfx/venv/template/Lib/site-packages/setuptools/_distutils/util.py +20 -26
- py2docfx/venv/template/Lib/site-packages/wheel/__init__.py +3 -0
- py2docfx/venv/template/Lib/site-packages/wheel/__main__.py +23 -0
- py2docfx/venv/template/Lib/site-packages/wheel/_bdist_wheel.py +604 -0
- py2docfx/venv/template/Lib/site-packages/wheel/_setuptools_logging.py +26 -0
- py2docfx/venv/template/Lib/site-packages/wheel/bdist_wheel.py +11 -0
- py2docfx/venv/template/Lib/site-packages/wheel/cli/__init__.py +155 -0
- py2docfx/venv/template/Lib/site-packages/wheel/cli/convert.py +273 -0
- py2docfx/venv/template/Lib/site-packages/wheel/cli/pack.py +85 -0
- py2docfx/venv/template/Lib/site-packages/wheel/cli/tags.py +139 -0
- py2docfx/venv/template/Lib/site-packages/wheel/cli/unpack.py +30 -0
- py2docfx/venv/template/Lib/site-packages/wheel/macosx_libfile.py +482 -0
- py2docfx/venv/template/Lib/site-packages/wheel/metadata.py +183 -0
- py2docfx/venv/template/Lib/site-packages/wheel/util.py +26 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/__init__.py +0 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/__init__.py +0 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/_elffile.py +108 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/_manylinux.py +260 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/_musllinux.py +83 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/_parser.py +356 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/_structures.py +61 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/_tokenizer.py +192 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/markers.py +253 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/requirements.py +90 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/specifiers.py +1011 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/tags.py +571 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/utils.py +172 -0
- py2docfx/venv/template/Lib/site-packages/wheel/vendored/packaging/version.py +561 -0
- py2docfx/venv/template/Lib/site-packages/wheel/wheelfile.py +227 -0
- {py2docfx-0.1.11.dev1824276.dist-info → py2docfx-0.1.11.dev1830301.dist-info}/METADATA +1 -1
- {py2docfx-0.1.11.dev1824276.dist-info → py2docfx-0.1.11.dev1830301.dist-info}/RECORD +127 -71
- {py2docfx-0.1.11.dev1824276.dist-info → py2docfx-0.1.11.dev1830301.dist-info}/WHEEL +0 -0
- {py2docfx-0.1.11.dev1824276.dist-info → py2docfx-0.1.11.dev1830301.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,172 @@
|
|
1
|
+
# This file is dual licensed under the terms of the Apache License, Version
|
2
|
+
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
|
3
|
+
# for complete details.
|
4
|
+
|
5
|
+
import re
|
6
|
+
from typing import FrozenSet, NewType, Tuple, Union, cast
|
7
|
+
|
8
|
+
from .tags import Tag, parse_tag
|
9
|
+
from .version import InvalidVersion, Version
|
10
|
+
|
11
|
+
BuildTag = Union[Tuple[()], Tuple[int, str]]
|
12
|
+
NormalizedName = NewType("NormalizedName", str)
|
13
|
+
|
14
|
+
|
15
|
+
class InvalidName(ValueError):
|
16
|
+
"""
|
17
|
+
An invalid distribution name; users should refer to the packaging user guide.
|
18
|
+
"""
|
19
|
+
|
20
|
+
|
21
|
+
class InvalidWheelFilename(ValueError):
|
22
|
+
"""
|
23
|
+
An invalid wheel filename was found, users should refer to PEP 427.
|
24
|
+
"""
|
25
|
+
|
26
|
+
|
27
|
+
class InvalidSdistFilename(ValueError):
|
28
|
+
"""
|
29
|
+
An invalid sdist filename was found, users should refer to the packaging user guide.
|
30
|
+
"""
|
31
|
+
|
32
|
+
|
33
|
+
# Core metadata spec for `Name`
|
34
|
+
_validate_regex = re.compile(
|
35
|
+
r"^([A-Z0-9]|[A-Z0-9][A-Z0-9._-]*[A-Z0-9])$", re.IGNORECASE
|
36
|
+
)
|
37
|
+
_canonicalize_regex = re.compile(r"[-_.]+")
|
38
|
+
_normalized_regex = re.compile(r"^([a-z0-9]|[a-z0-9]([a-z0-9-](?!--))*[a-z0-9])$")
|
39
|
+
# PEP 427: The build number must start with a digit.
|
40
|
+
_build_tag_regex = re.compile(r"(\d+)(.*)")
|
41
|
+
|
42
|
+
|
43
|
+
def canonicalize_name(name: str, *, validate: bool = False) -> NormalizedName:
|
44
|
+
if validate and not _validate_regex.match(name):
|
45
|
+
raise InvalidName(f"name is invalid: {name!r}")
|
46
|
+
# This is taken from PEP 503.
|
47
|
+
value = _canonicalize_regex.sub("-", name).lower()
|
48
|
+
return cast(NormalizedName, value)
|
49
|
+
|
50
|
+
|
51
|
+
def is_normalized_name(name: str) -> bool:
|
52
|
+
return _normalized_regex.match(name) is not None
|
53
|
+
|
54
|
+
|
55
|
+
def canonicalize_version(
|
56
|
+
version: Union[Version, str], *, strip_trailing_zero: bool = True
|
57
|
+
) -> str:
|
58
|
+
"""
|
59
|
+
This is very similar to Version.__str__, but has one subtle difference
|
60
|
+
with the way it handles the release segment.
|
61
|
+
"""
|
62
|
+
if isinstance(version, str):
|
63
|
+
try:
|
64
|
+
parsed = Version(version)
|
65
|
+
except InvalidVersion:
|
66
|
+
# Legacy versions cannot be normalized
|
67
|
+
return version
|
68
|
+
else:
|
69
|
+
parsed = version
|
70
|
+
|
71
|
+
parts = []
|
72
|
+
|
73
|
+
# Epoch
|
74
|
+
if parsed.epoch != 0:
|
75
|
+
parts.append(f"{parsed.epoch}!")
|
76
|
+
|
77
|
+
# Release segment
|
78
|
+
release_segment = ".".join(str(x) for x in parsed.release)
|
79
|
+
if strip_trailing_zero:
|
80
|
+
# NB: This strips trailing '.0's to normalize
|
81
|
+
release_segment = re.sub(r"(\.0)+$", "", release_segment)
|
82
|
+
parts.append(release_segment)
|
83
|
+
|
84
|
+
# Pre-release
|
85
|
+
if parsed.pre is not None:
|
86
|
+
parts.append("".join(str(x) for x in parsed.pre))
|
87
|
+
|
88
|
+
# Post-release
|
89
|
+
if parsed.post is not None:
|
90
|
+
parts.append(f".post{parsed.post}")
|
91
|
+
|
92
|
+
# Development release
|
93
|
+
if parsed.dev is not None:
|
94
|
+
parts.append(f".dev{parsed.dev}")
|
95
|
+
|
96
|
+
# Local version segment
|
97
|
+
if parsed.local is not None:
|
98
|
+
parts.append(f"+{parsed.local}")
|
99
|
+
|
100
|
+
return "".join(parts)
|
101
|
+
|
102
|
+
|
103
|
+
def parse_wheel_filename(
|
104
|
+
filename: str,
|
105
|
+
) -> Tuple[NormalizedName, Version, BuildTag, FrozenSet[Tag]]:
|
106
|
+
if not filename.endswith(".whl"):
|
107
|
+
raise InvalidWheelFilename(
|
108
|
+
f"Invalid wheel filename (extension must be '.whl'): {filename}"
|
109
|
+
)
|
110
|
+
|
111
|
+
filename = filename[:-4]
|
112
|
+
dashes = filename.count("-")
|
113
|
+
if dashes not in (4, 5):
|
114
|
+
raise InvalidWheelFilename(
|
115
|
+
f"Invalid wheel filename (wrong number of parts): {filename}"
|
116
|
+
)
|
117
|
+
|
118
|
+
parts = filename.split("-", dashes - 2)
|
119
|
+
name_part = parts[0]
|
120
|
+
# See PEP 427 for the rules on escaping the project name.
|
121
|
+
if "__" in name_part or re.match(r"^[\w\d._]*$", name_part, re.UNICODE) is None:
|
122
|
+
raise InvalidWheelFilename(f"Invalid project name: {filename}")
|
123
|
+
name = canonicalize_name(name_part)
|
124
|
+
|
125
|
+
try:
|
126
|
+
version = Version(parts[1])
|
127
|
+
except InvalidVersion as e:
|
128
|
+
raise InvalidWheelFilename(
|
129
|
+
f"Invalid wheel filename (invalid version): {filename}"
|
130
|
+
) from e
|
131
|
+
|
132
|
+
if dashes == 5:
|
133
|
+
build_part = parts[2]
|
134
|
+
build_match = _build_tag_regex.match(build_part)
|
135
|
+
if build_match is None:
|
136
|
+
raise InvalidWheelFilename(
|
137
|
+
f"Invalid build number: {build_part} in '{filename}'"
|
138
|
+
)
|
139
|
+
build = cast(BuildTag, (int(build_match.group(1)), build_match.group(2)))
|
140
|
+
else:
|
141
|
+
build = ()
|
142
|
+
tags = parse_tag(parts[-1])
|
143
|
+
return (name, version, build, tags)
|
144
|
+
|
145
|
+
|
146
|
+
def parse_sdist_filename(filename: str) -> Tuple[NormalizedName, Version]:
|
147
|
+
if filename.endswith(".tar.gz"):
|
148
|
+
file_stem = filename[: -len(".tar.gz")]
|
149
|
+
elif filename.endswith(".zip"):
|
150
|
+
file_stem = filename[: -len(".zip")]
|
151
|
+
else:
|
152
|
+
raise InvalidSdistFilename(
|
153
|
+
f"Invalid sdist filename (extension must be '.tar.gz' or '.zip'):"
|
154
|
+
f" {filename}"
|
155
|
+
)
|
156
|
+
|
157
|
+
# We are requiring a PEP 440 version, which cannot contain dashes,
|
158
|
+
# so we split on the last dash.
|
159
|
+
name_part, sep, version_part = file_stem.rpartition("-")
|
160
|
+
if not sep:
|
161
|
+
raise InvalidSdistFilename(f"Invalid sdist filename: {filename}")
|
162
|
+
|
163
|
+
name = canonicalize_name(name_part)
|
164
|
+
|
165
|
+
try:
|
166
|
+
version = Version(version_part)
|
167
|
+
except InvalidVersion as e:
|
168
|
+
raise InvalidSdistFilename(
|
169
|
+
f"Invalid sdist filename (invalid version): {filename}"
|
170
|
+
) from e
|
171
|
+
|
172
|
+
return (name, version)
|