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 CHANGED
@@ -1,6 +1,6 @@
1
1
  """The Sphinx documentation toolchain."""
2
2
 
3
- __version__ = '7.4.5'
3
+ __version__ = '7.4.7'
4
4
  __display_version__ = __version__ # used for command line version
5
5
 
6
6
  # Keep this file executable as-is in Python 3!
@@ -27,7 +27,7 @@ warnings.filterwarnings(
27
27
  #:
28
28
  #: .. versionadded:: 1.2
29
29
  #: Before version 1.2, check the string ``sphinx.__version__``.
30
- version_info = (7, 4, 5, 'final', 0)
30
+ version_info = (7, 4, 7, 'final', 0)
31
31
 
32
32
  package_dir = os.path.abspath(os.path.dirname(__file__))
33
33
 
@@ -815,8 +815,8 @@ class StandaloneHTMLBuilder(Builder):
815
815
 
816
816
  def copy_theme_static_files(self, context: dict[str, Any]) -> None:
817
817
  def onerror(filename: str, error: Exception) -> None:
818
- logger.warning(__('Failed to copy a file in html_static_file: %s: %r'),
819
- filename, error)
818
+ msg = __("Failed to copy a file in the theme's 'static' directory: %s: %r")
819
+ logger.warning(msg, filename, error)
820
820
 
821
821
  if self.theme:
822
822
  for entry in reversed(self.theme.get_theme_dirs()):
@@ -1142,7 +1142,8 @@ class StandaloneHTMLBuilder(Builder):
1142
1142
  source_name = path.join(self.outdir, '_sources',
1143
1143
  os_path(ctx['sourcename']))
1144
1144
  ensuredir(path.dirname(source_name))
1145
- copyfile(self.env.doc2path(pagename), source_name)
1145
+ copyfile(self.env.doc2path(pagename), source_name,
1146
+ __overwrite_warning__=False)
1146
1147
 
1147
1148
  def update_page_context(self, pagename: str, templatename: str,
1148
1149
  ctx: dict[str, Any], event_arg: Any) -> None:
@@ -220,21 +220,26 @@ class ObjectDescription(SphinxDirective, Generic[ObjDescT]):
220
220
  node['domain'] = self.domain
221
221
  # 'desctype' is a backwards compatible attribute
222
222
  node['objtype'] = node['desctype'] = self.objtype
223
+
224
+ # Copy old option names to new ones
225
+ # xref RemovedInSphinx90Warning
226
+ # deprecate noindex, noindexentry, and nocontentsentry in Sphinx 9.0
227
+ if 'no-index' not in self.options and 'noindex' in self.options:
228
+ self.options['no-index'] = self.options['noindex']
229
+ if 'no-index-entry' not in self.options and 'noindexentry' in self.options:
230
+ self.options['no-index-entry'] = self.options['noindexentry']
231
+ if 'no-contents-entry' not in self.options and 'nocontentsentry' in self.options:
232
+ self.options['no-contents-entry'] = self.options['nocontentsentry']
233
+
223
234
  node['no-index'] = node['noindex'] = no_index = (
224
235
  'no-index' in self.options
225
- # xref RemovedInSphinx90Warning
226
- # deprecate noindex in Sphinx 9.0
227
- or 'noindex' in self.options)
236
+ )
228
237
  node['no-index-entry'] = node['noindexentry'] = (
229
238
  'no-index-entry' in self.options
230
- # xref RemovedInSphinx90Warning
231
- # deprecate noindexentry in Sphinx 9.0
232
- or 'noindexentry' in self.options)
239
+ )
233
240
  node['no-contents-entry'] = node['nocontentsentry'] = (
234
241
  'no-contents-entry' in self.options
235
- # xref RemovedInSphinx90Warning
236
- # deprecate nocontentsentry in Sphinx 9.0
237
- or 'nocontentsentry' in self.options)
242
+ )
238
243
  node['no-typesetting'] = ('no-typesetting' in self.options)
239
244
  if self.domain:
240
245
  node['classes'].append(self.domain)
@@ -309,7 +309,7 @@ class JSModule(SphinxDirective):
309
309
  def run(self) -> list[Node]:
310
310
  mod_name = self.arguments[0].strip()
311
311
  self.env.ref_context['js:module'] = mod_name
