documenteer 2.0.0a3__tar.gz → 2.0.0a4__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 (239) hide show
  1. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.github/workflows/ci-cron.yaml +27 -8
  2. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.github/workflows/ci.yaml +48 -13
  3. documenteer-2.0.0a4/Makefile +25 -0
  4. {documenteer-2.0.0a3/src/documenteer.egg-info → documenteer-2.0.0a4}/PKG-INFO +15 -47
  5. documenteer-2.0.0a4/changelog.d/20250224_102742_jsick_graphviz_ci.md +17 -0
  6. documenteer-2.0.0a4/changelog.d/20250625_141008_jsick_DM_51536.md +17 -0
  7. documenteer-2.0.0a4/changelog.d/20250630_113114_jsick_update_theme.md +18 -0
  8. documenteer-2.0.0a4/changelog.d/20250703_103944_jsick_DM_51688.md +23 -0
  9. documenteer-2.0.0a4/changelog.d/20250710_133037_jsick_DM_51727.md +17 -0
  10. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/Makefile +1 -1
  11. documenteer-2.0.0a4/licenses/README.md +9 -0
  12. documenteer-2.0.0a4/licenses/sphinxcontrib-redoc.txt +23 -0
  13. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/pyproject.toml +45 -34
  14. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/rubin-pydata-theme.css +16 -9
  15. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/cli.py +12 -9
  16. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/conf/guide.py +46 -21
  17. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/conf/technote.py +14 -0
  18. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/ext/bibtex.py +10 -1
  19. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/ext/githubbibcache.py +3 -2
  20. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/ext/jira.py +10 -1
  21. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/ext/lsstdocushare.py +10 -1
  22. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/ext/mockcoderefs.py +10 -1
  23. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/ext/openapi.py +3 -2
  24. documenteer-2.0.0a4/src/documenteer/ext/redoc/__init__.py +5 -0
  25. documenteer-2.0.0a4/src/documenteer/ext/redoc/_redoc.py +131 -0
  26. documenteer-2.0.0a4/src/documenteer/ext/redoc/assets/redoc.html.jinja2 +36 -0
  27. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/ext/remotecodeblock.py +4 -2
  28. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/services/technoteauthor.py +7 -17
  29. documenteer-2.0.0a4/src/documenteer/storage/authordb.py +102 -0
  30. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/storage/technotetoml.py +12 -12
  31. {documenteer-2.0.0a3 → documenteer-2.0.0a4/src/documenteer.egg-info}/PKG-INFO +15 -47
  32. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer.egg-info/SOURCES.txt +15 -0
  33. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer.egg-info/requires.txt +5 -21
  34. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/conftest.py +0 -6
  35. documenteer-2.0.0a4/tests/ext/redoc_test.py +88 -0
  36. documenteer-2.0.0a4/tests/roots/test-redoc/_static/openapi.json +1 -0
  37. documenteer-2.0.0a4/tests/roots/test-redoc/api.rst +5 -0
  38. documenteer-2.0.0a4/tests/roots/test-redoc/conf.py +1 -0
  39. documenteer-2.0.0a4/tests/roots/test-redoc/documenteer.toml +10 -0
  40. documenteer-2.0.0a4/tests/roots/test-redoc/index.rst +8 -0
  41. documenteer-2.0.0a4/tests/services/technotemigration_test.py +104 -0
  42. documenteer-2.0.0a4/tests/storage/authordb_test.py +65 -0
  43. documenteer-2.0.0a4/tests/storage/technotetoml_test.py +125 -0
  44. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tox.ini +12 -5
  45. documenteer-2.0.0a3/Makefile +0 -18
  46. documenteer-2.0.0a3/licenses/README.md +0 -4
  47. documenteer-2.0.0a3/src/documenteer/storage/authordb.py +0 -168
  48. documenteer-2.0.0a3/tests/services/technotemigration_test.py +0 -73
  49. documenteer-2.0.0a3/tests/storage/authordb_test.py +0 -34
  50. documenteer-2.0.0a3/tests/storage/technotetoml_test.py +0 -59
  51. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.flake8 +0 -0
  52. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.github/CODE_OF_CONDUCT.md +0 -0
  53. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.github/CONTRIBUTING.md +0 -0
  54. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.github/SUPPORT.md +0 -0
  55. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.github/dependabot.yml +0 -0
  56. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.gitignore +0 -0
  57. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.npmrc +0 -0
  58. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.nvmrc +0 -0
  59. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.pre-commit-config.yaml +0 -0
  60. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.prettierignore +0 -0
  61. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.prettierrc.yaml +0 -0
  62. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.vscode/settings.json +0 -0
  63. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/.vscode/tasks.json +0 -0
  64. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/CHANGELOG.md +0 -0
  65. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/LICENSE +0 -0
  66. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/MANIFEST.in +0 -0
  67. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/README.md +0 -0
  68. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/changelog.d/20240819_152413_jsick_DM_45803.md +0 -0
  69. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/changelog.d/20241010_133336_danfuchs_mermaid_compat.md +0 -0
  70. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/changelog.d/20250203_175511_jsick_DM_48755.md +0 -0
  71. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/changelog.d/20250219_160628_jsick_DM_49037.md +0 -0
  72. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/changelog.d/_template.md.jinja +0 -0
  73. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/ipynb-technote/.gitignore +0 -0
  74. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/ipynb-technote/Makefile +0 -0
  75. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/ipynb-technote/conf.py +0 -0
  76. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/ipynb-technote/diagram.py +0 -0
  77. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/ipynb-technote/extra-notebook.ipynb +0 -0
  78. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/ipynb-technote/index.ipynb +0 -0
  79. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/ipynb-technote/subdir/subdir-notebook.ipynb +0 -0
  80. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/ipynb-technote/technote.toml +0 -0
  81. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/md-technote/.gitignore +0 -0
  82. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/md-technote/Makefile +0 -0
  83. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/md-technote/conf.py +0 -0
  84. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/md-technote/diagram.py +0 -0
  85. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/md-technote/index.md +0 -0
  86. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/md-technote/technote.toml +0 -0
  87. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/rst-technote/.gitignore +0 -0
  88. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/rst-technote/Makefile +0 -0
  89. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/rst-technote/conf.py +0 -0
  90. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/rst-technote/diagram.py +0 -0
  91. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/rst-technote/index.rst +0 -0
  92. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/demo/rst-technote/technote.toml +0 -0
  93. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/.gitignore +0 -0
  94. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/_rst_epilog.rst +0 -0
  95. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/changelog.md +0 -0
  96. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/conf.py +0 -0
  97. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/dev/api/documenteer.conf.rst +0 -0
  98. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/dev/api/documenteer.ext.rst +0 -0
  99. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/dev/api/documenteer.requestsutils.rst +0 -0
  100. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/dev/api/index.rst +0 -0
  101. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/dev/development.rst +0 -0
  102. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/dev/html-templates.rst +0 -0
  103. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/dev/index.rst +0 -0
  104. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/dev/release.rst +0 -0
  105. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/dev/theme-assets.rst +0 -0
  106. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/dev/theme.rst +0 -0
  107. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/documenteer.toml +0 -0
  108. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/badges.rst +0 -0
  109. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/configuration-preset.rst +0 -0
  110. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/configuration.rst +0 -0
  111. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/diagrams.rst +0 -0
  112. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/extend-conf-py.rst +0 -0
  113. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/including-notebooks.ipynb +0 -0
  114. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/index.rst +0 -0
  115. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/markdown-primer.md +0 -0
  116. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/openapi.rst +0 -0
  117. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/organization.rst +0 -0
  118. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/overview.rst +0 -0
  119. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/page-redirects.rst +0 -0
  120. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/pyproject-configuration.rst +0 -0
  121. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/rst-epilog.rst +0 -0
  122. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/tabsets.rst +0 -0
  123. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/toml-reference.rst +0 -0
  124. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/guides/video-embeds.rst +0 -0
  125. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/index.rst +0 -0
  126. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/sphinx-extensions/docushare-reference.rst +0 -0
  127. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/sphinx-extensions/githubbibcache.rst +0 -0
  128. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/sphinx-extensions/index.rst +0 -0
  129. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/sphinx-extensions/jira-reference.rst +0 -0
  130. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/sphinx-extensions/lsst-pybtex-style.rst +0 -0
  131. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/sphinx-extensions/openapi.rst +0 -0
  132. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/sphinx-extensions/remote-code-block.rst +0 -0
  133. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/technotes/_templates/README.md +0 -0
  134. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/technotes/_templates/README.rst +0 -0
  135. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/technotes/author-metadata.rst +0 -0
  136. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/technotes/configuration.rst +0 -0
  137. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/technotes/document-status.rst +0 -0
  138. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/technotes/edit-locally.rst +0 -0
  139. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/technotes/edit-on-github.rst +0 -0
  140. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/technotes/extensions.rst +0 -0
  141. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/technotes/how-your-technote-gets-published.rst +0 -0
  142. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/technotes/index.rst +0 -0
  143. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/technotes/migrate.rst +0 -0
  144. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/technotes/start-a-technote.rst +0 -0
  145. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/docs/technotes/wide-content.rst +0 -0
  146. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/licenses/astropy-helpers.txt +0 -0
  147. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/licenses/sphinx-issue.txt +0 -0
  148. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/licenses/sphinx.txt +0 -0
  149. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/package-lock.json +0 -0
  150. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/package.json +0 -0
  151. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/postcss.config.js +0 -0
  152. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/ruff-shared.toml +0 -0
  153. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/setup.cfg +0 -0
  154. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/assets/rubin-technote/styles/SourceSans3VF-Italic.ttf.woff2 +0 -0
  155. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/assets/rubin-technote/styles/SourceSans3VF-Upright.ttf.woff2 +0 -0
  156. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/assets/rubin-technote/styles/_hacks.scss +0 -0
  157. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/assets/rubin-technote/styles/_properties.scss +0 -0
  158. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/assets/rubin-technote/styles/components/_article-header.scss +0 -0
  159. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/assets/rubin-technote/styles/components/_authors.scss +0 -0
  160. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/assets/rubin-technote/styles/components/_global-breadcrumbs.scss +0 -0
  161. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/assets/rubin-technote/styles/components/_index.scss +0 -0
  162. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/assets/rubin-technote/styles/components/_sidebar-section.scss +0 -0
  163. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/assets/rubin-technote/styles/components/_version-info.scss +0 -0
  164. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/assets/rubin-technote/styles/rubin-technote.scss +0 -0
  165. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/__init__.py +0 -0
  166. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/.gitignore +0 -0
  167. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/731c8feefe13e72a8691.woff2 +0 -0
  168. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/b8bc3440ba2145e132f5.woff2 +0 -0
  169. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/favicon.ico +0 -0
  170. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/rsd-assets/rubin-imagotype-color-on-black-crop.svg +0 -0
  171. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/rsd-assets/rubin-imagotype-color-on-white-crop.svg +0 -0
  172. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/rubin-favicon-transparent-32px.png +0 -0
  173. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/rubin-favicon.svg +0 -0
  174. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/rubin-technote.css +0 -0
  175. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/rubin-technote.css.map +0 -0
  176. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/rubin-titlebar-imagotype-dark.svg +0 -0
  177. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/rubin-titlebar-imagotype-light.svg +0 -0
  178. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/scripts/rubin-technote.js +0 -0
  179. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/assets/scripts/rubin-technote.js.map +0 -0
  180. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/conf/__init__.py +0 -0
  181. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/conf/_toml.py +0 -0
  182. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/conf/_utils.py +0 -0
  183. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/ext/__init__.py +0 -0
  184. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/packagemetadata.py +0 -0
  185. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/py.typed +0 -0
  186. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/requestsutils.py +0 -0
  187. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/services/__init__.py +0 -0
  188. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/services/technotemigration.py +0 -0
  189. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/storage/__init__.py +0 -0
  190. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/storage/latex.py +0 -0
  191. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/storage/localtemplates/technote/Makefile +0 -0
  192. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/storage/localtemplates/technote/README.rst +0 -0
  193. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/storage/localtemplates/technote/ci.yaml +0 -0
  194. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/storage/localtemplates/technote/conf.py +0 -0
  195. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/storage/localtemplates/technote/dependabot.yml +0 -0
  196. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/storage/localtemplates/technote/gitignore +0 -0
  197. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/storage/localtemplates/technote/pre-commit-config.yaml +0 -0
  198. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/storage/localtemplates/technote/requirements.txt +0 -0
  199. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/storage/localtemplates/technote/tox.ini +0 -0
  200. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/storage/localtemplates.py +0 -0
  201. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/templates/pydata/autosummary_core/exception.rst +0 -0
  202. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/templates/pydata/autosummary_core/pydantic_model.rst +0 -0
  203. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/templates/pydata/layout.html +0 -0
  204. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/templates/technote/.gitkeep +0 -0
  205. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/templates/technote/components/.gitkeep +0 -0
  206. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/templates/technote/components/sidebar-source.html +0 -0
  207. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/templates/technote/sections/.gitkeep +0 -0
  208. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/templates/technote/sections/header-article.html +0 -0
  209. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/templates/technote/sections/sidebar-primary.html +0 -0
  210. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/utils.py +0 -0
  211. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer/version.py +0 -0
  212. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer.egg-info/dependency_links.txt +0 -0
  213. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer.egg-info/entry_points.txt +0 -0
  214. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/src/documenteer.egg-info/top_level.txt +0 -0
  215. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/__init__.py +0 -0
  216. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/data/afw.doxygen.conf +0 -0
  217. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/data/authordb.yaml +0 -0
  218. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/data/doxygen.tag.zip +0 -0
  219. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/data/package_alpha/doc/_static/package_alpha/README.md +0 -0
  220. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/data/package_alpha/doc/doxygen.conf.in +0 -0
  221. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/data/package_alpha/doc/manifest.yaml +0 -0
  222. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/data/package_alpha/doc/package.alpha/index.rst +0 -0
  223. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/data/package_alpha/doc/package_alpha/index.rst +0 -0
  224. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/data/package_alpha/include/README.md +0 -0
  225. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/data/package_alpha/src/README.md +0 -0
  226. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/data/package_beta/doc/README.md +0 -0
  227. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/ext/__init__.py +0 -0
  228. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/ext/jira_test.py +0 -0
  229. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/ext/lsstdocushare_test.py +0 -0
  230. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/ext/mockcoderefs_test.py +0 -0
  231. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/packagemetadata_test.py +0 -0
  232. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/roots/test-autocppapi/conf.py +0 -0
  233. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/roots/test-autocppapi/doxygen.tag.zip +0 -0
  234. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/roots/test-autocppapi/index.rst +0 -0
  235. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/services/__init__.py +0 -0
  236. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/storage/__init__.py +0 -0
  237. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/test_conf_toml.py +0 -0
  238. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/tests/test_conf_utils.py +0 -0
  239. {documenteer-2.0.0a3 → documenteer-2.0.0a4}/webpack.config.js +0 -0
