Commit Graph

21729 Commits

Author SHA1 Message Date
Adam Turner
c4daa95c09 Enable the entire D category in Ruff 2025-01-14 15:55:02 +00:00
Adam Turner
dbf62cd503 Enable the entire RET category in Ruff 2025-01-14 14:56:30 +00:00
Adam Turner
c66d3e85d1 Enable 11 more categories in Ruff
* flake8-builtins ('A')
* flake8-blind-except ('BLE')
* flake8-copyright ('CPY')
* eradicate ('ERA')
* flake8-boolean-trap ('FBT')
* flake8-fixme ('FIX')
* flake8-implicit-str-concat ('ISC')
* pep8-naming ('N')
* flake8-use-pathlib ('PTH')
* flake8-self ('SLF')
* tryceratops ('TRY')
2025-01-14 14:43:02 +00:00
Adam Turner
3521cb60cf Enable the entire TD category in Ruff 2025-01-14 12:52:43 +00:00
Adam Turner
d102e62bc7 Format code blocks in docstrings 2025-01-14 12:17:46 +00:00
Adam Turner
cc8161a066 Move `sphinx.util re-exports to module __getattr__` 2025-01-14 01:01:52 +00:00
Adam Turner
b52ac5c71b Review, reduce, and sort per-file ignores in Ruff 2025-01-13 23:59:11 +00:00
Adam Turner
fd8ce84582 Enable the RUF001 lint in Ruff 2025-01-13 23:40:26 +00:00
Adam Turner
477401c4e4 Enable the G003 lint in Ruff 2025-01-13 23:21:30 +00:00
Adam Turner
66905d24e1 Use strict flake8-type-checking settings in Ruff 2025-01-13 21:56:36 +00:00
Adam Turner
f6d1665f84 Use frozensets for permitted types in `app.add_config_value()` 2025-01-13 21:18:17 +00:00
dependabot[bot]
e7dd42ea91
Bump Ruff to 0.9.1 (#13235) 2025-01-13 07:09:06 +00:00
Bénédikt Tran
2a19d293b6
autodoc: fix detection of class methods implemented by extension modules (#13200)
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2025-01-12 11:07:30 +00:00
Adam Turner
72ce43619c
Remove unneeded runtime typing imports (#13233) 2025-01-12 01:04:14 +00:00
Adam Turner
d29c2c1ff3
Implement key splitting in the `:kbd: role and remove KeyboardTransform` (#13227)
``KeyboardTransform.run`` takes 1.2% of the runtime of a build, but
is not be needed if ``:kbd:`` is converted to a proper role.

We implement key splitting in the ``:kbd:`` role, and return a sequence
of parsed nodes rather than a nested collection of roles with ``class="kbd compound"``.
2025-01-10 19:51:17 +00:00
Adam Turner
fdb1b0cdad Update documentation for the `:no-search:` file-wide metadata option 2025-01-10 16:56:21 +00:00
Adam Turner
404e4ffbed Consolidate both `handle_exception()` implementations 2025-01-10 15:52:39 +00:00
Adam Turner
dec45eaf28 Bump Ruff to 0.9.0 2025-01-10 13:50:26 +00:00
Adam Turner
bd864d6858 Define `__slots__ in sphinx.builders.gettext` classes 2025-01-10 12:11:29 +00:00
James Addison
267fe9afa8
Tests: explicitly unset SOURCE_DATE_EPOCH during 'test_html_multi_line_copyright' (#13224)
Sphinx's copyright substitution currently allows years identified as
the current year to be downgraded to previous years when
``SOURCE_DATE_EPOCH`` is configured, to assist reproducibility [1] of
documentation builds.

However, we have a test case ``test_html_multi_line_copyright``,
written in 2024, that mentioned a future year (2025).

Now that we have reached 2025, it is eligible for substitution when
``SOURCE_DATE_EPOCH`` is configured.  Many buildsystems, such as those
used by Debian and Fedora, choose the most-recent packaging/commit
timestamp to use as `SOURCE_DATE_EPOCH`'s timestamp, since those
correspond sensibly to a time-of-build.

However, for the Sphinx 8.1.3 release including the updated
substitution logic, the year-of-release/commit was 2024. Thus, if a
commit/packaging date from that year is chosen, and
``SOURCE_DATE_EPOCH`` is configured when the unit tests run, the
``test_html_multi_line_copyright`` test will fail.

The fix suggested here is to explicitly unset ``SOURCE_DATE_EPOCH``
within ``test_html_multi_line_copyright``.

[1]: https://www.reproducible-builds.org/

Authored-by: Colin Watson <cjwatson@debian.org>
Co-authored-by: Colin Watson <cjwatson@debian.org>
Authored-by: James Addison <55152140+jayaddison@users.noreply.github.com>
Co-authored-by: James Addison <55152140+jayaddison@users.noreply.github.com>
2025-01-10 11:21:11 +00:00
Adam Turner
95df419f49 apidoc: Move ApidocOptions to `sphinx.ext.apidoc._shared` 2025-01-10 02:12:20 +00:00
Adam Turner
d42cfa702f Further minor copyediting of the 'extension metadata' section 2025-01-10 01:26:17 +00:00
Adam Turner
daade2715a Rewrite the 'extension metadata' section 2025-01-10 01:09:49 +00:00
Adam Turner
74ec220479 apidoc: Rename test roots 2025-01-07 11:06:29 +00:00
Adam Turner
8e6883f8a0 apidoc: Rename `CliOptions to ApidocOptions` 2025-01-07 10:49:40 +00:00
Adam Turner
2c117bbbf0 Split out `sphinx.ext.apidoc._shared` 2025-01-07 10:41:40 +00:00
Adam Turner
5176a8f33a apidoc: Split `main()` into funtions 2025-01-07 09:35:23 +00:00
Adam Turner
fd3e7d3902 Convert CliOptions to a dataclass 2025-01-07 09:15:52 +00:00
Adam Turner
8732b2324a Split out `sphinx.ext.apidoc._generate` 2025-01-07 08:33:20 +00:00
Adam Turner
2bd70193b7 Split out `sphinx.ext.apidoc._cli` 2025-01-07 08:32:11 +00:00
Adam Turner
3a6111f141 Move `sphinx.ext.apidoc` into a package 2025-01-07 08:05:27 +00:00
Adam Turner
d1b49a12ef apidoc: Miscellaneous refactoring 2025-01-07 08:05:26 +00:00
Adam Turner
47599df1bc apidoc: Add `--automodule-options` 2025-01-07 08:05:20 +00:00
dependabot[bot]
76c4e9173e
Bump types-pygments to 2.19.0.20250107 (#13219) 2025-01-07 05:05:02 +00:00
Adam Turner
44aced1ab7
Add types and defaults to confval directives (#13218) 2025-01-07 03:55:27 +00:00
Adam Turner
9b7205b65e
Improve mathematics domain performance (#13044)
When profiling, ``MathDomain.process_doc()`` takes around 1% of runtime.
This change reduces this to ~0.
2025-01-07 01:34:18 +00:00
Adam Turner
df06e6d628
Add `InventoryFile.loads()` (#13215) 2025-01-07 00:40:57 +00:00
Adam Turner
b3035c7d22 Convert set-like containers to `frozenset` 2025-01-07 00:23:29 +00:00
Adam Turner
b852618c1b Avoid using camelCase names 2025-01-07 00:17:00 +00:00
Adam Turner
91bae649c1 Remove shebang from test-apidoc-toc test root 2025-01-06 21:55:29 +00:00
Adam Turner
a69d79bf67 Add .gitattributes 2025-01-06 21:55:29 +00:00
Adam Turner
5ff3740063 Adapt tests for Pygments 2.19 2025-01-06 06:56:10 +00:00
Adam Turner
d59084a1fa Bump Ruff to 0.8.6 2025-01-06 06:05:55 +00:00
Firefly
717dcc531a
Napoleon: Define confval types and defaults (#13094)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2025-01-05 11:05:12 +00:00
ProGamerGov
fec4d7c2f1
Viewcode: Fix issue with import paths that differ from the directory structure (#13195)
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2025-01-05 10:43:57 +00:00
Adam Turner
83bf866059
Avoid attribute indirection with `env` (#13212) 2025-01-05 09:10:55 +00:00
Adam Turner
56c9e32fbc
Inline `sphinx_domains.lookup_domain_element` (#13211) 2025-01-05 06:57:49 +00:00
Adam Turner
531436b794 Remove redundant 'fmt: skip' comments 2025-01-05 05:42:39 +00:00
Adam Turner
0e8bff8e63 Napoleon: Use f-strings 2025-01-05 02:31:04 +00:00
Adam Turner
849d309db4 Napoleon: Use `:py:{...}` in type preprocessing 2025-01-05 02:13:15 +00:00