python-docs-theme 2026.3__tar.gz → 2026.7__tar.gz

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.
Files changed (67) hide show
  1. python_docs_theme-2026.7/.babel.cfg +3 -0
  2. python_docs_theme-2026.7/.github/dependabot.yml +14 -0
  3. python_docs_theme-2026.7/.github/release.yml +5 -0
  4. python_docs_theme-2026.7/.github/workflows/lint.yml +19 -0
  5. python_docs_theme-2026.7/.github/workflows/pypi-package.yml +52 -0
  6. python_docs_theme-2026.7/.github/workflows/tests.yml +95 -0
  7. python_docs_theme-2026.7/.gitignore +101 -0
  8. python_docs_theme-2026.7/.pre-commit-config.yaml +56 -0
  9. python_docs_theme-2026.7/.readthedocs.yml +15 -0
  10. python_docs_theme-2026.7/CHANGELOG.md +273 -0
  11. python_docs_theme-2026.7/CONTRIBUTING.md +27 -0
  12. python_docs_theme-2026.7/Makefile +30 -0
  13. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/PKG-INFO +8 -9
  14. python_docs_theme-2026.7/babel_runner.py +146 -0
  15. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/pyproject.toml +10 -11
  16. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/__init__.py +1 -1
  17. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/ar/LC_MESSAGES/python-docs-theme.mo +0 -0
  18. python_docs_theme-2026.7/python_docs_theme/locale/de/LC_MESSAGES/python-docs-theme.mo +0 -0
  19. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/de/LC_MESSAGES/python-docs-theme.po +0 -1
  20. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/el/LC_MESSAGES/python-docs-theme.mo +0 -0
  21. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/es/LC_MESSAGES/python-docs-theme.mo +0 -0
  22. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/fr/LC_MESSAGES/python-docs-theme.mo +0 -0
  23. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/id/LC_MESSAGES/python-docs-theme.mo +0 -0
  24. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/ja/LC_MESSAGES/python-docs-theme.mo +0 -0
  25. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/ko/LC_MESSAGES/python-docs-theme.mo +0 -0
  26. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.mo +0 -0
  27. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/pt/LC_MESSAGES/python-docs-theme.mo +0 -0
  28. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/pt_BR/LC_MESSAGES/python-docs-theme.mo +0 -0
  29. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/ro/LC_MESSAGES/python-docs-theme.mo +0 -0
  30. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/ru/LC_MESSAGES/python-docs-theme.mo +0 -0
  31. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/sv/LC_MESSAGES/python-docs-theme.mo +0 -0
  32. python_docs_theme-2026.7/python_docs_theme/locale/ta/LC_MESSAGES/python-docs-theme.mo +0 -0
  33. python_docs_theme-2026.7/python_docs_theme/locale/ta/LC_MESSAGES/python-docs-theme.po +129 -0
  34. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/tr/LC_MESSAGES/python-docs-theme.mo +0 -0
  35. python_docs_theme-2026.7/python_docs_theme/locale/vi/LC_MESSAGES/python-docs-theme.mo +0 -0
  36. python_docs_theme-2026.7/python_docs_theme/locale/vi/LC_MESSAGES/python-docs-theme.po +129 -0
  37. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/zh_CN/LC_MESSAGES/python-docs-theme.mo +0 -0
  38. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/zh_TW/LC_MESSAGES/python-docs-theme.mo +0 -0
  39. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/static/pydoctheme.css +13 -0
  40. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/static/pydoctheme_dark.css +2 -0
  41. python_docs_theme-2026.7/requirements.txt +4 -0
  42. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/LICENSE +0 -0
  43. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/README.md +0 -0
  44. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/footerdonate.html +0 -0
  45. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/layout.html +0 -0
  46. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/ar/LC_MESSAGES/python-docs-theme.po +0 -0
  47. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/el/LC_MESSAGES/python-docs-theme.po +0 -0
  48. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/es/LC_MESSAGES/python-docs-theme.po +0 -0
  49. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/fr/LC_MESSAGES/python-docs-theme.po +0 -0
  50. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/id/LC_MESSAGES/python-docs-theme.po +0 -0
  51. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/ja/LC_MESSAGES/python-docs-theme.po +0 -0
  52. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/ko/LC_MESSAGES/python-docs-theme.po +0 -0
  53. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/pl/LC_MESSAGES/python-docs-theme.po +0 -0
  54. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/pt/LC_MESSAGES/python-docs-theme.po +0 -0
  55. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/pt_BR/LC_MESSAGES/python-docs-theme.po +0 -0
  56. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/ro/LC_MESSAGES/python-docs-theme.po +0 -0
  57. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/ru/LC_MESSAGES/python-docs-theme.po +0 -0
  58. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/sv/LC_MESSAGES/python-docs-theme.po +0 -0
  59. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/tr/LC_MESSAGES/python-docs-theme.po +0 -0
  60. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/zh_CN/LC_MESSAGES/python-docs-theme.po +0 -0
  61. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/locale/zh_TW/LC_MESSAGES/python-docs-theme.po +0 -0
  62. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/static/copybutton.js +0 -0
  63. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/static/menu.js +0 -0
  64. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/static/py.svg +0 -0
  65. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/static/search-focus.js +0 -0
  66. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/static/themetoggle.js +0 -0
  67. {python_docs_theme-2026.3 → python_docs_theme-2026.7}/python_docs_theme/theme.toml +0 -0