@@ -5,11 +5,12 @@
5
5
  name: Periodic CI
6
6
 
7
7
  env:
8
- PYTHON_VERSION: "3.12"
8
+ PYTHON_VERSION: "3.13"
9
9
 
10
10
  "on":
11
11
  schedule:
12
12
  - cron: "0 12 * * 1"
13
+ workflow_dispatch: {}
13
14
 
14
15
  jobs:
15
16
  lint:
@@ -44,6 +45,7 @@ jobs:
44
45
  python-version: ${{ env.PYTHON_VERSION }}
45
46
  tox-envs: 'lint'
46
47
  use-cache: false
48
+ tox-plugins: tox-uv
47
49
 
48
50
  - name: Report status
49
51
  if: failure()
@@ -61,7 +63,6 @@ jobs:
61
63
  strategy:
62
64
  matrix:
63
65
  python-version:
64
- - "3.11"
65
66
  - "3.12"
66
67
  - "3.13"
67
68
  sphinx-version:
@@ -89,10 +90,8 @@ jobs:
89
90
  npm install
90
91
  npm run build
91
92
 
92
- - name: Install graphviz
93
- run: |
94
- sudo apt-get update
95
- sudo apt-get install graphviz
93
+ - name: Setup Graphviz
94
+ uses: ts-graphviz/setup-graphviz@v2
96
95
 
