Sphinx 8.2.0rc1__py3-none-any.whl → 8.2.1__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.
Potentially problematic release.
This version of Sphinx might be problematic. Click here for more details.
- sphinx/__init__.py +2 -2
- sphinx/application.py +3 -3
- sphinx/domains/math.py +2 -0
- sphinx/domains/python/_annotations.py +26 -10
- sphinx/domains/python/_object.py +4 -1
- sphinx/ext/apidoc/__init__.py +46 -1
- sphinx/ext/apidoc/_cli.py +25 -25
- sphinx/ext/apidoc/_extension.py +262 -0
- sphinx/ext/apidoc/_generate.py +14 -14
- sphinx/ext/apidoc/_shared.py +51 -18
- sphinx/ext/autodoc/__init__.py +3 -3
- sphinx/ext/autodoc/directive.py +1 -1
- sphinx/ext/autodoc/mock.py +1 -1
- sphinx/ext/autosummary/__init__.py +11 -0
- sphinx/ext/napoleon/__init__.py +23 -24
- sphinx/ext/viewcode.py +12 -8
- sphinx/highlighting.py +1 -1
- sphinx/locale/ar/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ar/LC_MESSAGES/sphinx.po +2155 -2050
- sphinx/locale/bg/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/bg/LC_MESSAGES/sphinx.po +2045 -1940
- sphinx/locale/bn/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/bn/LC_MESSAGES/sphinx.po +2175 -2070
- sphinx/locale/ca/LC_MESSAGES/sphinx.js +3 -3
- sphinx/locale/ca/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ca/LC_MESSAGES/sphinx.po +2690 -2585
- sphinx/locale/ca@valencia/LC_MESSAGES/sphinx.js +63 -0
- sphinx/locale/ca@valencia/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ca@valencia/LC_MESSAGES/sphinx.po +4216 -0
- sphinx/locale/cak/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/cak/LC_MESSAGES/sphinx.po +2096 -1991
- sphinx/locale/cs/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/cs/LC_MESSAGES/sphinx.po +2248 -2143
- sphinx/locale/cy/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/cy/LC_MESSAGES/sphinx.po +2201 -2096
- sphinx/locale/da/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/da/LC_MESSAGES/sphinx.po +2282 -2177
- sphinx/locale/de/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/de/LC_MESSAGES/sphinx.po +2261 -2156
- sphinx/locale/de_DE/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/de_DE/LC_MESSAGES/sphinx.po +2045 -1940
- sphinx/locale/el/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/el/LC_MESSAGES/sphinx.po +2604 -2499
- sphinx/locale/en_DE/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/en_DE/LC_MESSAGES/sphinx.po +2045 -1940
- sphinx/locale/en_FR/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/en_FR/LC_MESSAGES/sphinx.po +2045 -1940
- sphinx/locale/en_GB/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/en_GB/LC_MESSAGES/sphinx.po +2631 -2526
- sphinx/locale/en_HK/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/en_HK/LC_MESSAGES/sphinx.po +2045 -1940
- sphinx/locale/eo/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/eo/LC_MESSAGES/sphinx.po +2078 -1973
- sphinx/locale/es/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/es/LC_MESSAGES/sphinx.po +2633 -2528
- sphinx/locale/es_CO/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/es_CO/LC_MESSAGES/sphinx.po +2045 -1940
- sphinx/locale/et/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/et/LC_MESSAGES/sphinx.po +2449 -2344
- sphinx/locale/eu/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/eu/LC_MESSAGES/sphinx.po +2241 -2136
- sphinx/locale/fa/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/fa/LC_MESSAGES/sphinx.po +504 -500
- sphinx/locale/fi/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/fi/LC_MESSAGES/sphinx.po +499 -495
- sphinx/locale/fr/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/fr/LC_MESSAGES/sphinx.po +513 -509
- sphinx/locale/fr_FR/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/fr_FR/LC_MESSAGES/sphinx.po +499 -495
- sphinx/locale/gl/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/gl/LC_MESSAGES/sphinx.po +2644 -2539
- sphinx/locale/he/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/he/LC_MESSAGES/sphinx.po +499 -495
- sphinx/locale/hi/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/hi/LC_MESSAGES/sphinx.po +504 -500
- sphinx/locale/hi_IN/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/hi_IN/LC_MESSAGES/sphinx.po +499 -495
- sphinx/locale/hr/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/hr/LC_MESSAGES/sphinx.po +501 -497
- sphinx/locale/hu/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/hu/LC_MESSAGES/sphinx.po +499 -495
- sphinx/locale/id/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/id/LC_MESSAGES/sphinx.po +2609 -2504
- sphinx/locale/is/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/is/LC_MESSAGES/sphinx.po +499 -495
- sphinx/locale/it/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/it/LC_MESSAGES/sphinx.po +2265 -2160
- sphinx/locale/ja/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ja/LC_MESSAGES/sphinx.po +2621 -2516
- sphinx/locale/ka/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ka/LC_MESSAGES/sphinx.po +2567 -2462
- sphinx/locale/ko/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ko/LC_MESSAGES/sphinx.po +2631 -2526
- sphinx/locale/lt/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/lt/LC_MESSAGES/sphinx.po +2214 -2109
- sphinx/locale/lv/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/lv/LC_MESSAGES/sphinx.po +2218 -2113
- sphinx/locale/mk/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/mk/LC_MESSAGES/sphinx.po +2088 -1983
- sphinx/locale/nb_NO/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/nb_NO/LC_MESSAGES/sphinx.po +2247 -2142
- sphinx/locale/ne/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ne/LC_MESSAGES/sphinx.po +2227 -2122
- sphinx/locale/nl/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/nl/LC_MESSAGES/sphinx.po +2316 -2211
- sphinx/locale/pl/LC_MESSAGES/sphinx.js +2 -2
- sphinx/locale/pl/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/pl/LC_MESSAGES/sphinx.po +2442 -2336
- sphinx/locale/pt/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/pt/LC_MESSAGES/sphinx.po +2045 -1940
- sphinx/locale/pt_BR/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/pt_BR/LC_MESSAGES/sphinx.po +2657 -2552
- sphinx/locale/pt_PT/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/pt_PT/LC_MESSAGES/sphinx.po +2243 -2138
- sphinx/locale/ro/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ro/LC_MESSAGES/sphinx.po +2244 -2139
- sphinx/locale/ru/LC_MESSAGES/sphinx.js +1 -1
- sphinx/locale/ru/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ru/LC_MESSAGES/sphinx.po +2660 -2555
- sphinx/locale/si/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/si/LC_MESSAGES/sphinx.po +2134 -2029
- sphinx/locale/sk/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/sk/LC_MESSAGES/sphinx.po +2614 -2509
- sphinx/locale/sl/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/sl/LC_MESSAGES/sphinx.po +2167 -2062
- sphinx/locale/sphinx.pot +2069 -1964
- sphinx/locale/sq/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/sq/LC_MESSAGES/sphinx.po +2661 -2556
- sphinx/locale/sr/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/sr/LC_MESSAGES/sphinx.po +2213 -2108
- sphinx/locale/sv/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/sv/LC_MESSAGES/sphinx.po +2229 -2124
- sphinx/locale/te/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/te/LC_MESSAGES/sphinx.po +2045 -1940
- sphinx/locale/tr/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/tr/LC_MESSAGES/sphinx.po +2608 -2503
- sphinx/locale/uk_UA/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/uk_UA/LC_MESSAGES/sphinx.po +2167 -2062
- sphinx/locale/ur/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ur/LC_MESSAGES/sphinx.po +2045 -1940
- sphinx/locale/vi/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/vi/LC_MESSAGES/sphinx.po +2204 -2099
- sphinx/locale/yue/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/yue/LC_MESSAGES/sphinx.po +2045 -1940
- sphinx/locale/zh_HK/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/zh_HK/LC_MESSAGES/sphinx.po +2045 -1940
- sphinx/locale/zh_TW/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/zh_TW/LC_MESSAGES/sphinx.po +2659 -2554
- sphinx/locale/zh_TW.Big5/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/zh_TW.Big5/LC_MESSAGES/sphinx.po +2045 -1940
- sphinx/testing/path.py +8 -0
- sphinx/themes/basic/static/basic.css.jinja +0 -8
- sphinx/util/_files.py +2 -2
- sphinx/util/fileutil.py +2 -1
- sphinx/util/osutil.py +6 -1
- sphinx/writers/html5.py +2 -2
- sphinx/writers/latex.py +3 -2
- sphinx/writers/texinfo.py +3 -2
- sphinx/writers/text.py +2 -2
- {sphinx-8.2.0rc1.dist-info → sphinx-8.2.1.dist-info}/METADATA +8 -5
- {sphinx-8.2.0rc1.dist-info → sphinx-8.2.1.dist-info}/RECORD +164 -160
- {sphinx-8.2.0rc1.dist-info → sphinx-8.2.1.dist-info}/WHEEL +1 -1
- {sphinx-8.2.0rc1.dist-info → sphinx-8.2.1.dist-info}/entry_points.txt +0 -0
- {sphinx-8.2.0rc1.dist-info → sphinx-8.2.1.dist-info/licenses}/LICENSE.rst +0 -0
sphinx/testing/path.py
CHANGED
|
@@ -58,18 +58,26 @@ class path(str): # NoQA: FURB189
|
|
|
58
58
|
"""Returns ``True`` if the path is a directory."""
|
|
59
59
|
return os.path.isdir(self)
|
|
60
60
|
|
|
61
|
+
is_dir = isdir
|
|
62
|
+
|
|
61
63
|
def isfile(self) -> bool:
|
|
62
64
|
"""Returns ``True`` if the path is a file."""
|
|
63
65
|
return os.path.isfile(self)
|
|
64
66
|
|
|
67
|
+
is_file = isfile
|
|
68
|
+
|
|
65
69
|
def islink(self) -> bool:
|
|
66
70
|
"""Returns ``True`` if the path is a symbolic link."""
|
|
67
71
|
return os.path.islink(self)
|
|
68
72
|
|
|
73
|
+
is_symlink = islink
|
|
74
|
+
|
|
69
75
|
def ismount(self) -> bool:
|
|
70
76
|
"""Returns ``True`` if the path is a mount point."""
|
|
71
77
|
return os.path.ismount(self)
|
|
72
78
|
|
|
79
|
+
is_mount = ismount
|
|
80
|
+
|
|
73
81
|
def rmtree(
|
|
74
82
|
self,
|
|
75
83
|
ignore_errors: bool = False,
|
|
@@ -741,14 +741,6 @@ abbr, acronym {
|
|
|
741
741
|
cursor: help;
|
|
742
742
|
}
|
|
743
743
|
|
|
744
|
-
.translated {
|
|
745
|
-
background-color: rgba(207, 255, 207, 0.2)
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
.untranslated {
|
|
749
|
-
background-color: rgba(255, 207, 207, 0.2)
|
|
750
|
-
}
|
|
751
|
-
|
|
752
744
|
/* -- code displays --------------------------------------------------------- */
|
|
753
745
|
|
|
754
746
|
pre {
|
sphinx/util/_files.py
CHANGED
|
@@ -11,7 +11,7 @@ if TYPE_CHECKING:
|
|
|
11
11
|
from collections.abc import Set
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
class FilenameUniqDict(dict[str, tuple[set[str], str]]):
|
|
14
|
+
class FilenameUniqDict(dict[str, tuple[set[str], str]]): # NoQA: FURB189
|
|
15
15
|
"""A dictionary that automatically generates unique names for its keys,
|
|
16
16
|
interpreted as filenames, and keeps track of a set of docnames they
|
|
17
17
|
appear in. Used for images and downloadable files in the environment.
|
|
@@ -61,7 +61,7 @@ class FilenameUniqDict(dict[str, tuple[set[str], str]]):
|
|
|
61
61
|
self._existing = state
|
|
62
62
|
|
|
63
63
|
|
|
64
|
-
class DownloadFiles(dict[Path, tuple[set[str], _StrPath]]):
|
|
64
|
+
class DownloadFiles(dict[Path, tuple[set[str], _StrPath]]): # NoQA: FURB189
|
|
65
65
|
"""A special dictionary for download files.
|
|
66
66
|
|
|
67
67
|
.. important:: This class would be refactored in nearly future.
|
sphinx/util/fileutil.py
CHANGED
|
@@ -140,7 +140,8 @@ def copy_asset(
|
|
|
140
140
|
return
|
|
141
141
|
|
|
142
142
|
for root, dirs, files in os.walk(source, followlinks=True):
|
|
143
|
-
|
|
143
|
+
root_p = Path(root)
|
|
144
|
+
reldir = _relative_path(root_p, source).as_posix()
|
|
144
145
|
for dir in dirs.copy():
|
|
145
146
|
if excluded(posixpath.join(reldir, dir)):
|
|
146
147
|
dirs.remove(dir)
|
sphinx/util/osutil.py
CHANGED
|
@@ -177,9 +177,14 @@ def _relative_path(path: Path, root: Path, /) -> Path:
|
|
|
177
177
|
It returns the original path if *path* and *root* are on different drives,
|
|
178
178
|
which may happen on Windows.
|
|
179
179
|
"""
|
|
180
|
+
# Path.relative_to() requires fully-resolved paths (no '..').
|
|
181
|
+
if '..' in path.parts:
|
|
182
|
+
path = path.resolve()
|
|
183
|
+
if '..' in root.parts:
|
|
184
|
+
root = root.resolve()
|
|
185
|
+
|
|
180
186
|
if path.anchor != root.anchor or '..' in root.parts:
|
|
181
187
|
# If the drives are different, no relative path exists.
|
|
182
|
-
# Path.relative_to() requires fully-resolved paths (no '..').
|
|
183
188
|
return path
|
|
184
189
|
if sys.version_info[:2] < (3, 12):
|
|
185
190
|
return Path(os.path.relpath(path, root))
|
sphinx/writers/html5.py
CHANGED
|
@@ -906,8 +906,8 @@ class HTML5Translator(SphinxTranslator, BaseTranslator): # type: ignore[misc]
|
|
|
906
906
|
|
|
907
907
|
def visit_abbreviation(self, node: Element) -> None:
|
|
908
908
|
attrs = {}
|
|
909
|
-
if node.
|
|
910
|
-
attrs['title'] =
|
|
909
|
+
if explanation := node.get('explanation', ''):
|
|
910
|
+
attrs['title'] = explanation
|
|
911
911
|
self.body.append(self.starttag(node, 'abbr', '', **attrs))
|
|
912
912
|
|
|
913
913
|
def depart_abbreviation(self, node: Element) -> None:
|
sphinx/writers/latex.py
CHANGED
|
@@ -2082,11 +2082,12 @@ class LaTeXTranslator(SphinxTranslator):
|
|
|
2082
2082
|
self.body.append('}}')
|
|
2083
2083
|
|
|
2084
2084
|
def visit_abbreviation(self, node: Element) -> None:
|
|
2085
|
+
explanation = node.get('explanation', '')
|
|
2085
2086
|
abbr = node.astext()
|
|
2086
2087
|
self.body.append(r'\sphinxstyleabbreviation{')
|
|
2087
2088
|
# spell out the explanation once
|
|
2088
|
-
if
|
|
2089
|
-
self.context.append('} (%s)' % self.encode(
|
|
2089
|
+
if explanation and abbr not in self.handled_abbrs:
|
|
2090
|
+
self.context.append('} (%s)' % self.encode(explanation))
|
|
2090
2091
|
self.handled_abbrs.add(abbr)
|
|
2091
2092
|
else:
|
|
2092
2093
|
self.context.append('}')
|
sphinx/writers/texinfo.py
CHANGED
|
@@ -1537,10 +1537,11 @@ class TexinfoTranslator(SphinxTranslator):
|
|
|
1537
1537
|
pass
|
|
1538
1538
|
|
|
1539
1539
|
def visit_abbreviation(self, node: Element) -> None:
|
|
1540
|
+
explanation = node.get('explanation', '')
|
|
1540
1541
|
abbr = node.astext()
|
|
1541
1542
|
self.body.append('@abbr{')
|
|
1542
|
-
if
|
|
1543
|
-
self.context.append(',%s}' % self.escape_arg(
|
|
1543
|
+
if explanation and abbr not in self.handled_abbrs:
|
|
1544
|
+
self.context.append(',%s}' % self.escape_arg(explanation))
|
|
1544
1545
|
self.handled_abbrs.add(abbr)
|
|
1545
1546
|
else:
|
|
1546
1547
|
self.context.append('}')
|
sphinx/writers/text.py
CHANGED
|
@@ -1237,8 +1237,8 @@ class TextTranslator(SphinxTranslator):
|
|
|
1237
1237
|
self.add_text('')
|
|
1238
1238
|
|
|
1239
1239
|
def depart_abbreviation(self, node: Element) -> None:
|
|
1240
|
-
if node.
|
|
1241
|
-
self.add_text(' (
|
|
1240
|
+
if explanation := node.get('explanation', ''):
|
|
1241
|
+
self.add_text(f' ({explanation})')
|
|
1242
1242
|
|
|
1243
1243
|
def visit_manpage(self, node: Element) -> None:
|
|
1244
1244
|
return self.visit_literal_emphasis(node)
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: Sphinx
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.1
|
|
4
4
|
Summary: Python documentation generator
|
|
5
5
|
Author-email: Adam Turner <aa-turner@users.noreply.github.com>, Georg Brandl <georg@python.org>
|
|
6
6
|
Requires-Python: >=3.11
|
|
7
7
|
Description-Content-Type: text/x-rst
|
|
8
|
+
License-Expression: BSD-2-Clause
|
|
8
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
9
10
|
Classifier: Environment :: Console
|
|
10
11
|
Classifier: Environment :: Web Environment
|
|
@@ -15,7 +16,6 @@ Classifier: Intended Audience :: Information Technology
|
|
|
15
16
|
Classifier: Intended Audience :: Other Audience
|
|
16
17
|
Classifier: Intended Audience :: Science/Research
|
|
17
18
|
Classifier: Intended Audience :: System Administrators
|
|
18
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
19
19
|
Classifier: Operating System :: OS Independent
|
|
20
20
|
Classifier: Programming Language :: Python
|
|
21
21
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -50,6 +50,7 @@ Classifier: Topic :: Text Processing :: Markup :: reStructuredText
|
|
|
50
50
|
Classifier: Topic :: Text Processing :: Markup :: XML
|
|
51
51
|
Classifier: Topic :: Utilities
|
|
52
52
|
Classifier: Typing :: Typed
|
|
53
|
+
License-File: LICENSE.rst
|
|
53
54
|
Requires-Dist: sphinxcontrib-applehelp>=1.0.7
|
|
54
55
|
Requires-Dist: sphinxcontrib-devhelp>=1.0.6
|
|
55
56
|
Requires-Dist: sphinxcontrib-htmlhelp>=2.0.6
|
|
@@ -68,18 +69,20 @@ Requires-Dist: roman-numerals-py>=1.0.0
|
|
|
68
69
|
Requires-Dist: packaging>=23.0
|
|
69
70
|
Requires-Dist: colorama>=0.4.6; sys_platform == 'win32'
|
|
70
71
|
Requires-Dist: sphinxcontrib-websupport ; extra == "docs"
|
|
71
|
-
Requires-Dist: ruff==0.9.
|
|
72
|
+
Requires-Dist: ruff==0.9.7 ; extra == "lint"
|
|
72
73
|
Requires-Dist: mypy==1.15.0 ; extra == "lint"
|
|
73
74
|
Requires-Dist: sphinx-lint>=0.9 ; extra == "lint"
|
|
74
75
|
Requires-Dist: types-colorama==0.4.15.20240311 ; extra == "lint"
|
|
75
76
|
Requires-Dist: types-defusedxml==0.7.0.20240218 ; extra == "lint"
|
|
76
77
|
Requires-Dist: types-docutils==0.21.0.20241128 ; extra == "lint"
|
|
77
78
|
Requires-Dist: types-Pillow==10.2.0.20240822 ; extra == "lint"
|
|
78
|
-
Requires-Dist: types-Pygments==2.19.0.
|
|
79
|
+
Requires-Dist: types-Pygments==2.19.0.20250219 ; extra == "lint"
|
|
79
80
|
Requires-Dist: types-requests==2.32.0.20241016 ; extra == "lint"
|
|
80
81
|
Requires-Dist: types-urllib3==1.26.25.14 ; extra == "lint"
|
|
81
82
|
Requires-Dist: pyright==1.1.394 ; extra == "lint"
|
|
82
83
|
Requires-Dist: pytest>=8.0 ; extra == "lint"
|
|
84
|
+
Requires-Dist: pypi-attestations==0.0.21 ; extra == "lint"
|
|
85
|
+
Requires-Dist: betterproto==2.0.0b6 ; extra == "lint"
|
|
83
86
|
Requires-Dist: pytest>=8.0 ; extra == "test"
|
|
84
87
|
Requires-Dist: pytest-xdist[psutil]>=3.4 ; extra == "test"
|
|
85
88
|
Requires-Dist: defusedxml>=0.7.1 ; extra == "test"
|