@@ -0,0 +1,3 @@
1
+ [javascript: **.js]
2
+
3
+ [jinja2: **.html]
@@ -0,0 +1,14 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: monthly
7
+ assignees:
8
+ - "ezio-melotti"
9
+ groups:
10
+ actions:
11
+ patterns:
12
+ - "*"
13
+ cooldown:
14
+ default-days: 7
@@ -0,0 +1,5 @@
1
+ changelog:
2
+ exclude:
3
+ authors:
4
+ - dependabot[bot]
5
+ - pre-commit-ci[bot]
@@ -0,0 +1,19 @@
1
+ name: Lint
2
+
3
+ on: [push, pull_request, workflow_dispatch]
4
+
5
+ permissions: {}
6
+
7
+ env:
8
+ FORCE_COLOR: 1
9
+ RUFF_OUTPUT_FORMAT: github
10
+
11
+ jobs:
12
+ lint:
13
+ runs-on: ubuntu-latest
14
+
15
+ steps:
16
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
17
+ with:
18
+ persist-credentials: false
19
+ - uses: j178/prek-action@bdca6f102f98e2b4c7029491a53dfd366469e33d # v2.0.4
@@ -0,0 +1,52 @@
1
+ name: Build & maybe upload PyPI package
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+ release:
7
+ types:
8
+ - published
9
+ workflow_dispatch:
10
+
11
+ permissions: {}
12
+
13
+ env:
14
+ FORCE_COLOR: 1
15
+
16
+ jobs:
17
+ # Always build & lint package.
18
+ build-package:
19
+ name: Build & verify package
20
+ runs-on: ubuntu-latest
21
+
22
+ steps:
23
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
24
+ with:
25
+ persist-credentials: false
26
+ - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
27
+
28
+ - uses: hynek/build-and-inspect-python-package@d44ca7d91762de7a7d5436ddae667c6da6d1c3df # v2.18.0
29
+
30
+ # Upload to real PyPI on GitHub Releases.
31
+ release-pypi:
32
+ name: Publish to PyPI
33
+ environment: release-pypi
34
+ # Only run for published releases.
35
+ if: |
36
+ github.repository_owner == 'python'
37
+ && github.event.action == 'published'
38
+ runs-on: ubuntu-latest
39
+ needs: build-package
40
+
41
+ permissions:
42
+ id-token: write
43
+
44
+ steps:
45
+ - name: Download packages built by build-and-inspect-python-package
46
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
47
+ with:
48
+ name: Packages
49
+ path: dist
50
+
51
+ - name: Upload package to PyPI
52
+ uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0
@@ -0,0 +1,95 @@
1
+ name: Tests
2
+
3
+ on: [push, pull_request, workflow_dispatch]
4
+
5
+ permissions: {}
6
+
7
+ env:
8
+ FORCE_COLOR: 1
9
+
10
+ jobs:
11
+ build_doc:
12
+ name: Build CPython docs
13
+ runs-on: ubuntu-latest
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ python-version: ["3.15", "3.14", "3.13", "3.12"]
18
+ include:
19
+ - python-version: "3.15"
20
+ branch: "main"
21
+ steps:
22
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
23
+ with:
24
+ persist-credentials: false
25
+ - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
26
+ with:
27
+ python-version: ${{ matrix.python-version }}
28
+ allow-prereleases: true
29
+ cache: pip
30
+ - name: Clone docsbuild scripts
31
+ run: |
32
+ git clone https://github.com/python/docsbuild-scripts/
33
+ - name: Set up requirements
34
+ run: |
35
+ python -m pip install --upgrade pip
36
+ python -m pip install -r docsbuild-scripts/requirements.txt
37
+ - name: Build documentation
38
+ run: >
39
+ python ./docsbuild-scripts/build_docs.py
40
+ --quick
41
+ --build-root ./build_root
42
+ --www-root ./www
43
+ --log-directory ./logs
44
+ --group "$(id -g)"
45
+ --skip-cache-invalidation
46
+ --theme "$(pwd)"
47
+ --languages en
48
+ --branches ${{ matrix.branch || matrix.python-version }}
49
+ ${{ matrix.branch == 'main' && '--select-output no-html' || '' }}
50
+ - name: Show logs
51
+ if: failure()
52
+ run: |
53
+ cat ./logs/docsbuild.log
54
+ - name: Upload
55
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
56
+ with:
57
+ name: doc-html-${{ matrix.python-version }}
58
+ path: www/
59
+
60
+ translations:
61
+ runs-on: ${{ matrix.os }}
62
+ strategy:
63
+ fail-fast: false
64
+ matrix:
65
+ os: ["ubuntu-latest", "windows-latest"]
66
+ # Test minimum supported and latest stable from 3.x series
67
+ python-version: ["3.12", "3"]
68
+ steps:
69
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
70
+ with:
71
+ persist-credentials: false
72
+ - uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
73
+ with:
74
+ python-version: ${{ matrix.python-version }}
75
+ allow-prereleases: true
76
+ cache: pip
77
+ - name: Install dependencies
78
+ run: |
79
+ pip install --upgrade pip
80
+ pip install -r requirements.txt
81
+ - name: Remove locale file for testing
82
+ shell: bash
83
+ run: rm -rf python_docs_theme/locale/pt_BR/
84
+ - run: python babel_runner.py extract
85
+ - run: python babel_runner.py init -l pt_BR
86
+ - run: python babel_runner.py update
87
+ - run: python babel_runner.py update -l pt_BR
88
+ - run: python babel_runner.py compile
89
+ - run: python babel_runner.py compile -l pt_BR
90
+ - name: Print .pot file
91
+ shell: bash
92
+ run: cat python_docs_theme/locale/python-docs-theme.pot
93
+ - name: Print .po file
94
+ shell: bash
95
+ run: cat python_docs_theme/locale/pt_BR/LC_MESSAGES/python-docs-theme.po
@@ -0,0 +1,101 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ env/
12
+ build/
13
+ develop-eggs/
14
+ dist/
15
+ downloads/
16
+ eggs/
17
+ .eggs/
18
+ lib/
19
+ lib64/
20
+ parts/
21
+ sdist/
22
+ var/
23
+ wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+
28
+ # PyInstaller
29
+ # Usually these files are written by a python script from a template
30
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
31
+ *.manifest
32
+ *.spec
33
+
34
+ # Installer logs
35
+ pip-log.txt
36
+ pip-delete-this-directory.txt
37
+
38
+ # Unit test / coverage reports
39
+ htmlcov/
40
+ .tox/
41
+ .coverage
42
+ .coverage.*
43
+ .cache
44
+ nosetests.xml
45
+ coverage.xml
46
+ *.cover
47
+ .hypothesis/
48
+
49
+ # Translations
50
+ *.mo
51
+ *.pot
52
+
53
+ # Django stuff:
54
+ *.log
55
+ local_settings.py
56
+
57
+ # Flask stuff:
58
+ instance/
59
+ .webassets-cache
60
+
61
+ # Scrapy stuff:
62
+ .scrapy
63
+
64
+ # Sphinx documentation
65
+ docs/_build/
66
+
67
+ # PyBuilder
68
+ target/
69
+
70
+ # Jupyter Notebook
71
+ .ipynb_checkpoints
72
+
73
+ # pyenv
74
+ .python-version
75
+
76
+ # celery beat schedule file
77
+ celerybeat-schedule
78
+
79
+ # SageMath parsed files
80
+ *.sage.py
81
+
82
+ # dotenv
83
+ .env
84
+
85
+ # virtualenv
86
+ .venv
87
+ venv/
88
+ ENV/
89
+
90
+ # Spyder project settings
91
+ .spyderproject
92
+ .spyproject
93
+
94
+ # Rope project settings
95
+ .ropeproject
96
+
97
+ # mkdocs documentation
98
+ /site
99
+
100
+ # mypy
101
+ .mypy_cache/
@@ -0,0 +1,56 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ rev: v0.15.20
4
+ hooks:
5
+ - id: ruff-check
6
+ args: [--exit-non-zero-on-fix]
7
+
8
+ - repo: https://github.com/psf/black-pre-commit-mirror
9
+ rev: 26.5.1
10
+ hooks:
11
+ - id: black
12
+
13
+ - repo: https://github.com/pre-commit/pre-commit-hooks
14
+ rev: v6.0.0
15
+ hooks:
16
+ - id: check-case-conflict
17
+ - id: check-merge-conflict
18
+ - id: check-toml
19
+ - id: check-yaml
20
+ - id: debug-statements
21
+ - id: end-of-file-fixer
22
+ - id: trailing-whitespace
23
+
24
+ - repo: https://github.com/python-jsonschema/check-jsonschema
25
+ rev: 0.37.4
26
+ hooks:
27
+ - id: check-dependabot
28
+ - id: check-github-workflows
29
+
30
+ - repo: https://github.com/rhysd/actionlint
31
+ rev: v1.7.12
32
+ hooks:
33
+ - id: actionlint
34
+
35
+ - repo: https://github.com/zizmorcore/zizmor-pre-commit
36
+ rev: v1.26.1
37
+ hooks:
38
+ - id: zizmor
39
+
40
+ - repo: https://github.com/tox-dev/pyproject-fmt
41
+ rev: v2.25.1
42
+ hooks:
43
+ - id: pyproject-fmt
44
+
45
+ - repo: https://github.com/abravalheri/validate-pyproject
46
+ rev: v0.25
47
+ hooks:
48
+ - id: validate-pyproject
49
+
50
+ - repo: meta
51
+ hooks:
52
+ - id: check-hooks-apply
53
+ - id: check-useless-excludes
54
+
55
+ ci:
56
+ autoupdate_schedule: quarterly
@@ -0,0 +1,15 @@
1
+ # Read the Docs configuration file
2
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3
+ # Project page: https://readthedocs.org/projects/python-docs-theme-previews/
4
+
5
+ version: 2
6
+
7
+ build:
8
+ os: ubuntu-22.04
9
+ tools:
10
+ python: "3"
11
+
12
+ commands:
13
+ - git clone --depth=1 https://github.com/python/cpython
14
+ - make html CPYTHON_PATH=cpython
15
+ - mv cpython/Doc/build _readthedocs
@@ -0,0 +1,273 @@
1
+ # Changelog
2
+
3
+ ## [2026.7](https://github.com/python/python-docs-theme/releases/tag/2026.7)
4
+
5
+ * Add Vietnamese translation by @StanFromIreland in https://github.com/python/python-docs-theme/pull/309
6
+ * Switch to Hatchling build hooks for i18n packaging and exclude .po from wheels by @StanFromIreland in https://github.com/python/python-docs-theme/pull/312
7
+
8
+ ## [2026.4](https://github.com/python/python-docs-theme/releases/tag/2026.4)
9
+
10
+ * Add styling for the `soft-deprecated` class by @StanFromIreland
11
+ in https://github.com/python/python-docs-theme/pull/305
12
+ * Add Tamil translation in https://github.com/python/python-docs-theme/pull/304
13
+ * Fix the vertical alignment of `:Editor:` by @pradyunsg in
14
+ https://github.com/python/python-docs-theme/pull/303
15
+
16
+ ## [2026.3](https://github.com/python/python-docs-theme/releases/tag/2026.3)
17
+
18
+ * Add colors for new thread-safety levels by @lysnikolaou in https://github.com/python/python-docs-theme/pull/299
19
+
20
+ ## [2026.2](https://github.com/python/python-docs-theme/releases/tag/2026.2)
21
+
22
+ * Style codeblock `:caption:` by @StanFromIreland in https://github.com/python/python-docs-theme/pull/288
23
+ * Enable copy button for shell sessions and consoles by @hugovk in https://github.com/python/python-docs-theme/pull/295
24
+ * Add colors for thread safety annotations by @lysnikolaou in https://github.com/python/python-docs-theme/pull/297
25
+
26
+ ## [2025.12](https://github.com/python/python-docs-theme/releases/tag/2025.12)
27
+
28
+ * Add support for green, red and yellow side borders for code examples by @hugovk in https://github.com/python/python-docs-theme/pull/285
29
+ * Add Portuguese translation by @NyaPuma in https://github.com/python/python-docs-theme/pull/281
30
+ * Add support for Python 3.15 by @hugovk in https://github.com/python/python-docs-theme/pull/282
31
+ * Convert CHANGELOG and CONTRIBUTING from .rst to .md by @hugovk in https://github.com/python/python-docs-theme/pull/277
32
+ * Add zizmor to CI and fix findings by @hugovk in https://github.com/python/python-docs-theme/pull/283
33
+
34
+ ## [2025.10](https://github.com/python/python-docs-theme/releases/tag/2025.10)
35
+
36
+ * Add Romanian translation by @octaG-M in https://github.com/python/python-docs-theme/pull/272
37
+ * Add Arabic and Russian translations by @StanFromIreland in https://github.com/python/python-docs-theme/pull/274
38
+ * Add French translation by @JulienPalard in https://github.com/python/python-docs-theme/pull/275
39
+ * Update authors in `pyproject.toml` by @StanFromIreland in https://github.com/python/python-docs-theme/pull/271
40
+ * Add link to devguide in README by @StanFromIreland in https://github.com/python/python-docs-theme/pull/266
41
+
42
+ ## [2025.9.2](https://github.com/python/python-docs-theme/releases/tag/2025.9.2)
43
+
44
+ * Add Korean and Indonesian translations from Transifex in https://github.com/python/python-docs-theme/pull/264
45
+ * Add German translation by @cmaureir in https://github.com/python/python-docs-theme/pull/262
46
+ * Fix compilation of translations and loading of translations on pages with html
47
+ source in https://github.com/python/python-docs-theme/pull/263
48
+ * Fix search button cutting off long translations in https://github.com/python/python-docs-theme/pull/268
49
+ * Fix `Copy` button copying line numbers by @StanFromIreland in https://github.com/python/python-docs-theme/pull/270
50
+
51
+ ## [2025.9.1](https://github.com/python/python-docs-theme/releases/tag/2025.9.1)
52
+
53
+ * Add Japanese, Turkish and Spanish translations from Transifex in https://github.com/python/python-docs-theme/pull/259
54
+
55
+ ## [2025.9](https://github.com/python/python-docs-theme/releases/tag/2025.9)
56
+
57
+ * Enable theme translation and add Polish by @StanFromIreland in https://github.com/python/python-docs-theme/pull/246
58
+ * Add Greek translation by @lysnikolaou and @skpanagiotis in https://github.com/python/python-docs-theme/pull/256 and https://github.com/python/python-docs-theme/pull/257
59
+ * Add Swedish translation by @yeager in https://github.com/python/python-docs-theme/pull/250
60
+ * Add Brazilian Portuguese, Simplified Chinese and Traditional Chinese translations from [Transifex](https://explore.transifex.com/python-doc/python-docs-theme/) in https://github.com/python/python-docs-theme/pull/253
61
+
62
+ ## [2025.5](https://github.com/python/python-docs-theme/releases/tag/2025.5)
63
+
64
+ * Make the copy button only appear when hovered over or clicked on by @kevteg in https://github.com/python/python-docs-theme/pull/243
65
+
66
+ ## [2025.4.1](https://github.com/python/python-docs-theme/releases/tag/2025.4.1)
67
+
68
+ * Fix copy button with multiple tracebacks by @tomasr8 in https://github.com/python/python-docs-theme/pull/240
69
+
70
+ ## [2025.4](https://github.com/python/python-docs-theme/releases/tag/2025.4)
71
+
72
+ * Require Sphinx 7.3 by @AA-Turner in https://github.com/python/python-docs-theme/pull/221
73
+ * Add support for Python 3.14 by @hugovk https://github.com/python/python-docs-theme/pull/236
74
+ * Drop support for Python 3.10 and 3.11 by @hugovk in https://github.com/python/python-docs-theme/pull/234
75
+ * Add a copy button to code samples by @tomasr8 in https://github.com/python/python-docs-theme/pull/231
76
+ * Add missing i18n for copy button titles by @tomasr8 in https://github.com/python/python-docs-theme/pull/225
77
+ * Use consistent line-height for light & dark theme by @tomasr8 in https://github.com/python/python-docs-theme/pull/227
78
+ * Remove self-closing tags by @hugovk in https://github.com/python/python-docs-theme/pull/226
79
+ * Replace deprecated classifier with licence expression (PEP 639) by @hugovk in https://github.com/python/python-docs-theme/pull/237
80
+
81
+ ## [2025.2](https://github.com/python/python-docs-theme/releases/tag/2025.2)
82
+
83
+ - Note minimum requirements for Sphinx (#216)
84
+ Contributed by Adam Turner
85
+ - Horizontally centre the sidebar collapse button (#219)
86
+ Contributed by Tomas Roun
87
+ - Make sidebar width more flexible (#218)
88
+ Contributed by Tomas Roun
89
+ - Set `__version__` in the runtime package (#222)
90
+ Contributed by Adam Turner
91
+
92
+ ## [2024.12](https://github.com/python/python-docs-theme/releases/tag/2024.12)
93
+
94
+ - Hide header and search bar when printing (#204)
95
+ Contributed by Hugo van Kemenade
96
+
97
+ ## [2024.10](https://github.com/python/python-docs-theme/releases/tag/2024.10)
98
+
99
+ - Add support for Python 3.13 (#196)
100
+ Contributed by Hugo van Kemenade
101
+ - Drop support for Python 3.8 (#197)
102
+ Contributed by Hugo van Kemenade
103
+ - Add script for handling translations (#195)
104
+ Contributed by Rafael Fontenelle
105
+ - Generate digital attestations for PyPI (PEP 740) (#198)
106
+ Contributed by Hugo van Kemenade
107
+
108
+ ## [2024.6](https://github.com/python/python-docs-theme/releases/tag/2024.6)
109
+
110
+ - Add backgrounds and borders to admonitions (#190)
111
+ Contributed by Hugo van Kemenade
112
+ - Use different colour for 'Return value: Borrowed reference' (#188)
113
+ Contributed by Hugo van Kemenade
114
+
115
+ ## [2024.4](https://github.com/python/python-docs-theme/releases/tag/2024.4)
116
+
117
+ - Add colour to version change directives (#185)
118
+ Contributed by Hugo van Kemenade
119
+ - Only show 'Last updated on ...' when `last_updated` defined (#183)
120
+ Contributed by Hugo van Kemenade
121
+ - Use system font stack for all code (#186)
122
+ Contributed by Hugo van Kemenade
123
+
124
+ ## [2024.3](https://github.com/python/python-docs-theme/releases/tag/2024.3)
125
+
126
+ - Modernise font: use system font stack to improve text readability and webpage performance (#174)
127
+ Contributed by Hugo van Kemenade
128
+ - Remove incorrect CSS property (#178)
129
+ Contributed by Kerim Kabirov
130
+
131
+ ## [2024.2](https://github.com/python/python-docs-theme/releases/tag/2024.2)
132
+
133
+ - Do not underline navigation links (#169)
134
+ Contributed by Hugo van Kemenade
135
+ - Only apply underline offset to code formatting for underline visibility (#171)
136
+ Contributed by Hugo van Kemenade
137
+
138
+ ## [2024.1](https://github.com/python/python-docs-theme/releases/tag/2024.1)
139
+
140
+ - Underline links for readability and a11y (#160, #166)
141
+ Contributed by Hugo van Kemenade
142
+ - Add `hosted_on` variable for a link in the footer (#165)
143
+ Contributed by Hugo van Kemenade
144
+ - Consistently reference `theme_root_icon` (#163)
145
+ Contributed by Marko Budiselic
146
+ - Dark mode: fix contrast of footer highlight (#162)
147
+ Contributed by Hugo van Kemenade
148
+
149
+ ## [2023.9](https://github.com/python/python-docs-theme/releases/tag/2023.9)
150
+
151
+ - Focus search box when pressing slash (#153)
152
+ Contributed by Hugo van Kemenade
153
+
154
+ ## [2023.8](https://github.com/python/python-docs-theme/releases/tag/2023.8)
155
+
156
+ - Add Python 3.12 and 3.13 classifiers (#147)
157
+ Contributed by Hugo van Kemenade
158
+ - Dark mode: Also give aside.topic a dark background (#150)
159
+ Contributed by Hugo van Kemenade
160
+ - Restore the menu on mobile devices (inadvertently broken in 2023.7) (#146)
161
+ Contributed by Hugo van Kemenade
162
+
163
+ ## [2023.7](https://github.com/python/python-docs-theme/releases/tag/2023.7)
164
+
165
+ - Fix compatibility with Sphinx 7.1 (#137)
166
+ Contributed by Pradyun Gedam
167
+ - Enable the slash keypress to focus the search field (#141)
168
+ Contributed by Mike Fiedler
169
+ - Sphinx 6.2 fix: add `nav.contents` where `div.topic` is used (#138)
170
+ Contributed by Hugo van Kemenade
171
+ - Dark mode: fix contrast for C++ specific styling (#133)
172
+ Contributed by Hugo van Kemenade
173
+ - Don't let long code literals extend beyond the right side of the screen (#139)
174
+ Contributed by Hugo van Kemenade
175
+ - Test with Python 3.12 (#140)
176
+ Contributed by Hugo van Kemenade
177
+
178
+ ## [2023.5](https://github.com/python/python-docs-theme/releases/tag/2023.5)
179
+
180
+ - Add a dark theme. (#44)
181
+ Contributed by Nils K
182
+ - Fix: Remove searchbox id from form. (fixes #117)
183
+ Contributed by Nils K
184
+ - Update `python-docs-theme` to work with Sphinx 5 & 6. (#99 & #127)
185
+ Contributed by Adam Turner
186
+ - Override font for `.sig` for consistency with other code blocks. (#121)
187
+ Contributed by Chris Warrick
188
+ - Dark mode: add class to invert image brightness. (#128)
189
+ Contributed by Hugo van Kemenade
190
+
191
+
192
+ ## [2023.3.1](https://github.com/python/python-docs-theme/releases/tag/2023.3.1)
193
+
194
+ - Skip cache-busting for old Sphinx #113
195
+
196
+
197
+ ## [2023.3](https://github.com/python/python-docs-theme/releases/tag/2023.3)
198
+
199
+ - Fix problem with monospace rendering in Vivaldi #104
200
+ - Fix mobile nav obstructing content #96
201
+ - Reduce footer margin only for desktop #106
202
+ - Append a hash ?digest to CSS files for cache-busting #108
203
+
204
+
205
+ ## [2022.1](https://github.com/python/python-docs-theme/releases/tag/2022.1)
206
+
207
+ - Add a configuration for license URL. (#90)
208
+ - Exclude the floating navbar from CHM help. (#84)
209
+ - Make sidebar scrollable and sticky (on modern browsers) (#91)
210
+
211
+
212
+ ## [2021.11.1](https://github.com/python/python-docs-theme/releases/tag/2021.11.1)
213
+
214
+ - Fix monospace again, on buggy Google Chrome (#87)
215
+ Contributed by Tushar Sadhwani
216
+
217
+
218
+ ## [2021.11](https://github.com/python/python-docs-theme/releases/tag/2021.11)
219
+
220
+ - Fix monospace on buggy Google Chrome (#85)
221
+ Contributed by Tushar Sadhwani
222
+
223
+
224
+ ## [2021.8](https://github.com/python/python-docs-theme/releases/tag/2021.8)
225
+
226
+ - Add the copyright_url variable in the theme (#67)
227
+ Contributed by jablonskidev
228
+ - Improve readability (#79)
229
+ Contributed by Olga Bulat
230
+ - Remove #searchbox on mobile to fix a layout bug (#76)
231
+ Contributed by Olga Bulat
232
+ - Fix the appearance of version/language selects (#74)
233
+ Contributed by Olga Bulat
234
+
235
+
236
+ ## [2021.5](https://github.com/python/python-docs-theme/releases/tag/2021.5)
237
+
238
+ - Make the theme responsive (#46)
239
+ Contributed by Olga Bulat.
240
+ - Use Python 3.8 for the Github Actions (#71)
241
+ Contributed by Stéphane Wirtel.
242
+ - Use default pygments theme (#68)
243
+ Contributed by Aaron Carlisle.
244
+ - Test Github action to validate the theme against docsbuild scripts. (#69)
245
+ Contributed by Julien Palard.
246
+ - Add the copy button to pycon3 highlighted code blocks. (#64)
247
+ Contributed by Julien Palard.
248
+
249
+
250
+ ## [2020.12](https://github.com/python/python-docs-theme/releases/tag/v2020.12)
251
+
252
+ - Updated the readme, to remind user to install the package in a virtual environment. (#41)
253
+ Contributed by Mariatta.
254
+ - Updated the package url, using the GitHub repository instead of docs.python.org (#49)
255
+ Contributed by Pradyun Gedam.
256
+ - Added license information to the footer of the doc (#36)
257
+ Contributed by Todd.
258
+ - Fixed typo in the footer (#52)
259
+ Contributed by Dominic Davis-Foster.
260
+ - Added information on how to use the package (#32)
261
+ Contributed by Tapasweni Pathak.
262
+ - Fixed code formatting (#53).
263
+ Contributed by Hugo van Kemenade.
264
+ - Fixed code bgcolor and codetextcolor for Sphinx 3.1.0+ (#57)
265
+ Contributed by Zhiming Wang.
266
+
267
+ ## 2018.7
268
+ Corresponds to [44a8f30](https://github.com/python/python-docs-theme/commit/44a8f306db9ec86d277a8a687538d5d51e415130)
269
+
270
+
271
+ ## [2018.2](https://github.com/python/python-docs-theme/releases/tag/2018.2)
272
+
273
+ Initial release.
@@ -0,0 +1,27 @@
1
+ # How to release
2
+
3
+ - Update `CHANGELOG.md`
4
+ - Bump version (YYYY.MM) in `python_docs_theme/__init__.py`
5
+ - Commit
6
+ - Push to check tests pass on
7
+ [GitHub Actions](https://github.com/python/python-docs-theme/actions)
8
+ - Go to https://github.com/python/python-docs-theme/releases
9
+ - Click "Draft a new release"
10
+ - Click "Tag: Select tag"
11
+ - Type the next YYYY.MM version (no leading zero) and
12
+ select "Create new tag"
13
+ - Click "Create" for "YYYY.MM will be created on publish"
14
+ - Leave the "Release title" blank (it will be autofilled)
15
+ - Click "Generate release notes" and amend as required
16
+ - Click "Publish release"
17
+ - Check the tagged [GitHub Actions build](https://github.com/python/python-docs-theme/actions/workflows/pypi-package.yml)
18
+ has deployed to [PyPI](https://pypi.org/project/python-docs-theme/#history)
19
+
20
+ # Makefile usage
21
+
22
+ This project includes a simple Makefile for syncing changes to the theme with
23
+ the main CPython repository. Run `make help` for details on available rules.
24
+
25
+ There is one configurable variable, `CPYTHON_PATH`, which should be the path
26
+ to the CPython repository on your machine. By default, it points to
27
+ `../cpython`.