97
96
  - name: Run tests in tox
98
97
  uses: lsst-sqre/run-tox@v1
@@ -100,6 +99,7 @@ jobs:
100
99
  python-version: ${{ matrix.python-version }}
101
100
  tox-envs: "typing-sphinx${{ matrix.sphinx-version }},py-test-sphinx${{ matrix.sphinx-version }},demo"
102
101
  use-cache: false
102
+ tox-plugins: tox-uv
103
103
 
104
104
  - name: Report status
105
105
  if: failure()
@@ -119,12 +119,32 @@ jobs:
119
119
  with:
120
120
  fetch-depth: 0 # full history for setuptools_scm
121
121
 
122
+ - uses: actions/setup-node@v4
123
+ with:
124
+ cache: 'npm'
125
+ node-version-file: '.nvmrc'
126
+
127
+ - name: Authenticate GitHub Packages
128
+ run: |
129
+ echo "//npm.pkg.github.com/:_authToken=${NPM_PKG_TOKEN}" > ~/.npmrc
130
+ env:
131
+ NPM_PKG_TOKEN: ${{ secrets.GITHUB_TOKEN }}
132
+
133
+ - name: npm install and build
134
+ run: |
135
+ npm install
136
+ npm run build
137
+
138
+ - name: Setup Graphviz
139
+ uses: ts-graphviz/setup-graphviz@v2
140
+
122
141
  - name: Build docs in tox
