Sphinx 7.4.5__py3-none-any.whl → 7.4.7__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/builders/html/__init__.py +4 -3
- sphinx/directives/__init__.py +14 -9
- sphinx/domains/javascript.py +1 -1
- sphinx/domains/python/__init__.py +1 -1
- sphinx/domains/python/_annotations.py +23 -1
- sphinx/ext/autodoc/__init__.py +8 -4
- sphinx/ext/autosummary/__init__.py +8 -1
- sphinx/ext/autosummary/generate.py +7 -10
- sphinx/ext/autosummary/templates/autosummary/module.rst +14 -14
- sphinx/locale/ta/LC_MESSAGES/sphinx.js +54 -54
- sphinx/locale/ta/LC_MESSAGES/sphinx.mo +0 -0
- sphinx/locale/ta/LC_MESSAGES/sphinx.po +1578 -1843
- sphinx/locale/zh_CN/LC_MESSAGES/sphinx.po +496 -704
- sphinx/util/fileutil.py +35 -8
- sphinx/util/inspect.py +1 -1
- sphinx/util/inventory.py +2 -2
- sphinx/util/osutil.py +24 -2
- sphinx/util/typing.py +36 -3
- {sphinx-7.4.5.dist-info → sphinx-7.4.7.dist-info}/METADATA +1 -1
- {sphinx-7.4.5.dist-info → sphinx-7.4.7.dist-info}/RECORD +24 -24
- {sphinx-7.4.5.dist-info → sphinx-7.4.7.dist-info}/LICENSE.rst +0 -0
- {sphinx-7.4.5.dist-info → sphinx-7.4.7.dist-info}/WHEEL +0 -0
- {sphinx-7.4.5.dist-info → sphinx-7.4.7.dist-info}/entry_points.txt +0 -0
sphinx/util/fileutil.py
CHANGED
|
@@ -8,12 +8,15 @@ from typing import TYPE_CHECKING, Any, Callable
|
|
|
8
8
|
|
|
9
9
|
from docutils.utils import relative_path
|
|
10
10
|
|
|
11
|
+
from sphinx.util import logging
|
|
11
12
|
from sphinx.util.osutil import copyfile, ensuredir
|
|
12
13
|
|
|
13
14
|
if TYPE_CHECKING:
|
|
14
15
|
from sphinx.util.template import BaseRenderer
|
|
15
16
|
from sphinx.util.typing import PathMatcher
|
|
16
17
|
|
|
18
|
+
logger = logging.getLogger(__name__)
|
|
19
|
+
|
|
17
20
|
|
|
18
21
|
def _template_basename(filename: str | os.PathLike[str]) -> str | None:
|
|
19
22
|
"""Given an input filename:
|
|
@@ -30,7 +33,8 @@ def _template_basename(filename: str | os.PathLike[str]) -> str | None:
|
|
|
30
33
|
|
|
31
34
|
def copy_asset_file(source: str | os.PathLike[str], destination: str | os.PathLike[str],
|
|
32
35
|
context: dict[str, Any] | None = None,
|
|
33
|
-
renderer: BaseRenderer | None = None
|
|
36
|
+
renderer: BaseRenderer | None = None,
|
|
37
|
+
*, __overwrite_warning__: bool = True) -> None:
|
|
34
38
|
"""Copy an asset file to destination.
|
|
35
39
|
|
|
36
40
|
On copying, it expands the template variables if context argument is given and
|
|
@@ -56,17 +60,38 @@ def copy_asset_file(source: str | os.PathLike[str], destination: str | os.PathLi
|
|
|
56
60
|
renderer = SphinxRenderer()
|
|
57
61
|
|
|
58
62
|
with open(source, encoding='utf-8') as fsrc:
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
63
|
+
template_content = fsrc.read()
|
|
64
|
+
rendered_template = renderer.render_string(template_content, context)
|
|
65
|
+
|
|
66
|
+
if (
|
|
67
|
+
__overwrite_warning__
|
|
68
|
+
and os.path.exists(destination)
|
|
69
|
+
and template_content != rendered_template
|
|
70
|
+
):
|
|
71
|
+
# Consider raising an error in Sphinx 8.
|
|
72
|
+
# Certainly make overwriting user content opt-in.
|
|
73
|
+
# xref: RemovedInSphinx80Warning
|
|
74
|
+
# xref: https://github.com/sphinx-doc/sphinx/issues/12096
|
|
75
|
+
msg = ('Copying the rendered template %s to %s will overwrite data, '
|
|
76
|
+
'as a file already exists at the destination path '
|
|
77
|
+
'and the content does not match.')
|
|
78
|
+
# See https://github.com/sphinx-doc/sphinx/pull/12627#issuecomment-2241144330
|
|
79
|
+
# for the rationale for logger.info().
|
|
80
|
+
logger.info(msg, os.fsdecode(source), os.fsdecode(destination),
|
|
81
|
+
type='misc', subtype='copy_overwrite')
|
|
82
|
+
|
|
83
|
+
destination = _template_basename(destination) or destination
|
|
84
|
+
with open(destination, 'w', encoding='utf-8') as fdst:
|
|
85
|
+
fdst.write(rendered_template)
|
|
62
86
|
else:
|
|
63
|
-
copyfile(source, destination)
|
|
87
|
+
copyfile(source, destination, __overwrite_warning__=__overwrite_warning__)
|
|
64
88
|
|
|
65
89
|
|
|
66
90
|
def copy_asset(source: str | os.PathLike[str], destination: str | os.PathLike[str],
|
|
67
91
|
excluded: PathMatcher = lambda path: False,
|
|
68
92
|
context: dict[str, Any] | None = None, renderer: BaseRenderer | None = None,
|
|
69
|
-
onerror: Callable[[str, Exception], None] | None = None
|
|
93
|
+
onerror: Callable[[str, Exception], None] | None = None,
|
|
94
|
+
*, __overwrite_warning__: bool = True) -> None:
|
|
70
95
|
"""Copy asset files to destination recursively.
|
|
71
96
|
|
|
72
97
|
On copying, it expands the template variables if context argument is given and
|
|
@@ -88,7 +113,8 @@ def copy_asset(source: str | os.PathLike[str], destination: str | os.PathLike[st
|
|
|
88
113
|
|
|
89
114
|
ensuredir(destination)
|
|
90
115
|
if os.path.isfile(source):
|
|
91
|
-
copy_asset_file(source, destination, context, renderer
|
|
116
|
+
copy_asset_file(source, destination, context, renderer,
|
|
117
|
+
__overwrite_warning__=__overwrite_warning__)
|
|
92
118
|
return
|
|
93
119
|
|
|
94
120
|
for root, dirs, files in os.walk(source, followlinks=True):
|
|
@@ -104,7 +130,8 @@ def copy_asset(source: str | os.PathLike[str], destination: str | os.PathLike[st
|
|
|
104
130
|
try:
|
|
105
131
|
copy_asset_file(posixpath.join(root, filename),
|
|
106
132
|
posixpath.join(destination, reldir),
|
|
107
|
-
context, renderer
|
|
133
|
+
context, renderer,
|
|
134
|
+
__overwrite_warning__=__overwrite_warning__)
|
|
108
135
|
except Exception as exc:
|
|
109
136
|
if onerror:
|
|
110
137
|
onerror(posixpath.join(root, filename), exc)
|
sphinx/util/inspect.py
CHANGED
|
@@ -652,7 +652,7 @@ def signature(
|
|
|
652
652
|
try:
|
|
653
653
|
# Resolve annotations using ``get_type_hints()`` and type_aliases.
|
|
654
654
|
localns = TypeAliasNamespace(type_aliases)
|
|
655
|
-
annotations = typing.get_type_hints(subject, None, localns)
|
|
655
|
+
annotations = typing.get_type_hints(subject, None, localns, include_extras=True)
|
|
656
656
|
for i, param in enumerate(parameters):
|
|
657
657
|
if param.name in annotations:
|
|
658
658
|
annotation = annotations[param.name]
|
sphinx/util/inventory.py
CHANGED
|
@@ -172,8 +172,8 @@ class InventoryFile:
|
|
|
172
172
|
inv_item: InventoryItem = projname, version, location, dispname
|
|
173
173
|
invdata.setdefault(type, {})[name] = inv_item
|
|
174
174
|
for ambiguity in actual_ambiguities:
|
|
175
|
-
logger.
|
|
176
|
-
|
|
175
|
+
logger.info(__("inventory <%s> contains multiple definitions for %s"),
|
|
176
|
+
uri, ambiguity, type='intersphinx', subtype='external')
|
|
177
177
|
return invdata
|
|
178
178
|
|
|
179
179
|
@classmethod
|
sphinx/util/osutil.py
CHANGED
|
@@ -88,7 +88,12 @@ def copytimes(source: str | os.PathLike[str], dest: str | os.PathLike[str]) -> N
|
|
|
88
88
|
os.utime(dest, (st.st_atime, st.st_mtime))
|
|
89
89
|
|
|
90
90
|
|
|
91
|
-
def copyfile(
|
|
91
|
+
def copyfile(
|
|
92
|
+
source: str | os.PathLike[str],
|
|
93
|
+
dest: str | os.PathLike[str],
|
|
94
|
+
*,
|
|
95
|
+
__overwrite_warning__: bool = True,
|
|
96
|
+
) -> None:
|
|
92
97
|
"""Copy a file and its modification times, if possible.
|
|
93
98
|
|
|
94
99
|
:param source: An existing source to copy.
|
|
@@ -101,7 +106,24 @@ def copyfile(source: str | os.PathLike[str], dest: str | os.PathLike[str]) -> No
|
|
|
101
106
|
msg = f'{os.fsdecode(source)} does not exist'
|
|
102
107
|
raise FileNotFoundError(msg)
|
|
103
108
|
|
|
104
|
-
if
|
|
109
|
+
if (
|
|
110
|
+
not (dest_exists := path.exists(dest)) or
|
|
111
|
+
# comparison must be done using shallow=False since
|
|
112
|
+
# two different files might have the same size
|
|
113
|
+
not filecmp.cmp(source, dest, shallow=False)
|
|
114
|
+
):
|
|
115
|
+
if __overwrite_warning__ and dest_exists:
|
|
116
|
+
# sphinx.util.logging imports sphinx.util.osutil,
|
|
117
|
+
# so use a local import to avoid circular imports
|
|
118
|
+
from sphinx.util import logging
|
|
119
|
+
logger = logging.getLogger(__name__)
|
|
120
|
+
|
|
121
|
+
msg = ('Copying the source path %s to %s will overwrite data, '
|
|
122
|
+
'as a file already exists at the destination path '
|
|
123
|
+
'and the content does not match.')
|
|
124
|
+
logger.info(msg, os.fsdecode(source), os.fsdecode(dest),
|
|
125
|
+
type='misc', subtype='copy_overwrite')
|
|
126
|
+
|
|
105
127
|
shutil.copyfile(source, dest)
|
|
106
128
|
with contextlib.suppress(OSError):
|
|
107
129
|
# don't do full copystat because the source may be read-only
|
sphinx/util/typing.py
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
import dataclasses
|
|
5
6
|
import sys
|
|
6
7
|
import types
|
|
7
8
|
import typing
|
|
@@ -157,6 +158,7 @@ def get_type_hints(
|
|
|
157
158
|
obj: Any,
|
|
158
159
|
globalns: dict[str, Any] | None = None,
|
|
159
160
|
localns: dict[str, Any] | None = None,
|
|
161
|
+
include_extras: bool = False,
|
|
160
162
|
) -> dict[str, Any]:
|
|
161
163
|
"""Return a dictionary containing type hints for a function, method, module or class
|
|
162
164
|
object.
|
|
@@ -167,7 +169,7 @@ def get_type_hints(
|
|
|
167
169
|
from sphinx.util.inspect import safe_getattr # lazy loading
|
|
168
170
|
|
|
169
171
|
try:
|
|
170
|
-
return typing.get_type_hints(obj, globalns, localns)
|
|
172
|
+
return typing.get_type_hints(obj, globalns, localns, include_extras=include_extras)
|
|
171
173
|
except NameError:
|
|
172
174
|
# Failed to evaluate ForwardRef (maybe TYPE_CHECKING)
|
|
173
175
|
return safe_getattr(obj, '__annotations__', {})
|
|
@@ -267,7 +269,20 @@ def restify(cls: Any, mode: _RestifyMode = 'fully-qualified-except-typing') -> s
|
|
|
267
269
|
return f':py:class:`{module_prefix}{_INVALID_BUILTIN_CLASSES[cls]}`'
|
|
268
270
|
elif _is_annotated_form(cls):
|
|
269
271
|
args = restify(cls.__args__[0], mode)
|
|
270
|
-
|
|
272
|
+
meta_args = []
|
|
273
|
+
for m in cls.__metadata__:
|
|
274
|
+
if isinstance(m, type):
|
|
275
|
+
meta_args.append(restify(m, mode))
|
|
276
|
+
elif dataclasses.is_dataclass(m):
|
|
277
|
+
# use restify for the repr of field values rather than repr
|
|
278
|
+
d_fields = ', '.join([
|
|
279
|
+
fr"{f.name}=\ {restify(getattr(m, f.name), mode)}"
|
|
280
|
+
for f in dataclasses.fields(m) if f.repr
|
|
281
|
+
])
|
|
282
|
+
meta_args.append(fr'{restify(type(m), mode)}\ ({d_fields})')
|
|
283
|
+
else:
|
|
284
|
+
meta_args.append(repr(m))
|
|
285
|
+
meta = ', '.join(meta_args)
|
|
271
286
|
if sys.version_info[:2] <= (3, 11):
|
|
272
287
|
# Hardcoded to fix errors on Python 3.11 and earlier.
|
|
273
288
|
return fr':py:class:`~typing.Annotated`\ [{args}, {meta}]'
|
|
@@ -510,7 +525,25 @@ def stringify_annotation(
|
|
|
510
525
|
return f'{module_prefix}Literal[{args}]'
|
|
511
526
|
elif _is_annotated_form(annotation): # for py39+
|
|
512
527
|
args = stringify_annotation(annotation_args[0], mode)
|
|
513
|
-
|
|
528
|
+
meta_args = []
|
|
529
|
+
for m in annotation.__metadata__:
|
|
530
|
+
if isinstance(m, type):
|
|
531
|
+
meta_args.append(stringify_annotation(m, mode))
|
|
532
|
+
elif dataclasses.is_dataclass(m):
|
|
533
|
+
# use stringify_annotation for the repr of field values rather than repr
|
|
534
|
+
d_fields = ', '.join([
|
|
535
|
+
f"{f.name}={stringify_annotation(getattr(m, f.name), mode)}"
|
|
536
|
+
for f in dataclasses.fields(m) if f.repr
|
|
537
|
+
])
|
|
538
|
+
meta_args.append(f'{stringify_annotation(type(m), mode)}({d_fields})')
|
|
539
|
+
else:
|
|
540
|
+
meta_args.append(repr(m))
|
|
541
|
+
meta = ', '.join(meta_args)
|
|
542
|
+
if sys.version_info[:2] <= (3, 9):
|
|
543
|
+
if mode == 'smart':
|
|
544
|
+
return f'~typing.Annotated[{args}, {meta}]'
|
|
545
|
+
if mode == 'fully-qualified':
|
|
546
|
+
return f'typing.Annotated[{args}, {meta}]'
|
|
514
547
|
if sys.version_info[:2] <= (3, 11):
|
|
515
548
|
if mode == 'fully-qualified-except-typing':
|
|
516
549
|
return f'Annotated[{args}, {meta}]'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
sphinx/__init__.py,sha256=
|
|
1
|
+
sphinx/__init__.py,sha256=n_3UX2bosIUYD6ZrQj7qrFlxFUMGyoi3yjcppOJ6NqI,1690
|
|
2
2
|
sphinx/__main__.py,sha256=wIifwXlZHdi4gtQmkJ6KF0BsflvD9o0Wd5nARTdJc8A,127
|
|
3
3
|
sphinx/addnodes.py,sha256=EQTIi9Zta6DaNa-2WGE3l9AVjdp7WzwwrfwRnax8vXE,18707
|
|
4
4
|
sphinx/application.py,sha256=5QXM7tYRt1s4q00GHPtAK2EIxu6G_UkzMB3MOKOkuUI,57793
|
|
@@ -35,7 +35,7 @@ sphinx/builders/singlehtml.py,sha256=mYsB_J5AOi7wEswNbH0v5XXZnmZkBmLRHJaQtz_nB-c
|
|
|
35
35
|
sphinx/builders/texinfo.py,sha256=cROws1DmYPp4-_uD62Ryu7Vn5Kv-JYIH1YCCm-_SRWU,9804
|
|
36
36
|
sphinx/builders/text.py,sha256=YCNWggEL5GCjh5lQLT8z_NgVZdMYAHtAHfGAoUAvT0w,2996
|
|
37
37
|
sphinx/builders/xml.py,sha256=SIblnQLGGzTPTv4xnFFy-Sf66YxP9q1n-28yoVajWhA,3901
|
|
38
|
-
sphinx/builders/html/__init__.py,sha256=
|
|
38
|
+
sphinx/builders/html/__init__.py,sha256=kOffuQXanz5_vJghdp4hb3t0QLDHeLHxx3BRQaO84qM,59920
|
|
39
39
|
sphinx/builders/html/_assets.py,sha256=9GhVCpJDTD17WzZavhONH9kqOEGS9glD62kBQ16jLeA,5599
|
|
40
40
|
sphinx/builders/html/transforms.py,sha256=DhIabbXbvZM8lrT9AvKJb9JoawsmEt__DhpoeXA8Yvw,2597
|
|
41
41
|
sphinx/builders/latex/__init__.py,sha256=fQvWHt7EuFFQBghaD2_TCwEBaheQKkFbxKu9GIP4lWU,24497
|
|
@@ -48,7 +48,7 @@ sphinx/cmd/__init__.py,sha256=X5XI0lk1-VMeBM6fjCLYc-a_094wd9KyOSKIjpXwge4,44
|
|
|
48
48
|
sphinx/cmd/build.py,sha256=Ysqb1Bw16t3pFQQYTE1MubuDgMU9jgNSyNLglGobLhU,15814
|
|
49
49
|
sphinx/cmd/make_mode.py,sha256=zyQrCH8tWPT2ifwDB5_Wm_H8MSwpQnh1Wg-F-LNrmco,7057
|
|
50
50
|
sphinx/cmd/quickstart.py,sha256=XxF1hMsn7H0VZGy64yLEbTTSFc9ZANZHWIvEk21GOUE,24247
|
|
51
|
-
sphinx/directives/__init__.py,sha256=
|
|
51
|
+
sphinx/directives/__init__.py,sha256=ql28VHzQ6qisUHIuuTrnJmsFZo_U3OXwvUmlhhmOxug,15335
|
|
52
52
|
sphinx/directives/code.py,sha256=yTy4GsZZ6PYKdnhysJpEj3eYRIpDEoYIsWtm9io59p8,18264
|
|
53
53
|
sphinx/directives/other.py,sha256=IMVRQyPT_zkU34V4A9pdsR8S4HnryoJutYCpt4LnFh8,16492
|
|
54
54
|
sphinx/directives/patches.py,sha256=cK4KPUe1U7MOOxQzXshAJEMPKnpG5_T-7Ch5pOB5PXs,7801
|
|
@@ -56,7 +56,7 @@ sphinx/domains/__init__.py,sha256=LLaAZAn0984o2LSYH_UZcEdndE9azmNUDALae74nuRE,15
|
|
|
56
56
|
sphinx/domains/changeset.py,sha256=J9LWgh2dtBAXbX6L3a4J8YB3-wA62AMS1GolKTQsWJ0,5692
|
|
57
57
|
sphinx/domains/citation.py,sha256=G9i8IYsR1tsGfAln7Z9Z_wNL2FDM2sXbWgTojxN_77I,5767
|
|
58
58
|
sphinx/domains/index.py,sha256=3eHbatgPlpfeEbJtqQ6HfBQlEFSem9rYG8fdMUExypU,4266
|
|
59
|
-
sphinx/domains/javascript.py,sha256=
|
|
59
|
+
sphinx/domains/javascript.py,sha256=LzjdqMlC8Bwz_x_buCiV7wERVKkfhXGlGe1kJ1ZjCTY,19194
|
|
60
60
|
sphinx/domains/math.py,sha256=OJF3eKEZWGtR4zIQha3l_txUBUxEsrD1nHQc-HDDqNk,5728
|
|
61
61
|
sphinx/domains/rst.py,sha256=HEd973tJlD8OXrg1Mmyufq9eed9M_W4utwtCHwDnhDY,10693
|
|
62
62
|
sphinx/domains/c/__init__.py,sha256=xa8hn_dBre4oL9UD7VIVOLEEKwQwcmyGMv0u1ksxzG0,32679
|
|
@@ -69,8 +69,8 @@ sphinx/domains/cpp/_ast.py,sha256=GeM5V5UobeKgmycesZqwcZqSoWmTxWk3h_g8rFQA2lI,16
|
|
|
69
69
|
sphinx/domains/cpp/_ids.py,sha256=-h42RrmFnuq4AyZ0EVHtAk_H_9Umrca24Tu-w73TKCw,18028
|
|
70
70
|
sphinx/domains/cpp/_parser.py,sha256=EaKoUzpUgZnAFKZYfOBl_-Iw8z2LdYxfZtdWglpSE3Q,88250
|
|
71
71
|
sphinx/domains/cpp/_symbol.py,sha256=0aiZMW2Lsn4Fiw3PCMT42u6zb9JZ52JbaGuAspp9DQk,48863
|
|
72
|
-
sphinx/domains/python/__init__.py,sha256=
|
|
73
|
-
sphinx/domains/python/_annotations.py,sha256=
|
|
72
|
+
sphinx/domains/python/__init__.py,sha256=bOD71LelNZKkgutWktS8ju7qoz714__cv1VpPTGlvmM,35415
|
|
73
|
+
sphinx/domains/python/_annotations.py,sha256=cO7U8JvRcKX1CObNlZrO57UcuhfTNRnczOHmVZiMixo,23388
|
|
74
74
|
sphinx/domains/python/_object.py,sha256=5DjvYfjQwmJToudJQNSogfP4LIAMU8fp6rd-Xe6nhzY,17011
|
|
75
75
|
sphinx/domains/std/__init__.py,sha256=gXNUycqNBSeFBXg89WStSk9pZsvaS6BuDtTBee-DWoM,49514
|
|
76
76
|
sphinx/environment/__init__.py,sha256=8078TrLXUERa0RbBBLZxwPDndYqhqTZNrwlL2zwzj6A,32545
|
|
@@ -101,18 +101,18 @@ sphinx/ext/linkcode.py,sha256=x4Ku-cssPT771pj5Rp966kPSK20hq06O9pf03asl2lk,2352
|
|
|
101
101
|
sphinx/ext/mathjax.py,sha256=ezbvP5pqDlTHhNwhGHj_sbquVLLqM2_8Th5YMIqIOWU,5408
|
|
102
102
|
sphinx/ext/todo.py,sha256=xjoaguKakr0Xe6IMZASlCRD7YAlqCaHnK8KYtNL7Z-U,8327
|
|
103
103
|
sphinx/ext/viewcode.py,sha256=KwmggBvSO0OK9w-WHDPKzG3SLsYNdN9xuJkb7xl8goQ,13792
|
|
104
|
-
sphinx/ext/autodoc/__init__.py,sha256=
|
|
104
|
+
sphinx/ext/autodoc/__init__.py,sha256=ue4kKqh6KkS9UinsnM_Ld-UwXuL0m0lH4YRsRO0K37s,117180
|
|
105
105
|
sphinx/ext/autodoc/directive.py,sha256=IqDLJnc91_SxqlQkBR2yGoK_ewTzCjGwozCY0eP5HHY,5833
|
|
106
106
|
sphinx/ext/autodoc/importer.py,sha256=RM8dL4e3dcXIooTg2guvEBcjYzd5lak8_QrGNiHgjEI,15841
|
|
107
107
|
sphinx/ext/autodoc/mock.py,sha256=qMGXSS0-s4ODVC8u0Ao9-TSTqbw2Nhcg3ZuQhBcl9dc,6049
|
|
108
108
|
sphinx/ext/autodoc/preserve_defaults.py,sha256=eimSeG8656Z9KpCTuOKmbbASWLIDLbVUkverJDqOHJM,7121
|
|
109
109
|
sphinx/ext/autodoc/type_comment.py,sha256=FclaU566JP0ly2k0XupMi9efnBKWiW1Zoc9L1cQdliI,5422
|
|
110
110
|
sphinx/ext/autodoc/typehints.py,sha256=LIO8sgLCCdvJAnmM5OSPQQHStwUa5igjZgnu803Fy4Q,7973
|
|
111
|
-
sphinx/ext/autosummary/__init__.py,sha256=
|
|
112
|
-
sphinx/ext/autosummary/generate.py,sha256=
|
|
111
|
+
sphinx/ext/autosummary/__init__.py,sha256=ZjH15H5z4auCQ45CsgvUiCUN1lQKXlOCtnUHlxSI9_g,32094
|
|
112
|
+
sphinx/ext/autosummary/generate.py,sha256=q0n46AAiwCAwELSZ-pecEvL8OJFpLp3CISDKlXMMQkU,28199
|
|
113
113
|
sphinx/ext/autosummary/templates/autosummary/base.rst,sha256=AfG9oeDMTKBsBf2lUKr-NolOeV7ImT_JrKG3KQkEGzE,106
|
|
114
114
|
sphinx/ext/autosummary/templates/autosummary/class.rst,sha256=1uu4SSX9KRCeNlcr7FMRZ-DrPuW7E6tQ7QZC1asnAL0,553
|
|
115
|
-
sphinx/ext/autosummary/templates/autosummary/module.rst,sha256=
|
|
115
|
+
sphinx/ext/autosummary/templates/autosummary/module.rst,sha256=HuEHeghiPzJ5jgDNy3_3vZ7De-AtWZjgYx_57LrP9tM,1085
|
|
116
116
|
sphinx/ext/intersphinx/__init__.py,sha256=olSC7q5eSOaQ_hFv_YRMlUd4fVFzMaotspUCfc198_U,2675
|
|
117
117
|
sphinx/ext/intersphinx/__main__.py,sha256=zapvRzIUEUskvRfaYkf0okrNxPVL2rMWso4NvHOsz7g,218
|
|
118
118
|
sphinx/ext/intersphinx/_cli.py,sha256=pcq57fnqtKa_MO3Hl4KbvkKsaDhyJofYqrKVcQh_WeQ,1440
|
|
@@ -292,9 +292,9 @@ sphinx/locale/sr_RS/LC_MESSAGES/sphinx.po,sha256=3CiWkDY6uvDbOc2qo5qXVVzVFVGJssJ
|
|
|
292
292
|
sphinx/locale/sv/LC_MESSAGES/sphinx.js,sha256=sYbEozwp12g5BpvZ1epVdXQeVsBOe4crC7AXxg8VWqI,3261
|
|
293
293
|
sphinx/locale/sv/LC_MESSAGES/sphinx.mo,sha256=gOy1O97wEJUf700KSm0C59hRdvzEwMT1h0JEzSexsi8,6376
|
|
294
294
|
sphinx/locale/sv/LC_MESSAGES/sphinx.po,sha256=yZgPt7EzTRmzeX99MVDj14pzZ8T2tatS6ti_YjOP76I,93284
|
|
295
|
-
sphinx/locale/ta/LC_MESSAGES/sphinx.js,sha256=
|
|
296
|
-
sphinx/locale/ta/LC_MESSAGES/sphinx.mo,sha256=
|
|
297
|
-
sphinx/locale/ta/LC_MESSAGES/sphinx.po,sha256=
|
|
295
|
+
sphinx/locale/ta/LC_MESSAGES/sphinx.js,sha256=Z_VSkp6AQYsRsJceRKXMWp8pxxizmTbxCMbU3GLrxH0,2300
|
|
296
|
+
sphinx/locale/ta/LC_MESSAGES/sphinx.mo,sha256=ZNLx56n-dKayAnZvnUqT4UhZ2IIvTYFv-ajKZ-LYKkw,647
|
|
297
|
+
sphinx/locale/ta/LC_MESSAGES/sphinx.po,sha256=tuMT-0MUfi38EobuWb79Cn-e98FXinhM6yyf-tT6Uz8,84381
|
|
298
298
|
sphinx/locale/te/LC_MESSAGES/sphinx.js,sha256=Xla07Tz_nhkxy7nQ7LRuL4dbA7KYk73gmACHGJSYwSI,2301
|
|
299
299
|
sphinx/locale/te/LC_MESSAGES/sphinx.mo,sha256=aaMwmnaL4ZhtTvJ_eI-hgQNljSOEti12Y-Zzp270Cew,489
|
|
300
300
|
sphinx/locale/te/LC_MESSAGES/sphinx.po,sha256=GSQ70s6Jal4YQdXr57R2qIYyaWxpsjdLejW-BUgOQ04,91440
|
|
@@ -315,7 +315,7 @@ sphinx/locale/yue/LC_MESSAGES/sphinx.mo,sha256=Qz2gEm8_iqiOU6t-MdRSpSWzchwb1IbFv
|
|
|
315
315
|
sphinx/locale/yue/LC_MESSAGES/sphinx.po,sha256=fTInWiPcbMOzTkNCgpMxdHvuDoUZnortWl1VX5tcYu8,91438
|
|
316
316
|
sphinx/locale/zh_CN/LC_MESSAGES/sphinx.js,sha256=Ms4qOciN2sxV8xmIBFKsXOQEfcXf-GfhQ6kHsbkHPVs,4318
|
|
317
317
|
sphinx/locale/zh_CN/LC_MESSAGES/sphinx.mo,sha256=I7m3GDvtssnuSn4veCuX9tEOqnI_b6NZcMwbhB9XyNE,73260
|
|
318
|
-
sphinx/locale/zh_CN/LC_MESSAGES/sphinx.po,sha256=
|
|
318
|
+
sphinx/locale/zh_CN/LC_MESSAGES/sphinx.po,sha256=w8pU8agHA3FVklqO64Vap5vP6eiJXWGfQOOr1tvenGM,116867
|
|
319
319
|
sphinx/locale/zh_HK/LC_MESSAGES/sphinx.js,sha256=ZbQAiim_q3ynWkqeCt0-eZART7CoNZXDi4URAaJFyzo,2302
|
|
320
320
|
sphinx/locale/zh_HK/LC_MESSAGES/sphinx.mo,sha256=HOnr3tkv1EyLcegD9C0Xs03SYmACPjzAStcts7WjbN4,501
|
|
321
321
|
sphinx/locale/zh_HK/LC_MESSAGES/sphinx.po,sha256=eTObc-T9K2fT825zwk9xpwCxERDYT_IbwzLCQCpLUGQ,91452
|
|
@@ -555,18 +555,18 @@ sphinx/util/docfields.py,sha256=WIrmB3z4B1fsE7IGoRU9f7fB526HnOHFuBTb27Qz4m8,1697
|
|
|
555
555
|
sphinx/util/docstrings.py,sha256=g__pCkpIBjCew6rP6ytJAYXgTKMKxjTdUDOaF2EDqCs,2944
|
|
556
556
|
sphinx/util/docutils.py,sha256=A-msKRFgAD7UD-D6F-w4o9nKegHF0cX7fLuaF5MFsM0,24180
|
|
557
557
|
sphinx/util/exceptions.py,sha256=_ZcjI6sTQv0bLlkBu5XsD_QwUHphjKKq17391azKs7c,2010
|
|
558
|
-
sphinx/util/fileutil.py,sha256=
|
|
558
|
+
sphinx/util/fileutil.py,sha256=2JhqHXuNucc9lQB0siM51b-Dcrpc16PDmh5mdw1G4rI,5663
|
|
559
559
|
sphinx/util/http_date.py,sha256=j9jvARRJrYjuIK_oR4H4dLyeCeZIDaOGCQz-8FDpufg,1626
|
|
560
560
|
sphinx/util/i18n.py,sha256=K5smw0FQ3Hkr4Bp17o2BQRMK-8s76edJPsdWgLT5AFM,10542
|
|
561
561
|
sphinx/util/images.py,sha256=Y5Oy1M_BD6HRsUyWFQ2DvvCL4VDOFHDPZxtYnO8QEfM,3701
|
|
562
562
|
sphinx/util/index_entries.py,sha256=wEa55m_tez3UFNFEVuIesEQKWavANQ2O-l86k1If0sY,986
|
|
563
|
-
sphinx/util/inspect.py,sha256=
|
|
564
|
-
sphinx/util/inventory.py,sha256=
|
|
563
|
+
sphinx/util/inspect.py,sha256=QfyFfg7OwDEG8PnvxROOJAUYDQFJtLgdDqBep91Mh4w,33098
|
|
564
|
+
sphinx/util/inventory.py,sha256=Mo9JGfs-4hFv8l94-w53L5uarrSMdWiagPCWjCeafI4,7967
|
|
565
565
|
sphinx/util/logging.py,sha256=WokXNrpfjX7kekEE6N59MitS23DzdCpyEw0GTiQovug,20542
|
|
566
566
|
sphinx/util/matching.py,sha256=pywT5EKjUUJ-PX4H6mm-LA3f37AvYfxwEpraHHrhVsI,5368
|
|
567
567
|
sphinx/util/math.py,sha256=GuBqbvunQfOE2JpxjFsUoWwujDhWaYELczJIyNGzLhE,1984
|
|
568
568
|
sphinx/util/nodes.py,sha256=X9mpo0MiLEWcYYDIDY5zUWnQwBIQYzfGj-TgP5loQMM,24638
|
|
569
|
-
sphinx/util/osutil.py,sha256=
|
|
569
|
+
sphinx/util/osutil.py,sha256=JdPBSyyHMfBQ_X8yWnRtYBg7UGfx8hqyj8o46A7XzGE,7836
|
|
570
570
|
sphinx/util/parallel.py,sha256=PActfjRJU0-NNqAgfuuVsyQc7mXiowuPLYwXYaAa7HI,5272
|
|
571
571
|
sphinx/util/parsing.py,sha256=3F3mbV2OjHLUnrU2trwQxKabfk_x0c8_onCKGNDNUJk,3321
|
|
572
572
|
sphinx/util/png.py,sha256=78SpKyEuQTlaHXIpnHZ3kDaTQZqhNivGcW7KXbrG7Ns,1445
|
|
@@ -575,7 +575,7 @@ sphinx/util/rst.py,sha256=YY2Wk4Pn1vNQAi1iDjUCYeBYGutYYo4curTpdsVcyKE,3585
|
|
|
575
575
|
sphinx/util/tags.py,sha256=K6tiZhx-V60aKZ4Z3ie5kasMYGGV_WPUTq8ncWlWnJM,3927
|
|
576
576
|
sphinx/util/template.py,sha256=jxQgY24NYYfMc1M951DKQn2oSk0-wxEGqKBPR98eRbc,5146
|
|
577
577
|
sphinx/util/texescape.py,sha256=eGHE_GX732SVeSHcmprXbOa2euwNh37kREwWPTY1hvY,5442
|
|
578
|
-
sphinx/util/typing.py,sha256=
|
|
578
|
+
sphinx/util/typing.py,sha256=mkIMB6zhULCUUomUJ0E-2sZGecY10sJWoj1c_y1FA-w,24259
|
|
579
579
|
sphinx/writers/__init__.py,sha256=efGdnx4MWlPEDzXACf4Q18Oi3GTyY5Ob14I_j3XXtXc,31
|
|
580
580
|
sphinx/writers/html.py,sha256=ptitqWUkA4wnY0HuPIjy1GuKG4cOPCuPlAdH7aMRhyg,1604
|
|
581
581
|
sphinx/writers/html5.py,sha256=KmE-WAPcIX1laEHXBX2H8zRwCDC66vGzys_32UV5yM4,37671
|
|
@@ -584,8 +584,8 @@ sphinx/writers/manpage.py,sha256=iLoC4i81W52dTl8Kpug65CV1M7cCz1buGgsN7FhazYo,162
|
|
|
584
584
|
sphinx/writers/texinfo.py,sha256=UU3Zrt-zBgdwYgqj4BJFNthggzMr_Gllx2ewBeWrkcI,53451
|
|
585
585
|
sphinx/writers/text.py,sha256=HEiYXsWXO9QVOazg2V3D0ehGTnK38dAtYP9v0rst684,42964
|
|
586
586
|
sphinx/writers/xml.py,sha256=NyDl82hCFSRiHrCZV6vBfn4AsAyXH6khtSJEfhOX8a0,1502
|
|
587
|
-
sphinx-7.4.
|
|
588
|
-
sphinx-7.4.
|
|
589
|
-
sphinx-7.4.
|
|
590
|
-
sphinx-7.4.
|
|
591
|
-
sphinx-7.4.
|
|
587
|
+
sphinx-7.4.7.dist-info/entry_points.txt,sha256=KU_c9jqXj7yyZylSz11XRIXG3gAZApQa0d5DmcfyA7M,188
|
|
588
|
+
sphinx-7.4.7.dist-info/LICENSE.rst,sha256=HdZPUFcmQaLySBc9fKvRC5aOUNkxL9Gz5py0p6XGDk4,3135
|
|
589
|
+
sphinx-7.4.7.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
|
|
590
|
+
sphinx-7.4.7.dist-info/METADATA,sha256=_w_jjP5ymKO_Z-vyWP8OKaEexA863gpcsZrd0-roucI,6113
|
|
591
|
+
sphinx-7.4.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|