312
- no_index = 'no-index' in self.options or 'noindex' in self.options
312
+ no_index = 'no-index' in self.options
313
313
 
314
314
  content_nodes = self.parse_content_to_nodes(allow_section_headings=True)
315
315
 
@@ -452,7 +452,7 @@ class PyModule(SphinxDirective):
452
452
  domain = cast(PythonDomain, self.env.get_domain('py'))
453
453
 
454
454
  modname = self.arguments[0].strip()
455
- no_index = 'no-index' in self.options or 'noindex' in self.options
455
+ no_index = 'no-index' in self.options
456
456
  self.env.ref_context['py:module'] = modname
457
457
 
458
458
  content_nodes = self.parse_content_to_nodes(allow_section_headings=True)
@@ -161,7 +161,29 @@ def _parse_annotation(annotation: str, env: BuildEnvironment) -> list[Node]:
161
161
  addnodes.desc_sig_punctuation('', ')')]
162
162
 
163
163
  return result
164
- raise SyntaxError # unsupported syntax
164
+ if isinstance(node, ast.Call):
165
+ # Call nodes can be used in Annotated type metadata,
166
+ # for example Annotated[str, ArbitraryTypeValidator(str, len=10)]
167
+ args = []
168
+ for arg in node.args:
169
+ args += unparse(arg)
170
+ args.append(addnodes.desc_sig_punctuation('', ','))
171
+ args.append(addnodes.desc_sig_space())
172
+ for kwd in node.keywords:
173
+ args.append(addnodes.desc_sig_name(kwd.arg, kwd.arg)) # type: ignore[arg-type]
174
+ args.append(addnodes.desc_sig_operator('', '='))
175
+ args += unparse(kwd.value)
176
+ args.append(addnodes.desc_sig_punctuation('', ','))
177
+ args.append(addnodes.desc_sig_space())
178
+ result = [
179
+ *unparse(node.func),
180
+ addnodes.desc_sig_punctuation('', '('),
181
+ *args[:-2], # skip the final comma and space
182
+ addnodes.desc_sig_punctuation('', ')'),
183
+ ]
184
+ return result
185
+ msg = f'unsupported syntax: {node}'
186
+ raise SyntaxError(msg) # unsupported syntax
165
187
 
166
188
  def _unparse_pep_604_annotation(node: ast.Subscript) -> list[Node]:
167
189
  subscript = node.slice
@@ -2008,7 +2008,8 @@ class UninitializedGlobalVariableMixin(DataDocumenterMixinBase):
2008
2008
  with mock(self.config.autodoc_mock_imports):
2009
2009
  parent = import_module(self.modname, self.config.autodoc_warningiserror)
2010
2010
  annotations = get_type_hints(parent, None,
2011
- self.config.autodoc_type_aliases)
2011
+ self.config.autodoc_type_aliases,
2012
+ include_extras=True)
2012
2013
  if self.objpath[-1] in annotations:
2013
2014
  self.object = UNINITIALIZED_ATTR
2014
2015
  self.parent = parent
@@ -2097,7 +2098,8 @@ class DataDocumenter(GenericAliasMixin,
2097
2098
  if self.config.autodoc_typehints != 'none':
2098
2099
  # obtain annotation for this data
2099
2100
  annotations = get_type_hints(self.parent, None,
2100
- self.config.autodoc_type_aliases)
2101
+ self.config.autodoc_type_aliases,
2102
+ include_extras=True)
2101
2103
  if self.objpath[-1] in annotations:
2102
2104
  if self.config.autodoc_typehints_format == "short":