123
142
  uses: lsst-sqre/run-tox@v1
124
143
  with:
125
144
  python-version: ${{ env.PYTHON_VERSION }}
126
145
  tox-envs: "docs,docs-lint"
127
146
  use-cache: false
147
+ tox-plugins: tox-uv
128
148
 
129
149
  - name: Report status
130
150
  if: failure()
@@ -160,9 +180,8 @@ jobs:
160
180
  npm run build
161
181
 
162
182
  - name: Build and publish
163
- uses: lsst-sqre/build-and-publish-to-pypi@v2
183
+ uses: lsst-sqre/build-and-publish-to-pypi@v3
164
184
  with:
165
- python-version: ${{ env.PYTHON_VERSION }}
166
185
  upload: false
167
186
 
168
187
  - name: Report status
@@ -1,7 +1,7 @@
1
1
  name: CI
2
2
 
3
3
  env:
4
- PYTHON_VERSION: '3.12' # Default Python version
4
+ PYTHON_VERSION: '3.13' # Default Python version
5
5
 
6
6
  'on':
7
7
  push:
@@ -50,6 +50,7 @@ jobs:
50
50
  with:
51
51
  python-version: ${{ env.PYTHON_VERSION }}
52
52
  tox-envs: 'lint'
53
+ tox-plugins: tox-uv
53
54
 
54
55
  test:
55
56
  runs-on: ubuntu-latest
@@ -57,7 +58,6 @@ jobs:
57
58
  strategy:
58
59
  matrix:
59
60
  python-version:
60
- - '3.11'
61
61
  - '3.12'
62
62
  - '3.13'
63
63
  sphinx-version:
@@ -85,16 +85,15 @@ jobs:
85
85
  npm install
86
86
  npm run build
87
87
 
88
- - name: Install graphviz
89
- run: |
90
- sudo apt-get update
91
- sudo apt-get install graphviz
88
+ - name: Setup Graphviz
89
+ uses: ts-graphviz/setup-graphviz@v2
92
90
 
93
91
  - name: Run tox
94
92
  uses: lsst-sqre/run-tox@v1
95
93
  with:
96
94
  python-version: ${{ matrix.python-version }}
97
95
  tox-envs: 'py-test-sphinx${{ matrix.sphinx-version }},typing-sphinx${{ matrix.sphinx-version }},demo'
96
+ tox-plugins: tox-uv
98
97
 
99
98
  docs:
100
99
  runs-on: ubuntu-latest
@@ -104,14 +103,31 @@ jobs:
104
103
  with:
105
104
  fetch-depth: 0 # full history for setuptools_scm
106
105
 
107
- - name: Install Graphviz
108
- run: sudo apt-get install graphviz
106
+ - name: Setup Graphviz
107
+ uses: ts-graphviz/setup-graphviz@v2
108
+
109
+ - uses: actions/setup-node@v4
110
+ with:
111
+ cache: 'npm'
112
+ node-version-file: '.nvmrc'
113
+
114
+ - name: Authenticate GitHub Packages
115
+ run: |
116
+ echo "//npm.pkg.github.com/:_authToken=${NPM_PKG_TOKEN}" > ~/.npmrc
117
+ env:
118
+ NPM_PKG_TOKEN: ${{ secrets.GITHUB_TOKEN }}
119
+
120
+ - name: npm install and build
121
+ run: |
122
+ npm install
123
+ npm run build
109
124
 
110
125
  - name: Run tox
111
126
  uses: lsst-sqre/run-tox@v1
112
127
  with:
113
128
  python-version: ${{ env.PYTHON_VERSION }}
114
129
  tox-envs: 'docs,docs-lint'
130
+ tox-plugins: tox-uv
115
131
 
116
132
  # Only attempt documentation uploads for tagged releases and pull
117
133
  # requests from ticket branches in the same repository. This avoids
@@ -136,10 +152,25 @@ jobs:
136
152
  with:
137
153
  fetch-depth: 0 # full history for setuptools_scm
138
154
 
155
+ - uses: actions/setup-node@v4
156
+ with:
157
+ cache: 'npm'
158
+ node-version-file: '.nvmrc'
159
+
160
+ - name: Authenticate GitHub Packages
161
+ run: |
162
+ echo "//npm.pkg.github.com/:_authToken=${NPM_PKG_TOKEN}" > ~/.npmrc
163
+ env:
164
+ NPM_PKG_TOKEN: ${{ secrets.GITHUB_TOKEN }}
165
+
166
+ - name: npm install and build
167
+ run: |
168
+ npm install
169
+ npm run build
170
+
139
171
  - name: Build and publish
140
- uses: lsst-sqre/build-and-publish-to-pypi@v2
172
+ uses: lsst-sqre/build-and-publish-to-pypi@v3
141
173
  with:
142
- python-version: ${{ env.PYTHON_VERSION }}
143
174
  upload: "false"
144
175
 
145
176
  pypi-publish:
@@ -163,12 +194,16 @@ jobs:
163
194
  cache: 'npm'
164
195
  node-version-file: '.nvmrc'
165
196
 
197
+ - name: Authenticate GitHub Packages
198
+ run: |
199
+ echo "//npm.pkg.github.com/:_authToken=${NPM_PKG_TOKEN}" > ~/.npmrc
200
+ env:
201
+ NPM_PKG_TOKEN: ${{ secrets.GITHUB_TOKEN }}
202
+
166
203
  - name: npm install and build
167
204
  run: |
168
205
  npm install
169
206
  npm run build
170
207
 
171
208
  - name: Build and publish