2103
2105
  objrepr = stringify_annotation(annotations.get(self.objpath[-1]),
@@ -2541,7 +2543,8 @@ class UninitializedInstanceAttributeMixin(DataDocumenterMixinBase):
2541
2543
 
2542
2544
  def is_uninitialized_instance_attribute(self, parent: Any) -> bool:
2543
2545
  """Check the subject is an annotation only attribute."""
2544
- annotations = get_type_hints(parent, None, self.config.autodoc_type_aliases)
2546
+ annotations = get_type_hints(parent, None, self.config.autodoc_type_aliases,
2547
+ include_extras=True)
2545
2548
  return self.objpath[-1] in annotations
2546
2549
 
2547
2550
  def import_object(self, raiseerror: bool = False) -> bool:
@@ -2673,7 +2676,8 @@ class AttributeDocumenter(GenericAliasMixin, SlotsMixin, # type: ignore[misc]
2673
2676
  if self.config.autodoc_typehints != 'none':
2674
2677
  # obtain type annotation for this attribute
2675
2678
  annotations = get_type_hints(self.parent, None,
2676
- self.config.autodoc_type_aliases)
2679
+ self.config.autodoc_type_aliases,
2680
+ include_extras=True)
2677
2681
  if self.objpath[-1] in annotations:
2678
2682
  if self.config.autodoc_typehints_format == "short":
2679
2683
  objrepr = stringify_annotation(annotations.get(self.objpath[-1]),
@@ -765,7 +765,14 @@ class AutoLink(SphinxRole):
765
765
  try:
766
766
  # try to import object by name
767
767
  prefixes = get_import_prefixes_from_env(self.env)
768
- import_by_name(pending_xref['reftarget'], prefixes)
768
+ name = pending_xref['reftarget']
769
+ prefixes = [
770
+ prefix
771
+ for prefix in prefixes
772
+ if prefix is None
773
+ or not (name.startswith(f'{prefix}.') or name == prefix)
774
+ ]
775
+ import_by_name(name, prefixes)
769
776
  except ImportExceptionGroup:
770
777
  literal = cast(nodes.literal, pending_xref[0])
771
778
  objects[0] = nodes.emphasis(self.rawtext, literal.astext(),
@@ -330,10 +330,6 @@ def generate_autosummary_content(
330
330
  doc, app, obj, {'module'}, imported=True
331
331
  )
332
332
  skip += all_imported_modules
333
- imported_modules = [name + '.' + modname for modname in imported_modules]
334
- all_imported_modules = [
335
- name + '.' + modname for modname in all_imported_modules
336
- ]
337
333
  public_members = getall(obj)
338
334
  else:
339
335
  imported_modules, all_imported_modules = [], []
@@ -476,21 +472,22 @@ def _get_modules(
476
472
  if modname in skip:
477
473
  # module was overwritten in __init__.py, so not accessible
478
474
  continue
479
- fullname = name + '.' + modname
475
+ fullname = f'{name}.{modname}'
480
476
  try:
481
477
  module = import_module(fullname)
482
- if module and hasattr(module, '__sphinx_mock__'):
483
- continue
484
478
  except ImportError:
485
479
  pass
480
+ else:
481
+ if module and hasattr(module, '__sphinx_mock__'):
482
+ continue
486
483
 
487
- items.append(fullname)
484
+ items.append(modname)
488
485
  if public_members is not None:
489
486
  if modname in public_members:
490
- public.append(fullname)
487
+ public.append(modname)
491
488
  else:
492
489
  if not modname.startswith('_'):
493
- public.append(fullname)
490
+ public.append(modname)
494
491
  return public, items
495
492
 
496
493
 
@@ -3,7 +3,7 @@
3
3
  .. automodule:: {{ fullname }}
4
4
 
5
5
  {% block attributes %}
6
- {% if attributes %}
6
+ {%- if attributes %}
7
7
  .. rubric:: {{ _('Module Attributes') }}
8
8
 
9
9
  .. autosummary::
@@ -11,10 +11,10 @@
11
11
  {{ item }}
12
12
  {%- endfor %}
13
13
  {% endif %}
14
- {% endblock %}
14
+ {%- endblock %}
15
15
 
16
- {% block functions %}
17
- {% if functions %}
16
+ {%- block functions %}
17
+ {%- if functions %}
18
18
  .. rubric:: {{ _('Functions') }}
19
19
 
20
20
  .. autosummary::
@@ -22,10 +22,10 @@
22
22
  {{ item }}
23
23
  {%- endfor %}
24
24
  {% endif %}
25
- {% endblock %}
25
+ {%- endblock %}
26
26
 
27
- {% block classes %}
28
- {% if classes %}
27
+ {%- block classes %}
28
+ {%- if classes %}
29
29
  .. rubric:: {{ _('Classes') }}
30
30
 
31
31
  .. autosummary::
@@ -33,10 +33,10 @@
33
33
  {{ item }}
34
34
  {%- endfor %}
35
35
  {% endif %}
36
- {% endblock %}
36
+ {%- endblock %}
37
37
 
38
- {% block exceptions %}
39
- {% if exceptions %}
38
+ {%- block exceptions %}
39
+ {%- if exceptions %}
40
40
  .. rubric:: {{ _('Exceptions') }}
41
41
 
42
42
  .. autosummary::
@@ -44,10 +44,10 @@
44
44
  {{ item }}
45
45
  {%- endfor %}
46
46
  {% endif %}
47
- {% endblock %}
47
+ {%- endblock %}
48
48
 
49
- {% block modules %}
50
- {% if modules %}
49
+ {%- block modules %}
50
+ {%- if modules %}
51
51
  .. rubric:: Modules
52
52
 
53
53
  .. autosummary::
@@ -57,4 +57,4 @@
57
57
  {{ item }}
58
58
  {%- endfor %}
59
59
  {% endif %}
60
- {% endblock %}
60
+ {%- endblock %}
@@ -1,60 +1,60 @@
1
1
  Documentation.addTranslations({
2
2
  "locale": "ta",
3
3
  "messages": {
4
- "%(filename)s — %(docstitle)s": "%(\u0b95\u0bcb\u0baa\u0bcd\u0baa\u0bc1 \u0baa\u0bc6\u0baf\u0bb0\u0bcd) \u0b8e\u0bb8\u0bcd — %(\u0b9f\u0bbe\u0b95\u0bcd\u0bb8\u0bcd\u0b9f\u0bbf\u0b9f\u0bbf\u0bb2\u0bcd) \u0b95\u0bb3\u0bcd",
5
- "© %(copyright_prefix)s %(copyright)s.": "© %(\u0baa\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0bc1\u0bb0\u0bbf\u0bae\u0bc8_\u0baa\u0bbf\u0bb0\u0bc6\u0b83\u0baa\u0bbf\u0b95\u0bcd\u0bb8\u0bcd) \u0b8e\u0bb8\u0bcd %(\u0baa\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0bc1\u0bb0\u0bbf\u0bae\u0bc8) \u0b95\u0bb3\u0bcd.",
6
- ", in ": ", \u0b87\u0bb2\u0bcd",
7
- "About these documents": "\u0b87\u0ba8\u0bcd\u0ba4 \u0b86\u0bb5\u0ba3\u0b99\u0bcd\u0b95\u0bb3\u0bc8\u0baa\u0bcd \u0baa\u0bb1\u0bcd\u0bb1\u0bbf",
8
- "Automatically generated list of changes in version %(version)s": "\u0baa\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0bc1 %(\u0baa\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0bc1) S \u0b87\u0bb2\u0bcd \u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0b99\u0bcd\u0b95\u0bb3\u0bbf\u0ba9\u0bcd \u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bb2\u0bcd \u0ba4\u0bbe\u0ba9\u0bbe\u0b95 \u0b89\u0bb0\u0bc1\u0bb5\u0bbe\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1",
9
- "C API changes": "\u0b9a\u0bbf \u0b8f\u0baa\u0bbf\u0b90 \u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
10
- "Changes in Version %(version)s — %(docstitle)s": "\u0baa\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0bc1 %(\u0baa\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0bc1) S — %(\u0b9f\u0bbe\u0b95\u0bcd\u0bb8\u0bcd\u0b9f\u0bbf\u0b9f\u0bbf\u0bb2\u0bcd) \u0b95\u0bb3\u0bcd",
11
- "Collapse sidebar": "\u0baa\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bbf \u0b9a\u0bb0\u0bbf\u0bb5\u0bc1",
12
- "Complete Table of Contents": "\u0b89\u0bb3\u0bcd\u0bb3\u0b9f\u0b95\u0bcd\u0b95\u0b99\u0bcd\u0b95\u0bb3\u0bbf\u0ba9\u0bcd \u0bae\u0bc1\u0bb4\u0bc1\u0bae\u0bc8\u0baf\u0bbe\u0ba9 \u0b85\u0b9f\u0bcd\u0b9f\u0bb5\u0ba3\u0bc8",
13
- "Contents": "\u0b89\u0bb3\u0bcd\u0bb3\u0b9f\u0b95\u0bcd\u0b95\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
14
- "Copyright": "\u0baa\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0bc1\u0bb0\u0bbf\u0bae\u0bc8",
15
- "Created using <a href=\"https://www.sphinx-doc.org/\">Sphinx</a> %(sphinx_version)s.": "<a href=\"https://www.sphinx-doc.org/\"> \u0bb8\u0bcd\u0baa\u0bbf\u0ba9\u0bcd\u0b95\u0bcd\u0bb8\u0bcd </\u0bae\u0bb1\u0bcd\u0bb1\u0bc1\u0bae\u0bcd> %(\u0bb8\u0bcd\u0baa\u0bbf\u0ba9\u0bcd\u0b95\u0bcd\u0bb8\u0bcd \u0baa\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd.",
16
- "Expand sidebar": "\u0baa\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bc8 \u0bb5\u0bbf\u0bb0\u0bbf\u0bb5\u0bbe\u0b95\u0bcd\u0b95\u0bc1\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
17
- "Full index on one page": "\u0b92\u0bb0\u0bc1 \u0baa\u0b95\u0bcd\u0b95\u0ba4\u0bcd\u0ba4\u0bbf\u0bb2\u0bcd \u0bae\u0bc1\u0bb4\u0bc1 \u0b95\u0bc1\u0bb1\u0bbf\u0baf\u0bc0\u0b9f\u0bc1",
18
- "General Index": "\u0baa\u0bca\u0ba4\u0bc1 \u0b85\u0b9f\u0bcd\u0b9f\u0bb5\u0ba3\u0bc8",
19
- "Global Module Index": "\u0b89\u0bb2\u0b95\u0bb3\u0bbe\u0bb5\u0bbf\u0baf \u0ba4\u0bca\u0b95\u0bc1\u0ba4\u0bbf \u0b85\u0b9f\u0bcd\u0b9f\u0bb5\u0ba3\u0bc8",
20
- "Go": "\u0baa\u0bc7\u0bbe",
21
- "Hide Search Matches": "\u0ba4\u0bc7\u0b9f\u0bb2\u0bcd \u0baa\u0bcb\u0b9f\u0bcd\u0b9f\u0bbf\u0b95\u0bb3\u0bc8 \u0bae\u0bb1\u0bc8\u0b95\u0bcd\u0b95\u0bb5\u0bc1\u0bae\u0bcd",
22
- "Index": "\u0b95\u0bc1\u0bb1\u0bbf\u0baf\u0bc0\u0b9f\u0bcd\u0b9f\u0bc1",
23
- "Index &ndash; %(key)s": "\u0b95\u0bc1\u0bb1\u0bbf\u0baf\u0bc0\u0b9f\u0bcd\u0b9f\u0bc1 & ndash; %(\u0bb5\u0bbf\u0b9a\u0bc8\u0b95\u0bb3\u0bcd",
24
- "Index pages by letter": "\u0b95\u0b9f\u0bbf\u0ba4\u0bae\u0bcd \u0bae\u0bc2\u0bb2\u0bae\u0bcd \u0b95\u0bc1\u0bb1\u0bbf\u0baf\u0bc0\u0b9f\u0bcd\u0b9f\u0bc1 \u0baa\u0b95\u0bcd\u0b95\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
25
- "Indices and tables:": "\u0b95\u0bc1\u0bb1\u0bbf\u0baf\u0bc0\u0b9f\u0bc1\u0b95\u0bb3\u0bcd \u0bae\u0bb1\u0bcd\u0bb1\u0bc1\u0bae\u0bcd \u0b85\u0b9f\u0bcd\u0b9f\u0bb5\u0ba3\u0bc8\u0b95\u0bb3\u0bcd:",
26
- "Last updated on %(last_updated)s.": "\u0b95\u0b9f\u0bc8\u0b9a\u0bbf\u0baf\u0bbe\u0b95 %(last_updated) s \u0b87\u0bb2\u0bcd \u0baa\u0bc1\u0ba4\u0bc1\u0baa\u0bcd\u0baa\u0bbf\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1.",
27
- "Library changes": "\u0ba8\u0bc2\u0bb2\u0b95 \u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
28
- "Navigation": "\u0bb5\u0bb4\u0bbf\u0b9a\u0bc6\u0bb2\u0bc1\u0ba4\u0bcd\u0ba4\u0bb2\u0bcd",
29
- "Next topic": "\u0b85\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4 \u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1",
30
- "Other changes": "\u0baa\u0bbf\u0bb1 \u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
31
- "Overview": "\u0b95\u0ba3\u0bcd\u0ba3\u0bcb\u0b9f\u0bcd\u0b9f\u0bae\u0bcd",
32
- "Please activate JavaScript to enable the search\n functionality.": "\u0ba4\u0bc7\u0b9f\u0bb2\u0bc8 \u0b87\u0baf\u0b95\u0bcd\u0b95 \u0b9c\u0bbe\u0bb5\u0bbe\u0bb8\u0bcd\u0b95\u0bbf\u0bb0\u0bbf\u0baa\u0bcd\u0b9f\u0bc8 \u0b9a\u0bc6\u0baf\u0bb2\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bb5\u0bc1\u0bae\u0bcd \n \u0b9a\u0bc6\u0baf\u0bb2\u0bcd\u0baa\u0bbe\u0b9f\u0bc1.",
33
- "Preparing search...": "\u0ba4\u0bc7\u0b9f\u0bb2\u0bc8\u0ba4\u0bcd \u0ba4\u0baf\u0bbe\u0bb0\u0bbf\u0ba4\u0bcd\u0ba4\u0bb2\u0bcd ...",
34
- "Previous topic": "\u0bae\u0bc1\u0ba8\u0bcd\u0ba4\u0bc8\u0baf \u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1",
35
- "Quick search": "\u0bb5\u0bbf\u0bb0\u0bc8\u0bb5\u0bc1 \u0ba4\u0bc7\u0b9f\u0bb2\u0bcd",
36
- "Search": "\u0ba4\u0bc7\u0b9f\u0bb2\u0bcd",
37
- "Search Page": "\u0ba4\u0bc7\u0b9f\u0bb2\u0bcd \u0baa\u0b95\u0bcd\u0b95\u0bae\u0bcd",
38
- "Search Results": "\u0ba4\u0bc7\u0b9f\u0bb2\u0bcd \u0bae\u0bc1\u0b9f\u0bbf\u0bb5\u0bc1\u0b95\u0bb3\u0bcd",
39
- "Search finished, found ${resultCount} page(s) matching the search query.": "\u0ba4\u0bc7\u0b9f\u0bb2\u0bcd \u0bae\u0bc1\u0b9f\u0bbf\u0ba8\u0bcd\u0ba4\u0ba4\u0bc1, \u0ba4\u0bc7\u0b9f\u0bb2\u0bcd \u0bb5\u0bbf\u0ba9\u0bb5\u0bb2\u0bc1\u0b9f\u0ba9\u0bcd \u0baa\u0bca\u0bb0\u0bc1\u0ba8\u0bcd\u0ba4\u0b95\u0bcd\u0b95\u0bc2\u0b9f\u0bbf\u0baf $ {resultCount} \u0baa\u0b95\u0bcd\u0b95\u0bae\u0bcd (\u0b95\u0bb3\u0bcd) \u0b95\u0bbf\u0b9f\u0bc8\u0ba4\u0bcd\u0ba4\u0ba4\u0bc1.",
40
- "Search within %(docstitle)s": "%(\u0b9f\u0bbe\u0b95\u0bcd\u0bb8\u0bcd\u0b9f\u0bbf\u0b9f\u0bbf\u0bb2\u0bcd) \u0b95\u0bb3\u0bcd \u0ba4\u0bc7\u0b9f\u0bc1\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
41
- "Searching": "\u0ba4\u0bc7\u0b9f\u0bbf",
42
- "Searching for multiple words only shows matches that contain\n all words.": "\u0baa\u0bb2 \u0b9a\u0bca\u0bb1\u0bcd\u0b95\u0bb3\u0bc8\u0ba4\u0bcd \u0ba4\u0bc7\u0b9f\u0bc1\u0bb5\u0ba4\u0bc1 \u0b95\u0bbe\u0ba3\u0bcd\u0baa\u0bbf\u0b95\u0bcd\u0b95\u0bc1\u0bae\u0bcd \u0baa\u0bcb\u0b9f\u0bcd\u0b9f\u0bbf\u0b95\u0bb3\u0bc8 \u0bae\u0b9f\u0bcd\u0b9f\u0bc1\u0bae\u0bc7 \u0b95\u0bbe\u0b9f\u0bcd\u0b9f\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1 \n \u0b85\u0ba9\u0bc8\u0ba4\u0bcd\u0ba4\u0bc1 \u0bb5\u0bbe\u0bb0\u0bcd\u0ba4\u0bcd\u0ba4\u0bc8\u0b95\u0bb3\u0bc1\u0bae\u0bcd.",
43
- "Show Source": "\u0bae\u0bc2\u0bb2\u0ba4\u0bcd\u0ba4\u0bc8\u0b95\u0bcd \u0b95\u0bbe\u0b9f\u0bcd\u0b9f\u0bc1",
44
- "Table of Contents": "\u0b89\u0bb3\u0bcd\u0bb3\u0b9f\u0b95\u0bcd\u0b95 \u0b85\u0b9f\u0bcd\u0b9f\u0bb5\u0ba3\u0bc8",
45
- "This Page": "\u0b87\u0ba8\u0bcd\u0ba4 \u0baa\u0b95\u0bcd\u0b95\u0bae\u0bcd",
46
- "Welcome! This is": "\u0bb5\u0bb0\u0bb5\u0bc7\u0bb1\u0bcd\u0baa\u0bc1! \u0b87\u0ba4\u0bc1",
47
- "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "\u0b89\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0ba4\u0bc7\u0b9f\u0bb2\u0bcd \u0b8e\u0ba8\u0bcd\u0ba4 \u0b86\u0bb5\u0ba3\u0b99\u0bcd\u0b95\u0bb3\u0bc1\u0b95\u0bcd\u0b95\u0bc1\u0bae\u0bcd \u0baa\u0bca\u0bb0\u0bc1\u0ba8\u0bcd\u0ba4\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8. \u0b8e\u0bb2\u0bcd\u0bb2\u0bbe \u0b9a\u0bca\u0bb1\u0bcd\u0b95\u0bb3\u0bc1\u0bae\u0bcd \u0b9a\u0bb0\u0bbf\u0baf\u0bbe\u0b95 \u0b89\u0b9a\u0bcd\u0b9a\u0bb0\u0bbf\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc1\u0bb3\u0bcd\u0bb3\u0ba9 \u0b8e\u0ba9\u0bcd\u0baa\u0ba4\u0bc8\u0baf\u0bc1\u0bae\u0bcd, \u0ba8\u0bc0\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0baa\u0bcb\u0ba4\u0bc1\u0bae\u0bbe\u0ba9 \u0bb5\u0b95\u0bc8\u0b95\u0bb3\u0bc8\u0ba4\u0bcd \u0ba4\u0bc7\u0bb0\u0bcd\u0ba8\u0bcd\u0ba4\u0bc6\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1\u0bb3\u0bcd\u0bb3\u0bc0\u0bb0\u0bcd\u0b95\u0bb3\u0bcd \u0b8e\u0ba9\u0bcd\u0baa\u0ba4\u0bc8\u0baf\u0bc1\u0bae\u0bcd \u0b89\u0bb1\u0bc1\u0ba4\u0bbf\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bb5\u0bc1\u0bae\u0bcd.",
48
- "all functions, classes, terms": "\u0b85\u0ba9\u0bc8\u0ba4\u0bcd\u0ba4\u0bc1 \u0b9a\u0bc6\u0baf\u0bb2\u0bcd\u0baa\u0bbe\u0b9f\u0bc1\u0b95\u0bb3\u0bcd, \u0bb5\u0b95\u0bc1\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd, \u0bb5\u0bbf\u0ba4\u0bbf\u0bae\u0bc1\u0bb1\u0bc8\u0b95\u0bb3\u0bcd",
49
- "can be huge": "\u0bae\u0bbf\u0b95\u0baa\u0bcd\u0baa\u0bc6\u0bb0\u0bbf\u0baf\u0ba4\u0bbe\u0b95 \u0b87\u0bb0\u0bc1\u0b95\u0bcd\u0b95 \u0bae\u0bc1\u0b9f\u0bbf\u0baf\u0bc1\u0bae\u0bcd",
50
- "last updated": "\u0b95\u0b9f\u0bc8\u0b9a\u0bbf\u0baf\u0bbe\u0b95 \u0baa\u0bc1\u0ba4\u0bc1\u0baa\u0bcd\u0baa\u0bbf\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1",
51
- "lists all sections and subsections": "\u0b85\u0ba9\u0bc8\u0ba4\u0bcd\u0ba4\u0bc1 \u0baa\u0bbf\u0bb0\u0bbf\u0bb5\u0bc1\u0b95\u0bb3\u0bc8\u0baf\u0bc1\u0bae\u0bcd \u0ba4\u0bc1\u0ba3\u0bc8\u0baa\u0bcd\u0baa\u0bbf\u0bb0\u0bbf\u0bb5\u0bc1\u0b95\u0bb3\u0bc8\u0baf\u0bc1\u0bae\u0bcd \u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bb2\u0bbf\u0b9f\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1",
52
- "next chapter": "\u0b85\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4 \u0b85\u0ba4\u0bcd\u0ba4\u0bbf\u0baf\u0bbe\u0baf\u0bae\u0bcd",
53
- "previous chapter": "\u0bae\u0bc1\u0ba8\u0bcd\u0ba4\u0bc8\u0baf \u0b85\u0ba4\u0bcd\u0ba4\u0bbf\u0baf\u0bbe\u0baf\u0bae\u0bcd",
54
- "quick access to all modules": "\u0b85\u0ba9\u0bc8\u0ba4\u0bcd\u0ba4\u0bc1 \u0ba4\u0bca\u0b95\u0bc1\u0ba4\u0bbf\u0b95\u0bb3\u0bc1\u0b95\u0bcd\u0b95\u0bc1\u0bae\u0bcd \u0bb5\u0bbf\u0bb0\u0bc8\u0bb5\u0bbe\u0ba9 \u0b85\u0ba3\u0bc1\u0b95\u0bb2\u0bcd",
55
- "search": "\u0ba4\u0bc7\u0b9f\u0bb2\u0bcd",
56
- "search this documentation": "\u0b87\u0ba8\u0bcd\u0ba4 \u0b86\u0bb5\u0ba3\u0ba4\u0bcd\u0ba4\u0bc8\u0ba4\u0bcd \u0ba4\u0bc7\u0b9f\u0bc1\u0b99\u0bcd\u0b95\u0bb3\u0bcd",
57
- "the documentation for": "\u0b86\u0bb5\u0ba3\u0b99\u0bcd\u0b95\u0bb3\u0bcd"
4
+ "%(filename)s &#8212; %(docstitle)s": "",
5
+ "&#169; %(copyright_prefix)s %(copyright)s.": "",
6
+ ", in ": "",
7
+ "About these documents": "",
8
+ "Automatically generated list of changes in version %(version)s": "",
9
+ "C API changes": "",
10
+ "Changes in Version %(version)s &#8212; %(docstitle)s": "",
11
+ "Collapse sidebar": "",
12
+ "Complete Table of Contents": "",
13
+ "Contents": "",
14
+ "Copyright": "",
15
+ "Created using <a href=\"https://www.sphinx-doc.org/\">Sphinx</a> %(sphinx_version)s.": "",
16
+ "Expand sidebar": "",
17
+ "Full index on one page": "",
18
+ "General Index": "",
19
+ "Global Module Index": "",
20
+ "Go": "",
21
+ "Hide Search Matches": "",
22
+ "Index": "",
23
+ "Index &ndash; %(key)s": "",
24
+ "Index pages by letter": "",
25
+ "Indices and tables:": "",
26
+ "Last updated on %(last_updated)s.": "",
27
+ "Library changes": "",
28
+ "Navigation": "",
29
+ "Next topic": "",
30
+ "Other changes": "",
31
+ "Overview": "",
32
+ "Please activate JavaScript to enable the search\n functionality.": "",
33
+ "Preparing search...": "",
34
+ "Previous topic": "",
35
+ "Quick search": "",
36
+ "Search": "",
37
+ "Search Page": "",
38
+ "Search Results": "",
39
+ "Search finished, found ${resultCount} page(s) matching the search query.": "",
40
+ "Search within %(docstitle)s": "",
41
+ "Searching": "",
42
+ "Searching for multiple words only shows matches that contain\n all words.": "",
43
+ "Show Source": "",
44
+ "Table of Contents": "",
45
+ "This Page": "",
46
+ "Welcome! This is": "",
47
+ "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "",
48
+ "all functions, classes, terms": "",
49
+ "can be huge": "",
50
+ "last updated": "",
51
+ "lists all sections and subsections": "",
52
+ "next chapter": "",
53
+ "previous chapter": "",
54
+ "quick access to all modules": "",
55
+ "search": "",
56
+ "search this documentation": "",
57
+ "the documentation for": ""
58
58
  },
59
59
  "plural_expr": "(n != 1)"
60
60
  });
Binary file