172
- uses: lsst-sqre/build-and-publish-to-pypi@v2
173
- with:
174
- python-version: ${{ env.PYTHON_VERSION }}
209
+ uses: lsst-sqre/build-and-publish-to-pypi@v3
@@ -0,0 +1,25 @@
1
+ .PHONY: help
2
+ help:
3
+ @echo "Make command reference"
4
+ @echo " make init ........ (initialize for development)"
5
+ @echo " make clean ....... (clean up build artifacts)"
6
+ @echo " make update-deps . (update dependencies and pre-commit hooks)"
7
+
8
+ .PHONY: init
9
+ init:
10
+ rm -rf .tox
11
+ uv pip install --upgrade pre-commit tox tox-uv scriv
12
+ uv pip install -e ".[technote,pipelines]" --group dev
13
+ pre-commit install
14
+
15
+ .PHONY: clean
16
+ clean:
17
+ rm -rf .tox
18
+ rm -rf docs/_build
19
+ rm -rf docs/dev/api/contents/*.rst
20
+ make -C demo/rst-technote clean
21
+
22
+ .PHONY: update-deps
23
+ update-deps:
24
+ uv pip install --upgrade pre-commit
25
+ pre-commit autoupdate
@@ -1,29 +1,8 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: documenteer
3
- Version: 2.0.0a3
3
+ Version: 2.0.0a4
4
4
  Summary: Rubin Observatory / LSST Sphinx documentation tools, extensions, and configurations.
5
- License: The MIT License (MIT)
6
-
7
- Copyright (c) 2015-2022 Association of Universities for Research in Astronomy, Inc. (AURA)
8
-
9
- Permission is hereby granted, free of charge, to any person obtaining a copy
10
- of this software and associated documentation files (the "Software"), to deal
11
- in the Software without restriction, including without limitation the rights
12
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
- copies of the Software, and to permit persons to whom the Software is
14
- furnished to do so, subject to the following conditions:
15
-
16
- The above copyright notice and this permission notice shall be included in all
17
- copies or substantial portions of the Software.
18
-
19
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
- SOFTWARE.
26
-
5
+ License-Expression: MIT
27
6
  Project-URL: Homepage, https://documenteer.lsst.io
28
7
  Project-URL: Source, https://github.com/lsst-sqre/documenteer
29
8
  Keywords: rubin,lsst
@@ -31,51 +10,39 @@ Classifier: Development Status :: 5 - Production/Stable
31
10
  Classifier: Environment :: Console
32
11
  Classifier: Framework :: Sphinx :: Extension
33
12
  Classifier: Intended Audience :: Developers
34
- Classifier: License :: OSI Approved :: MIT License
35
13
  Classifier: Natural Language :: English
36
14
  Classifier: Operating System :: POSIX
37
15
  Classifier: Programming Language :: Python
38
16
  Classifier: Programming Language :: Python :: 3
39
- Classifier: Programming Language :: Python :: 3.11
40
17
  Classifier: Programming Language :: Python :: 3.12
41
18
  Classifier: Programming Language :: Python :: 3.13
42
19
  Classifier: Topic :: Documentation
43
20
  Classifier: Topic :: Documentation :: Sphinx
44
21
  Classifier: Typing :: Typed
45
- Requires-Python: >=3.11
22
+ Requires-Python: >=3.12
46
23
  Description-Content-Type: text/markdown
47
24
  License-File: LICENSE
25
+ License-File: licenses/README.md
26
+ License-File: licenses/astropy-helpers.txt
27
+ License-File: licenses/sphinx-issue.txt
28
+ License-File: licenses/sphinx.txt
29
+ License-File: licenses/sphinxcontrib-redoc.txt
48
30
  Requires-Dist: docutils>=0.20
49
31
  Requires-Dist: Sphinx<8.2,>=7
50
32
  Requires-Dist: PyYAML
51
33
  Requires-Dist: GitPython
52
34
  Requires-Dist: requests
53
35
  Requires-Dist: click
54
- Requires-Dist: sphinxcontrib-bibtex>=2.0.0
55
- Requires-Dist: setuptools
36
+ Requires-Dist: sphinxcontrib-bibtex>=2.6.5
37
+ Requires-Dist: pybtex>=0.25.0
56
38
  Requires-Dist: pydantic>=2.0.0
57
39
  Requires-Dist: urllib3
58
40
  Requires-Dist: pylatexenc
59
41
  Requires-Dist: tomlkit
60
- Provides-Extra: dev
61
- Requires-Dist: twine; extra == "dev"
62
- Requires-Dist: coverage[toml]; extra == "dev"
63
- Requires-Dist: pytest; extra == "dev"
64
- Requires-Dist: pytest-mock; extra == "dev"
65
- Requires-Dist: lxml; extra == "dev"
66
- Requires-Dist: cssselect; extra == "dev"
67
- Requires-Dist: defusedxml; extra == "dev"
68
- Requires-Dist: sphinx-click; extra == "dev"
69
- Requires-Dist: sphinxcontrib-autoprogram; extra == "dev"
70
- Requires-Dist: types-setuptools; extra == "dev"
71
- Requires-Dist: types-requests; extra == "dev"
72
- Requires-Dist: types-PyYAML; extra == "dev"
73
- Requires-Dist: types-docutils; extra == "dev"
74
- Requires-Dist: types-mock; extra == "dev"
75
42
  Provides-Extra: guide
76
43
  Requires-Dist: autodoc_pydantic; extra == "guide"
77
44
  Requires-Dist: sphinx_design; extra == "guide"
78
- Requires-Dist: pydata-sphinx-theme<0.13.0,>=0.10.0; extra == "guide"
45
+ Requires-Dist: pydata-sphinx-theme<0.17.0,>=0.16.1; extra == "guide"
79
46
  Requires-Dist: sphinx-autodoc-typehints; extra == "guide"
80
47
  Requires-Dist: sphinx-automodapi; extra == "guide"
81
48
  Requires-Dist: sphinx-copybutton; extra == "guide"
@@ -86,18 +53,19 @@ Requires-Dist: myst-nb; extra == "guide"
86
53
  Requires-Dist: markdown-it-py[linkify]; extra == "guide"
87
54
  Requires-Dist: sphinxcontrib-mermaid>=1; extra == "guide"
88
55
  Requires-Dist: sphinxext-opengraph; extra == "guide"
89
- Requires-Dist: sphinxcontrib-redoc; extra == "guide"
90
56
  Requires-Dist: sphinxcontrib-jquery; extra == "guide"
91
57
  Requires-Dist: sphinxext-rediraffe; extra == "guide"
92
58
  Requires-Dist: sphinxcontrib-youtube; extra == "guide"
59
+ Requires-Dist: sphinx-favicon; extra == "guide"
93
60
  Provides-Extra: technote
94
61
  Requires-Dist: technote<0.10.0,>=0.9.0; extra == "technote"
95
62
  Requires-Dist: sphinx-prompt; extra == "technote"
96
- Requires-Dist: sphinxcontrib-mermaid; extra == "technote"
63
+ Requires-Dist: sphinxcontrib-mermaid>=1; extra == "technote"
97
64
  Requires-Dist: sphinx-diagrams; extra == "technote"
98
65
  Requires-Dist: sphinx_design; extra == "technote"
99
66
  Requires-Dist: myst-nb; extra == "technote"
100
67
  Requires-Dist: sphinxcontrib-youtube; extra == "technote"
68
+ Dynamic: license-file
101
69
 
102
70
  [![Documentation](https://img.shields.io/badge/documenteer-lsst.io-brightgreen.svg)](https://documenteer.lsst.io)
103
71
  [![PyPI](https://img.shields.io/pypi/v/documenteer.svg?style=flat-square)](https://pypi.python.org/pypi/documenteer)
@@ -0,0 +1,17 @@
1
+ <!-- Delete the sections that don't apply -->
2
+
3
+ ### Backwards-incompatible changes
4
+
5
+ -
6
+
7
+ ### New features
8
+
9
+ -
10
+
11
+ ### Bug fixes
12
+
13
+ -
14
+
15
+ ### Other changes
16
+
17
+ - Adopt [ts-graphviz/setup-graphviz](https://github.com/ts-graphviz/setup-graphviz) for installing Graphviz in GitHub Actions CI workflows.
@@ -0,0 +1,17 @@
1
+ <!-- Delete the sections that don't apply -->
2
+
3
+ ### Backwards-incompatible changes
4
+
5
+ - Dropped support for Python 3.11. Python 3.12 or later is now required.
6
+
7
+ ### New features
8
+
9
+ -
10
+
11
+ ### Bug fixes
12
+
13
+ -
14
+
15
+ ### Other changes
16
+
17
+ - Updated how license information is encoded in `pyproject.toml`.
@@ -0,0 +1,18 @@
1
+ <!-- Delete the sections that don't apply -->
2
+
3
+ ### Backwards-incompatible changes
4
+
5
+ -
6
+
7
+ ### New features
8
+
9
+ - Update to pydata-sphinx-theme 0.16
10
+ - Adopt [sphinx-favicon](https://sphinx-favicon.readthedocs.io/en/stable/index.html) for managing favicons in user guides.
11
+
12
+ ### Bug fixes
13
+
14
+ -
15
+
16
+ ### Other changes
17
+
18
+ - Switch to dependency groups for development dependencies in `pyproject.toml`. With this change, Documenteer no longer publishes a `dev` extra to PyPI.
@@ -0,0 +1,23 @@
1
+ <!-- Delete the sections that don't apply -->
2
+
3
+ ### Backwards-incompatible changes
4
+
5
+ -
6
+
7
+ ### New features
8
+
9
+ - For embedding a redoc page for API documentation, Documenteer now provides its own `documenteer.ext.redoc` extension. This replaces the previous `sphinxcontrib.redoc` extension, which is not being actively maintained. This new extension is automatically configured through `documenteer.conf.guide`, and therefore should not require any changes for most user guide projects. `documenteer.ext.redoc` drops support for referencing an OpenAPI specification file from a web URL. FastAPI projects can use `documenteer.ext.openapi` to generate an OpenAPI specification file from the FastAPI app.
10
+
11
+ - In Markdown content for technotes and guides, Mermaid diagrams can now be written in code fences using the `mermaid` language tag. This is also supported in GitHub's Markdown renderer. The traditional method of using the `mermaid` directive syntax is still supported.
12
+
13
+ - Documenteer's `technote` and `guide` configurations now ignore pending Sphinx API deprecation warnings by default. This is to prevent the warnings from cluttering the build output, and are only useful for the Documenteer developers since the Sphinx version is constrained by Documenteer.
14
+
15
+ ### Bug fixes
16
+
17
+ -
18
+
19
+ ### Other changes
20
+
21
+ - Documenteer no longer depends on setuptools as a runtime dependency thanks to pybtex version 0.25 and `documenteer.ext.redoc`.
22
+
23
+ - Documenteer's Sphinx extensions now provide proper extension metadata to support version-based cache busting and parallel builds.
@@ -0,0 +1,17 @@
1
+ <!-- Delete the sections that don't apply -->
2
+
3
+ ### Backwards-incompatible changes
4
+
5
+ -
6
+
7
+ ### New features
8
+
9
+ - The `documenteer` `add-authors` and `sync-authors` CLI commands now uses the Ook web API to get author information, rather than directly reading `authordb.yaml` from lsst/lsst-texmf.
10
+
11
+ ### Bug fixes
12
+
13
+ -
14
+
15
+ ### Other changes
16
+
17
+ -
@@ -1,7 +1,7 @@
1
1
  # Makefile for Sphinx documentation
2
2
 
3
3
  # You can set these variables from the command line.
4
- SPHINXOPTS = -n -W
4
+ SPHINXOPTS = -n
5
5
  SPHINXBUILD = sphinx-build
6
6
  BUILDDIR = _build
7
7
 
@@ -0,0 +1,9 @@
1
+ This directory contains third-party license information for projects that Documenteer is derived from or has adapted code from.
2
+ See individual source files for specific attribution.
3
+
4
+ See ../LICENSE for Documenteer's main license information.
5
+
6
+ - sphinx.txt — https://www.sphinx-doc.org
7
+ - sphinx-issue.txt — https://github.com/sloria/sphinx-issues
8
+ - astropy-helpers - https://github.com/astropy/astropy-helpers
9
+ - sphinxcontrib-redoc - https://sphinxcontrib-redoc.readthedocs.io/
@@ -0,0 +1,23 @@
1
+ Copyright (c) 2017, Ihor Kalnytskyi <ihor@kalnytskyi.com>.
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+
7
+ * Redistributions of source code must retain the above copyright notice, this
8
+ list of conditions and the following disclaimer.
9
+
10
+ * Redistributions in binary form must reproduce the above copyright notice,
11
+ this list of conditions and the following disclaimer in the documentation
12
+ and/or other materials provided with the distribution.
13
+
14
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
18
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
20
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
21
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
22
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -2,7 +2,12 @@
2
2
  # https://packaging.python.org/en/latest/specifications/declaring-project-metadata/
3
3
  name = "documenteer"
4
4
  description = "Rubin Observatory / LSST Sphinx documentation tools, extensions, and configurations."
5
- license = { file = "LICENSE" }
5
+ license = "MIT"
6
+ license-files = [
7
+ "LICENSE",
8
+ "licenses/README.md",
9
+ "licenses/*.txt",
10
+ ]
6
11
  readme = "README.md"
7
12
  keywords = ["rubin", "lsst"]
8
13
  # https://pypi.org/classifiers/
@@ -11,19 +16,17 @@ classifiers = [
11
16
  "Environment :: Console",
12
17
  "Framework :: Sphinx :: Extension",
13
18
  "Intended Audience :: Developers",
14
- "License :: OSI Approved :: MIT License",
15
19
  "Natural Language :: English",
16
20
  "Operating System :: POSIX",
17
21
  "Programming Language :: Python",
18
22
  "Programming Language :: Python :: 3",
19
- "Programming Language :: Python :: 3.11",
20
23
  "Programming Language :: Python :: 3.12",
21
24
  "Programming Language :: Python :: 3.13",
22
25
  "Topic :: Documentation",
23
26
  "Topic :: Documentation :: Sphinx",
24
27
  "Typing :: Typed",
25
28
  ]
26
- requires-python = ">=3.11"
29
+ requires-python = ">=3.12"
27
30
  dynamic = ["version"]
28
31
  dependencies = [
29
32
  "docutils>=0.20", # solves an extra div bug with the bibliography directive
@@ -32,8 +35,8 @@ dependencies = [
32
35
  "GitPython",
33
36
  "requests",
34
37
  "click",
35
- "sphinxcontrib-bibtex>=2.0.0", # for pybtex extension
36
- "setuptools", # for pkg_resources, used by pybtex
38
+ "sphinxcontrib-bibtex>=2.6.5", # drops setuptools hack
39
+ "pybtex>=0.25.0", # drops setuptools dependency
37
40
  "pydantic >= 2.0.0",
38
41
  "urllib3",
39
42
  "pylatexenc",
@@ -41,32 +44,11 @@ dependencies = [
41
44
  ]
42
45
 
43
46
  [project.optional-dependencies]
44
- dev = [
45
- "twine",
46
- # Documenteer's testing and deployment deps
47
- "coverage[toml]",
48
- "pytest",
49
- "pytest-mock",
50
- # Test depedendencies for analyzing HTML output
51
- "lxml",
52
- "cssselect",
53
- "defusedxml", # used by Sphinx but not declared as a dependency
54
- # Extensions for documenteer's own docs
55
- "sphinx-click",
56
- "sphinxcontrib-autoprogram",
57
- # Type stubs
58
- "types-setuptools",
59
- "types-requests",
60
- "types-PyYAML",
61
- "types-docutils",
62
- "types-mock",
63
- # Testing dependencies
64
- ]
65
47
  guide = [
66
48
  # Theme and extensions for Rubin user guide projects
67
49
  "autodoc_pydantic",
68
50
  "sphinx_design",
69
- "pydata-sphinx-theme>=0.10.0,<0.13.0",
51
+ "pydata-sphinx-theme>=0.16.1,<0.17.0",
70
52
  "sphinx-autodoc-typehints",
71
53
  "sphinx-automodapi",
72
54
  "sphinx-copybutton",
@@ -77,22 +59,53 @@ guide = [
77
59
  "markdown-it-py[linkify]",
78
60
  "sphinxcontrib-mermaid>=1",
79
61
  "sphinxext-opengraph",
80
- "sphinxcontrib-redoc",
81
62
  "sphinxcontrib-jquery",
82
63
  "sphinxext-rediraffe",
83
- "sphinxcontrib-youtube"
64
+ "sphinxcontrib-youtube",
65
+ "sphinx-favicon"
84
66
  ]
85
67
  technote = [
86
68
  # Theme and extensions for technotes
87
69
  "technote>=0.9.0,<0.10.0",
88
70
  "sphinx-prompt",
89
- "sphinxcontrib-mermaid",
71
+ "sphinxcontrib-mermaid>=1",
90
72
  "sphinx-diagrams",
91
73
  "sphinx_design",
92
74
  "myst-nb",
93
75
  "sphinxcontrib-youtube"
94
76
  ]
95
77
 
78
+ [dependency-groups]
79
+ test = [
80
+ "coverage[toml]",
81
+ "pytest",
82
+ "pytest-mock",
83
+ "pytest-responses",
84
+ # Test depedendencies for analyzing HTML output
85
+ "lxml",
86
+ "cssselect",
87
+ "defusedxml", # used by Sphinx but not declared as a dependency
88
+ ]
89
+ typing = [
90
+ "mypy",
91
+ "types-setuptools",
92
+ "types-requests",
93
+ "types-PyYAML",
94
+ "types-docutils",
95
+ "types-mock",
96
+ {include-group = "test"}, # include test dependencies for type checking
97
+ ]
98
+ docs = [
99
+ # Extensions for documenteer's own docs
100
+ "sphinx-click",
101
+ "sphinxcontrib-autoprogram",
102
+ ]
103
+ dev = [
104
+ {include-group = "test"}, # include test dependencies
105
+ {include-group = "typing"}, # include type checking dependencies
106
+ {include-group = "docs"}, # include docs dependencies
107
+ ]
108
+
96
109
  [project.urls]
97
110
  Homepage = "https://documenteer.lsst.io"
98
111
  Source = "https://github.com/lsst-sqre/documenteer"
@@ -166,6 +179,7 @@ warn_redundant_casts = true
166
179
  warn_unreachable = true
167
180
  warn_unused_ignores = true
168
181
  plugins = ["pydantic.mypy"]
182
+ exclude = ["tests/roots/.*"]
169
183
 
170
184
  [tool.ruff]
171
185
  extend = "ruff-shared.toml"
@@ -208,9 +222,6 @@ extend-ignore = [
208
222
  "INP001",
209
223
  "D100"
210
224
  ]
211
- "src/documenteer/cli.py" = [
212
- "T201", # CLI scripts can print
213
- ]
214
225
 
215
226
  [tool.ruff.lint.isort]
216
227
  known-first-party = ["documenteer", "tests"]