sphinx-external-toc-strict 2.0.2__tar.gz → 2.0.3.post3__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 (260) hide show
  1. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/.github/workflows/branch-test-others.yml +2 -2
  2. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/.github/workflows/dependency-review.yml +2 -2
  3. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/.github/workflows/kit.yml +9 -7
  4. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/.github/workflows/python-nightly.yml +4 -6
  5. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/.github/workflows/quality.yml +4 -4
  6. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/.github/workflows/release.yml +16 -11
  7. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/.github/workflows/test-coverage.yml +6 -4
  8. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/.github/workflows/testsuite.yml +2 -2
  9. sphinx_external_toc_strict-2.0.3.post3/.pre-commit-config.yaml +68 -0
  10. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/.readthedocs.yml +1 -1
  11. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/CHANGES.rst +38 -0
  12. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/MANIFEST.in +1 -0
  13. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/Makefile +23 -19
  14. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/PKG-INFO +41 -232
  15. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/README.rst +1 -1
  16. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/Makefile +3 -3
  17. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/events.rst +1 -1
  18. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/intro.rst +1 -1
  19. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/user_guide/why.rst +1 -1
  20. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/igor.py +3 -3
  21. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/pyproject.toml +28 -10
  22. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/dev.pip +12 -16
  23. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/kit.in +1 -2
  24. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/kit.pip +8 -23
  25. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/manage.pip +12 -12
  26. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/mypy.pip +2 -2
  27. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/myst-parser.pins +1 -1
  28. sphinx_external_toc_strict-2.0.3.post3/requirements/pip-tools.pip +43 -0
  29. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/pip.in +1 -3
  30. sphinx_external_toc_strict-2.0.3.post3/requirements/pip.pip +10 -0
  31. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/prod.unlock +1 -1
  32. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/tox.pip +3 -3
  33. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/__init__.py +1 -1
  34. sphinx_external_toc_strict-2.0.3.post3/src/sphinx_external_toc_strict/_version.py +21 -0
  35. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/constants.py +2 -2
  36. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/events.py +2 -2
  37. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/exceptions.py +1 -1
  38. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/filename_suffix.py +1 -1
  39. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/parsing_strictyaml.py +1 -1
  40. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict.egg-info/PKG-INFO +41 -232
  41. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict.egg-info/SOURCES.txt +0 -1
  42. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict.egg-info/requires.txt +41 -50
  43. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/conftest.py +3 -3
  44. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_cli.py +1 -1
  45. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing.py +5 -4
  46. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_refitem.py +2 -2
  47. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tox.ini +32 -9
  48. sphinx_external_toc_strict-2.0.2/.pre-commit-config.yaml +0 -64
  49. sphinx_external_toc_strict-2.0.2/requirements/pip-tools.pip +0 -73
  50. sphinx_external_toc_strict-2.0.2/requirements/pip.pip +0 -24
  51. sphinx_external_toc_strict-2.0.2/setup.py +0 -71
  52. sphinx_external_toc_strict-2.0.2/src/sphinx_external_toc_strict/_version.py +0 -16
  53. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/.github/dependabot.yml +0 -0
  54. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/.github/workflows/codeql-analysis.yml +0 -0
  55. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/.gitignore +0 -0
  56. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/CHANGELOG.md +0 -0
  57. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/CONTRIBUTING.md +0 -0
  58. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/LICENSE +0 -0
  59. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/NOTICE.txt +0 -0
  60. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/codecov.yml +0 -0
  61. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/_static/asset-gesture-like-thumbs-up.svg +0 -0
  62. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/_static/asset-table-of-contents.svg +0 -0
  63. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/_static/credit.txt +0 -0
  64. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/_static/sphinx-external-toc-strict-logo.png +0 -0
  65. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/_static/sphinx-external-toc-strict-logo.svg +0 -0
  66. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/_static/toc-graphic.png +0 -0
  67. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/_static/toc_tree.pptx +0 -0
  68. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/_toc.yml +0 -0
  69. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/api.rst +0 -0
  70. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/cli.rst +0 -0
  71. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/compat.rst +0 -0
  72. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/constants.rst +0 -0
  73. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/exceptions.rst +0 -0
  74. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/filename_suffix.rst +0 -0
  75. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/index.rst +0 -0
  76. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/parsing_shared.rst +0 -0
  77. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/parsing_strictyaml.rst +0 -0
  78. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/pep518_read.rst +0 -0
  79. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/sphinx_node.rst +0 -0
  80. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/todo.rst +0 -0
  81. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/tools_strictyaml.rst +0 -0
  82. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/code/version_semantic.rst +0 -0
  83. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/conf.py +0 -0
  84. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/example/globfolder/page1.rst +0 -0
  85. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/example/globfolder/page2.rst +0 -0
  86. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/example/index.rst +0 -0
  87. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/example/subfolder/page.rst +0 -0
  88. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-black.inv +0 -0
  89. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-black.txt +0 -0
  90. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-docutils-source.inv +0 -0
  91. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-docutils-source.txt +0 -0
  92. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-python.inv +0 -0
  93. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-sphinx-docs.inv +0 -0
  94. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-sphinx-docs.txt +0 -0
  95. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-sphinx-source.inv +0 -0
  96. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-sphinx-source.txt +0 -0
  97. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-strictyaml-docs.inv +0 -0
  98. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-strictyaml-docs.txt +0 -0
  99. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-strictyaml-source.inv +0 -0
  100. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-strictyaml-source.txt +0 -0
  101. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-toc-strict.inv +0 -0
  102. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/objects-toc-strict.txt +0 -0
  103. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/requirements.in +0 -0
  104. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/requirements.pip +0 -0
  105. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/user_guide/api.rst +0 -0
  106. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/user_guide/cli.rst +0 -0
  107. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/user_guide/regressions.md +0 -0
  108. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/docs/user_guide/sphinx.rst +0 -0
  109. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/howto.txt +0 -0
  110. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/dev.in +0 -0
  111. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/manage.in +0 -0
  112. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/mypy.in +0 -0
  113. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/pins.pip +0 -0
  114. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/pip-tools.in +0 -0
  115. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/prod.in +0 -0
  116. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/requirements/tox.in +0 -0
  117. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/setup.cfg +0 -0
  118. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/__init__.pyi +0 -0
  119. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/_compat.py +0 -0
  120. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/_version.pyi +0 -0
  121. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/api.py +0 -0
  122. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/api.pyi +0 -0
  123. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/cli.py +0 -0
  124. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/cli.pyi +0 -0
  125. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/constants.pyi +0 -0
  126. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/events.pyi +0 -0
  127. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/exceptions.pyi +0 -0
  128. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/filename_suffix.pyi +0 -0
  129. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/parsing_shared.py +0 -0
  130. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/parsing_shared.pyi +0 -0
  131. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/parsing_strictyaml.pyi +0 -0
  132. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/pep518_read.py +0 -0
  133. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/pep518_read.pyi +0 -0
  134. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/py.typed +0 -0
  135. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/sphinx_node.py +0 -0
  136. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/sphinx_node.pyi +0 -0
  137. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/tools_strictyaml.py +0 -0
  138. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/tools_strictyaml.pyi +0 -0
  139. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/version_semantic.py +0 -0
  140. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict/version_semantic.pyi +0 -0
  141. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict.egg-info/dependency_links.txt +0 -0
  142. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict.egg-info/entry_points.txt +0 -0
  143. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/src/sphinx_external_toc_strict.egg-info/top_level.txt +0 -0
  144. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/__init__.py +0 -0
  145. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/bad_option_value.yml +0 -0
  146. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/bad_url.yml +0 -0
  147. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/doc_multiple_times.yml +0 -0
  148. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/doc_validation_fail.yml +0 -0
  149. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/empty.yml +0 -0
  150. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/empty_items.yml +0 -0
  151. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/empty_subtrees.yml +0 -0
  152. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/entry_not_a_mapping.yml +0 -0
  153. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/entry_unknown_link_type.yml +0 -0
  154. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/file_and_glob_present.yml +0 -0
  155. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/item_then_subtrees_key.yml +0 -0
  156. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/items_in_glob.yml +0 -0
  157. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/items_in_url.yml +0 -0
  158. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/list.yml +0 -0
  159. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/no_root.yml +0 -0
  160. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/subtree_with_no_items.yml +0 -0
  161. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/unknown_keys.yml +0 -0
  162. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/unknown_keys_nested.yml +0 -0
  163. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_bad_toc_files/unknown_usecase.yml +0 -0
  164. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_jb_migrate_toc_files/chapters.yml +0 -0
  165. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_jb_migrate_toc_files/jb_docs_toc.yml +0 -0
  166. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_jb_migrate_toc_files/list_and_nested.yml +0 -0
  167. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_jb_migrate_toc_files/numbered_chapters.yml +0 -0
  168. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_jb_migrate_toc_files/numbered_depth.yml +0 -0
  169. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_jb_migrate_toc_files/numbered_depth_parts_subset.yml +0 -0
  170. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_jb_migrate_toc_files/numbered_parts.yml +0 -0
  171. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_jb_migrate_toc_files/numbered_parts_subset.yml +0 -0
  172. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_jb_migrate_toc_files/parts.yml +0 -0
  173. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_jb_migrate_toc_files/simple_dict.yml +0 -0
  174. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_jb_migrate_toc_files/simple_list.yml +0 -0
  175. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_toc_files/basic.yml +0 -0
  176. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_toc_files/basic_compressed.yml +0 -0
  177. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_toc_files/basic_titles.yml +0 -0
  178. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_toc_files/basic_titles_no.yml +0 -0
  179. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_toc_files/caption_not_entries.yml +0 -0
  180. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_toc_files/exclude_missing.yml +0 -0
  181. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_toc_files/glob.yml +0 -0
  182. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_toc_files/glob_md.yml +0 -0
  183. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_toc_files/glob_md_extras.yml +0 -0
  184. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_toc_files/nested.yml +0 -0
  185. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_toc_files/tableofcontents.yml +0 -0
  186. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_warning_toc_files/contains_toctree.yml +0 -0
  187. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_warning_toc_files/file_not_in_toc.yml +0 -0
  188. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_warning_toc_files/multiple_tableofcontents.yml +0 -0
  189. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_warning_toc_files/no_glob_match.yml +0 -0
  190. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/_warning_toc_files/tableofcontents_no_toc.yml +0 -0
  191. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/roots/test-root/Makefile +0 -0
  192. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/roots/test-root/conf.py +0 -0
  193. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/roots/test-root/index.txt +0 -0
  194. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/roots/test-skeleton/Makefile +0 -0
  195. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/roots/test-skeleton/README.txt.golf +0 -0
  196. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/roots/test-skeleton/conf.py +0 -0
  197. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_api.py +0 -0
  198. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_cli/test_create_toc.txt +0 -0
  199. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_filename_suffix.py +0 -0
  200. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_create_toc_dict_basic_.yml +0 -0
  201. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_create_toc_dict_basic_compressed_.yml +0 -0
  202. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_create_toc_dict_basic_titles_.yml +0 -0
  203. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_create_toc_dict_basic_titles_no_.yml +0 -0
  204. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_create_toc_dict_caption_not_entries_.yml +0 -0
  205. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_create_toc_dict_exclude_missing_.yml +0 -0
  206. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_create_toc_dict_glob_.yml +0 -0
  207. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_create_toc_dict_glob_md_.yml +0 -0
  208. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_create_toc_dict_glob_md_extras_.yml +0 -0
  209. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_create_toc_dict_nested_.yml +0 -0
  210. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_create_toc_dict_tableofcontents_.yml +0 -0
  211. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_file_to_sitemap_basic_.yml +0 -0
  212. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_file_to_sitemap_basic_compressed_.yml +0 -0
  213. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_file_to_sitemap_basic_titles_.yml +0 -0
  214. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_file_to_sitemap_basic_titles_no_.yml +0 -0
  215. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_file_to_sitemap_caption_not_entries_.yml +0 -0
  216. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_file_to_sitemap_exclude_missing_.yml +0 -0
  217. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_file_to_sitemap_glob_.yml +0 -0
  218. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_file_to_sitemap_glob_md_.yml +0 -0
  219. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_file_to_sitemap_glob_md_extras_.yml +0 -0
  220. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_file_to_sitemap_nested_.yml +0 -0
  221. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_parsing/test_file_to_sitemap_tableofcontents_.yml +0 -0
  222. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_pep518_read.py +0 -0
  223. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_sphinx/test_success_basic_.xml +0 -0
  224. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_sphinx/test_success_basic_compressed_.xml +0 -0
  225. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_sphinx/test_success_basic_titles_.xml +0 -0
  226. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_sphinx/test_success_caption_not_entries_.xml +0 -0
  227. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_sphinx/test_success_glob_md_.xml +0 -0
  228. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_sphinx/test_success_glob_md_extras.xml +0 -0
  229. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_sphinx/test_success_tableofcontents_.xml +0 -0
  230. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_sphinx.py +0 -0
  231. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_caption_not_entries_.yml +0 -0
  232. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_create_site_map_from_path_files_with_two_unsupported_hidden_.yml +0 -0
  233. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_file_to_sitemap_basic_.yml +0 -0
  234. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_file_to_sitemap_basic_compressed_.yml +0 -0
  235. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_file_to_sitemap_basic_md_.yml +0 -0
  236. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_file_to_sitemap_basic_titles_.yml +0 -0
  237. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_file_to_sitemap_basic_titles_no_.yml +0 -0
  238. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_file_to_sitemap_caption_not_entries_.yml +0 -0
  239. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_file_to_sitemap_exclude_missing_.yml +0 -0
  240. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_file_to_sitemap_glob_.yml +0 -0
  241. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_file_to_sitemap_glob_md_.yml +0 -0
  242. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_file_to_sitemap_glob_md_extras_.yml +0 -0
  243. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_file_to_sitemap_nested_.yml +0 -0
  244. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_file_to_sitemap_tableofcontents_.yml +0 -0
  245. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_migrate_jb_chapters_.yml +0 -0
  246. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_migrate_jb_jb_docs_toc_.yml +0 -0
  247. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_migrate_jb_list_and_nested_.yml +0 -0
  248. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_migrate_jb_numbered_chapters_.yml +0 -0
  249. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_migrate_jb_numbered_depth_.yml +0 -0
  250. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_migrate_jb_numbered_depth_parts_subset_.yml +0 -0
  251. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_migrate_jb_numbered_parts_.yml +0 -0
  252. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_migrate_jb_numbered_parts_subset_.yml +0 -0
  253. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_migrate_jb_parts_.yml +0 -0
  254. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_migrate_jb_simple_dict_.yml +0 -0
  255. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools/test_migrate_jb_simple_list_.yml +0 -0
  256. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_tools.py +0 -0
  257. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_util/__init__.py +0 -0
  258. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_util/intersphinx_data.py +0 -0
  259. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_util/sphinx_conftest.py +0 -0
  260. {sphinx_external_toc_strict-2.0.2 → sphinx_external_toc_strict-2.0.3.post3}/tests/test_version_semantic.py +0 -0
@@ -44,7 +44,7 @@ jobs:
44
44
  uses: actions/checkout@v4.2.2
45
45
 
46
46
  - name: "Install ${{ matrix.python-version }} with setup-python"
47
- uses: actions/setup-python@v5.3.0
47
+ uses: actions/setup-python@v5.6.0
48
48
  with:
49
49
  python-version: "${{ matrix.python-version }}"
50
50
  allow-prereleases: true
@@ -59,7 +59,7 @@ jobs:
59
59
  - name: "Install dependencies"
60
60
  run: |
61
61
  set -xe
62
- python -m pip install 'pip<24.2' -r requirements/tox.pip
62
+ python -m pip install -r requirements/tox.pip # 'pip<24.2'
63
63
 
64
64
  - name: "Run tox for ${{ matrix.python-version }}"
65
65
  run: |
@@ -1,7 +1,7 @@
1
1
  # Dependency Review Action
2
2
  #
3
3
  # This Action will scan dependency manifest files that change as part
4
- # of a Pull Reqest, surfacing known-vulnerable versions of the packages
4
+ # of a Pull Request, surfacing known-vulnerable versions of the packages
5
5
  # declared or updated in the PR. Once installed, if the workflow run is
6
6
  # marked as required, PRs introducing known-vulnerable packages will be
7
7
  # blocked from merging.
@@ -29,7 +29,7 @@ jobs:
29
29
  - name: 'Checkout Repository'
30
30
  uses: actions/checkout@v4.2.2
31
31
  - name: 'Dependency Review'
32
- uses: actions/dependency-review-action@v4.5.0
32
+ uses: actions/dependency-review-action@v4.7.1
33
33
  with:
34
34
  base-ref: ${{ github.event.pull_request.base.sha || 'main' }}
35
35
  head-ref: ${{ github.event.pull_request.head.sha || github.ref }}
@@ -140,13 +140,13 @@ jobs:
140
140
  platforms: arm64
141
141
 
142
142
  - name: "Check out the repo"
143
- uses: actions/checkout@v4
143
+ uses: actions/checkout@v4.2.2
144
144
  with:
145
145
  # fetch all branches and tags instead of only fetching the ref/SHA that triggered the workflow
146
146
  fetch-depth: 0
147
147
 
148
148
  - name: "Install Python 3.10"
149
- uses: actions/setup-python@v5
149
+ uses: actions/setup-python@v5.6.0
150
150
  with:
151
151
  # PYVERSIONS
152
152
  python-version: "3.10"
@@ -182,7 +182,7 @@ jobs:
182
182
  runs-on: ubuntu-latest
183
183
  steps:
184
184
  - name: "Check out the repo"
185
- uses: actions/checkout@v4
185
+ uses: actions/checkout@v4.2.2
186
186
  with:
187
187
  # fetch all branches and tags instead of only fetching the ref/SHA that triggered the workflow
188
188
  fetch-depth: 0
@@ -195,7 +195,7 @@ jobs:
195
195
  echo "tag=$(git describe --tags)" >> $GITHUB_OUTPUT
196
196
 
197
197
  - name: "Install Python 3.10"
198
- uses: actions/setup-python@v5
198
+ uses: actions/setup-python@v5.6.0
199
199
  with:
200
200
  # PYVERSIONS
201
201
  python-version: "3.10"
@@ -210,7 +210,9 @@ jobs:
210
210
  env:
211
211
  RELEASE_VERSION: ${{ steps.vars.outputs.tag }}
212
212
  run: |
213
- echo "python igor.py build_next $RELEASE_VERSION"
213
+ echo "build $RELEASE_VERSION"
214
+ echo "Before build, generate _version.py, not saved in vcs"
215
+ echo "without _version.py build would fail"
214
216
  python igor.py build_next "$RELEASE_VERSION"
215
217
 
216
218
  - name: "List tarballs"
@@ -229,13 +231,13 @@ jobs:
229
231
  runs-on: ubuntu-latest
230
232
  steps:
231
233
  - name: "Check out the repo"
232
- uses: actions/checkout@v4
234
+ uses: actions/checkout@v4.2.2
233
235
  with:
234
236
  # fetch all branches and tags instead of only fetching the ref/SHA that triggered the workflow
235
237
  fetch-depth: 0
236
238
 
237
239
  - name: "Install PyPy"
238
- uses: actions/setup-python@v5
240
+ uses: actions/setup-python@v5.6.0
239
241
  with:
240
242
  python-version: "pypy-3.10" # Minimum of PyPy PYVERSIONS
241
243
  # cache: pip
@@ -30,7 +30,7 @@ concurrency:
30
30
 
31
31
  jobs:
32
32
  tests:
33
- name: "${{ matrix.python-version }} on ${{ matrix.os-short }}"
33
+ name: "${{ matrix.python-version }} on ${{ matrix.os }}"
34
34
  runs-on: "${{ matrix.os }}"
35
35
  # If it doesn't finish in an hour, it's not going to. Don't spin for six
36
36
  # hours needlessly.
@@ -47,9 +47,7 @@ jobs:
47
47
  # See https://github.com/deadsnakes/nightly for the source of the nightly
48
48
  # builds.
49
49
  # bionic: 18, focal: 20, jammy: 22, noble: 24
50
- - "ubuntu-22.04"
51
- os-short:
52
- - "ubuntu"
50
+ - ubuntu-latest
53
51
  python-version:
54
52
  # When changing this list, be sure to check the [gh] list in
55
53
  # tox.ini so that tox will run properly. PYVERSIONS
@@ -74,7 +72,7 @@ jobs:
74
72
  python-version: "${{ matrix.python-version }}"
75
73
 
76
74
  - name: "Install ${{ matrix.python-version }} with setup-python"
77
- uses: actions/setup-python@v5.3.0
75
+ uses: actions/setup-python@v5.6.0
78
76
  if: "startsWith(matrix.python-version, 'pypy-')"
79
77
  with:
80
78
  python-version: "${{ matrix.python-version }}"
@@ -88,7 +86,7 @@ jobs:
88
86
 
89
87
  - name: "Install dependencies"
90
88
  run: |
91
- python -m pip install 'pip<24.2' -r requirements/tox.pip
89
+ python -m pip install -r requirements/tox.pip # 'pip<24.2'
92
90
 
93
91
  - name: "Run tox"
94
92
  run: |
@@ -39,7 +39,7 @@ jobs:
39
39
  uses: actions/checkout@v4.2.2
40
40
 
41
41
  - name: "Install Python"
42
- uses: actions/setup-python@v5.3.0
42
+ uses: actions/setup-python@v5.6.0
43
43
  with:
44
44
  python-version: "3.10" # Minimum of PYVERSIONS
45
45
  # cache: pip
@@ -62,7 +62,7 @@ jobs:
62
62
  uses: actions/checkout@v4.2.2
63
63
 
64
64
  - name: "Install Python"
65
- uses: actions/setup-python@v5.3.0
65
+ uses: actions/setup-python@v5.6.0
66
66
  with:
67
67
  python-version: "3.10" # Minimum of PYVERSIONS, but at least 3.9
68
68
  # cache: pip
@@ -87,9 +87,9 @@ jobs:
87
87
  uses: actions/checkout@v4.2.2
88
88
 
89
89
  - name: "Install Python"
90
- uses: actions/setup-python@v5.3.0
90
+ uses: actions/setup-python@v5.6.0
91
91
  with:
92
- python-version: "3.10" # Doc version from PYVERSIONS
92
+ python-version: "3.13" # Doc version from PYVERSIONS
93
93
  # cache: pip
94
94
  cache-dependency-path: 'requirements/*.pip'
95
95
 
@@ -19,6 +19,7 @@ defaults:
19
19
  env:
20
20
  PIP_DISABLE_PIP_VERSION_CHECK: 1
21
21
  DEST_FOLDER: dist/
22
+ dists-artifact-name: python-package-distributions
22
23
 
23
24
  permissions:
24
25
  contents: read # This is required for actions/checkout
@@ -42,27 +43,31 @@ jobs:
42
43
  echo "tag=$(git describe --tags)" >> $GITHUB_OUTPUT
43
44
 
44
45
  - name: Install py310
45
- uses: actions/setup-python@v5.3.0
46
+ uses: actions/setup-python@v5.6.0
46
47
  with:
47
48
  python-version: "3.10"
48
49
  # cache: pip
49
50
  # cache-dependency-path: 'requirements/*.pip'
50
51
 
52
+ # Will fail without: build wheel and setuptools-scm
53
+ # Build environment top level dependencies should never be in dependency files
51
54
  - name: "Install tools"
52
55
  run: |
53
- python -m pip install --upgrade -r requirements/kit.pip
56
+ python -m pip install --upgrade build wheel setuptools-scm -r requirements/kit.pip
54
57
 
55
58
  - name: build
56
59
  env:
57
60
  RELEASE_VERSION: ${{ steps.vars.outputs.tag }}
58
61
  run: |
59
- echo "python igor.py build_next $RELEASE_VERSION"
62
+ echo "build $RELEASE_VERSION"
63
+ echo "Before build, generate _version.py, not saved in vcs"
64
+ echo "without _version.py build would fail"
60
65
  python igor.py build_next "$RELEASE_VERSION"
61
66
 
62
67
  - name: Store the distribution packages
63
- uses: actions/upload-artifact@v4.5.0
68
+ uses: actions/upload-artifact@v4.6.2
64
69
  with:
65
- name: python-package-distributions
70
+ name: ${{ env.dists-artifact-name }}
66
71
  path: ${{ env.DEST_FOLDER }}
67
72
 
68
73
  publish-to-pypi:
@@ -80,9 +85,9 @@ jobs:
80
85
 
81
86
  steps:
82
87
  - name: Download all the dists
83
- uses: actions/download-artifact@v4.1.8
88
+ uses: actions/download-artifact@v4.3.0
84
89
  with:
85
- name: python-package-distributions
90
+ name: ${{ env.dists-artifact-name }}
86
91
  path: ${{ env.DEST_FOLDER }}
87
92
 
88
93
  - name: Publish package
@@ -104,9 +109,9 @@ jobs:
104
109
 
105
110
  steps:
106
111
  - name: Download all the dists
107
- uses: actions/download-artifact@v4.1.8
112
+ uses: actions/download-artifact@v4.3.0
108
113
  with:
109
- name: python-package-distributions
114
+ name: ${{ env.dists-artifact-name }}
110
115
  path: ${{ env.DEST_FOLDER }}
111
116
  - name: Sign the dists with Sigstore
112
117
  uses: sigstore/gh-action-sigstore-python@v3.0.0
@@ -149,9 +154,9 @@ jobs:
149
154
 
150
155
  steps:
151
156
  - name: Download all the dists
152
- uses: actions/download-artifact@v4.1.8
157
+ uses: actions/download-artifact@v4.3.0
153
158
  with:
154
- name: python-package-distributions
159
+ name: ${{ env.dists-artifact-name }}
155
160
  path: ${{ env.DEST_FOLDER }}
156
161
 
157
162
  - name: Publish distribution to TestPyPI
@@ -58,7 +58,7 @@ jobs:
58
58
  run: |
59
59
  echo "tag=$(git describe --tags)" >> $GITHUB_OUTPUT
60
60
  - name: Set up Python ${{ matrix.python-version }}
61
- uses: actions/setup-python@v5.3.0
61
+ uses: actions/setup-python@v5.6.0
62
62
  with:
63
63
  python-version: "${{ matrix.python-version }}"
64
64
  # cache: pip
@@ -73,10 +73,12 @@ jobs:
73
73
  - name: "Build sdist and whl"
74
74
  env:
75
75
  RELEASE_VERSION: ${{ steps.vars.outputs.tag }}
76
+ # echo "python igor.py build_next $RELEASE_VERSION"
77
+ # python igor.py build_next "$RELEASE_VERSION"
76
78
  run: |
77
79
  set -xe
78
- echo "python igor.py build_next $RELEASE_VERSION"
79
- python igor.py build_next "$RELEASE_VERSION"
80
+ echo "VERSION $RELEASE_VERSION"
81
+
80
82
  - name: "Install"
81
83
  run: |
82
84
  set -xe
@@ -89,7 +91,7 @@ jobs:
89
91
  python -m coverage combine
90
92
  python -m coverage xml --fail-under=90
91
93
  - name: "Upload to Codecov"
92
- uses: codecov/codecov-action@v5.1.2
94
+ uses: codecov/codecov-action@v5.4.3
93
95
  with:
94
96
  name: unittest-py3.10
95
97
  token: ${{ secrets.CODECOV_TOKEN }}
@@ -63,7 +63,7 @@ jobs:
63
63
  uses: actions/checkout@v4.2.2
64
64
 
65
65
  - name: "Set up Python"
66
- uses: actions/setup-python@v5.3.0
66
+ uses: actions/setup-python@v5.6.0
67
67
  with:
68
68
  python-version: "${{ matrix.python-version }}"
69
69
  allow-prereleases: true
@@ -85,7 +85,7 @@ jobs:
85
85
  - name: "Install dependencies"
86
86
  run: |
87
87
  set -xe
88
- python -m pip install 'pip<24.2' -r requirements/tox.pip
88
+ python -m pip install -r requirements/tox.pip # 'pip<24.2'
89
89
 
90
90
  - name: "Run tox for ${{ matrix.python-version }}"
91
91
  run: |
@@ -0,0 +1,68 @@
1
+ # Install pre-commit hooks via
2
+ # pre-commit install
3
+
4
+ exclude: >
5
+ (?x)^(
6
+ \.vscode/settings\.json|
7
+ tests/.*xml|
8
+ tests/.*txt|
9
+ )$
10
+
11
+ repos:
12
+ - repo: https://github.com/pre-commit/pre-commit-hooks
13
+ rev: v5.0.0
14
+ hooks:
15
+ - id: check-merge-conflict
16
+ - id: trailing-whitespace
17
+ - id: end-of-file-fixer
18
+ - id: check-docstring-first
19
+ - id: check-json
20
+ - id: check-yaml
21
+ - id: debug-statements
22
+
23
+ - repo: https://github.com/crate-ci/typos
24
+ rev: v1
25
+ hooks:
26
+ - id: typos
27
+
28
+ - repo: https://github.com/abravalheri/validate-pyproject
29
+ rev: v0.24.1
30
+ hooks:
31
+ - id: validate-pyproject
32
+
33
+ - repo: https://github.com/psf/black
34
+ rev: 25.1.0
35
+ hooks:
36
+ - id: black
37
+
38
+ - repo: https://github.com/keewis/blackdoc
39
+ rev: v0.3.9
40
+ hooks:
41
+ - id: blackdoc
42
+ additional_dependencies: ["black==25.1.0"]
43
+ - id: blackdoc-autoupdate-black
44
+
45
+ - repo: https://github.com/PyCQA/flake8
46
+ rev: 7.2.0
47
+ hooks:
48
+ - id: flake8
49
+ args: ["--ignore=E203,W503,W605,W293,W291,E501"]
50
+
51
+ - repo: https://github.com/PyCQA/isort
52
+ rev: 6.0.1
53
+ hooks:
54
+ - id: isort
55
+
56
+ - repo: https://github.com/pre-commit/mirrors-mypy
57
+ rev: v1.15.0
58
+ hooks:
59
+ - id: mypy
60
+ pass_filenames: false
61
+ entry: mypy src/sphinx_external_toc_strict/
62
+
63
+ - repo: https://github.com/econchick/interrogate
64
+ rev: 1.7.0 # or master if you're bold
65
+ hooks:
66
+ - id: interrogate
67
+ args: ["-v", "--fail-under=100", "--omit-covered-files"]
68
+ pass_filenames: false # needed if excluding files with pyproject.toml
@@ -4,7 +4,7 @@ build:
4
4
  os: ubuntu-22.04
5
5
  tools:
6
6
  # PYVERSIONS: the version we use for building docs. Check tox.ini[doc] also.
7
- python: "3.10"
7
+ python: "3.13"
8
8
  jobs:
9
9
  pre_build:
10
10
  - |
@@ -8,6 +8,20 @@ Changelog
8
8
  Feature request
9
9
  .................
10
10
 
11
+ - Like python -m build add -o option to `python igor.py build_next "current"`
12
+
13
+ - tests/test_util/sphinx_conftest.py:88, during tests, patches
14
+ sphinx.util.requests._Session.request
15
+ This causes Sphinx API deprecation warnings:
16
+
17
+ sphinx.util.FilenameUniqDict and sphinx.util.DownloadFiles
18
+
19
+ In sphinx, search for tls_cacerts, tls_verify, and user_agent.
20
+ Find where package requests is used and short-circuit
21
+
22
+ Is this related?
23
+ https://www.sphinx-doc.org/en/master/_modules/sphinx/addnodes.html#download_reference
24
+
11
25
  - migrate docs from rtd --> gh pages
12
26
 
13
27
  - https://allcontributors.org/
@@ -28,6 +42,30 @@ Changelog
28
42
 
29
43
  .. scriv-start-here
30
44
 
45
+ .. _changes_2-0-3.post1:
46
+
47
+ Version 2.0.3.post1 — 2025-05-19
48
+ --------------------------------
49
+
50
+ - refactor: remove setup.py
51
+ - fix: tox dependency pyproject-api requires bump tomli
52
+
53
+ .. _changes_2-0-3.post0:
54
+
55
+ Version 2.0.3.post0 — 2025-05-18
56
+ --------------------------------
57
+
58
+ - fix: bump setuptools-scm to pep639 license expression support
59
+
60
+ .. _changes_2-0-3:
61
+
62
+ Version 2.0.3 — 2025-05-18
63
+ --------------------------
64
+
65
+ - chore(re-commit): add repo typos
66
+ - chore: remove pip and setuptools pins
67
+ - ci: bump versions
68
+
31
69
  .. _changes_2-0-2:
32
70
 
33
71
  Version 2.0.2 — 2025-01-05
@@ -1,2 +1,3 @@
1
1
  prune tests/roots/test-root/_build
2
2
  prune tests/roots/test-skeleton/_build
3
+ exclude *.bak
@@ -37,7 +37,7 @@ ifeq ($(is_venv),1)
37
37
  is_wheel ?= $(call IS_PACKAGE,wheel)
38
38
  is_piptools ?= $(call IS_PACKAGE,pip-tools)
39
39
 
40
- find_whl = $(shell [[ -z "$(3)" ]] && extention=".whl" || extention="$(3)"; [[ -z "$(2)" ]] && srcdir="dist" || srcdir="$(2)/dist"; [[ -z "$(1)" ]] && whl=$$(ls $$srcdir/$(APP_NAME)*.whl --format="single-column") || whl=$$(ls $$srcdir/$(1)*.whl --format="single-column"); echo $${whl##*/})
40
+ find_whl = $(shell [[ -z "$(3)" ]] && extension=".whl" || extension="$(3)"; [[ -z "$(2)" ]] && srcdir="dist" || srcdir="$(2)/dist"; [[ -z "$(1)" ]] && whl=$$(ls $$srcdir/$(APP_NAME)*.whl --format="single-column") || whl=$$(ls $$srcdir/$(1)*.whl --format="single-column"); echo $${whl##*/})
41
41
  endif
42
42
 
43
43
  ##@ Helpers
@@ -152,20 +152,6 @@ ifeq ($(is_venv),1)
152
152
  $(VENV_BIN_PYTHON) -m flake8 tests/
153
153
  endif
154
154
 
155
- # --cov-report=xml
156
- # Dependencies: pytest, pytest-cov, pytest-regressions
157
- # make [v=1] coverage
158
- # @$(VENV_BIN)/pytest --showlocals --cov=sphinx_external_toc_strict --cov-report=term-missing tests
159
- .PHONY: coverage
160
- coverage: private verbose_text = $(if $(v),"--verbose")
161
- coverage: ## Run tests, generate coverage reports -- make [v=1] coverage
162
- ifeq ($(is_venv),1)
163
- -@$(VENV_BIN_PYTHON) -m coverage erase
164
- $(VENV_BIN_PYTHON) -m coverage run --parallel -m pytest --showlocals $(verbose_text) tests
165
- $(VENV_BIN_PYTHON) -m coverage combine
166
- $(VENV_BIN_PYTHON) -m coverage report --fail-under=90
167
- endif
168
-
169
155
  ##@ Kitting
170
156
  # Initial build
171
157
  # mkdir dist/ ||:; python -m build --outdir dist/ .
@@ -175,7 +161,7 @@ REPO_OWNER := msftcangoblowm/sphinx-external-toc-strict
175
161
  REPO := $(REPO_OWNER)/sphinx_external_toc_strict
176
162
 
177
163
  .PHONY: edit_for_release cheats relbranch kit_check kit_build kit_upload
178
- .PHONY: test_upload kits_build kits_download github_releases
164
+ .PHONY: test_upload kits_download github_releases
179
165
 
180
166
  edit_for_release: ## Edit sources to insert release facts (see howto.txt)
181
167
  python igor.py edit_for_release
@@ -191,9 +177,6 @@ kit_check: ## Check that dist/* are well-formed
191
177
  python -m twine check dist/*
192
178
  @echo $$(ls -1 dist | wc -l) distribution kits
193
179
 
194
- kit_build: ## Make the source distribution
195
- python igor.py build_next ""
196
-
197
180
  kit_upload: ## Upload the built distributions to PyPI
198
181
  twine upload --verbose dist/*
199
182
 
@@ -209,6 +192,13 @@ kits_download: ## Download the built kits from GitHub
209
192
  github_releases: $(DOCBIN) ## Update GitHub releases.
210
193
  $(DOCBIN)/python -m scriv github-release --all
211
194
 
195
+ ##@ GNU Make standard targets
196
+
197
+ # kind tag current or semantic version str
198
+ .PHONY: build
199
+ build: ## Make the source distribution
200
+ @python igor.py build_next ""
201
+
212
202
  .PHONY: install
213
203
  install: override usage := make [force=1]
214
204
  install: override check_web := Install failed. Possible cause no web connection
@@ -230,3 +220,17 @@ endif
230
220
  .PHONY: install-force
231
221
  install-force: force := 1
232
222
  install-force: install ## Force install even if exact same version
223
+
224
+ # --cov-report=xml
225
+ # Dependencies: pytest, pytest-cov, pytest-regressions
226
+ # make [v=1] check
227
+ # @$(VENV_BIN)/pytest --showlocals --cov=sphinx_external_toc_strict --cov-report=term-missing tests
228
+ .PHONY: check
229
+ check: private verbose_text = $(if $(v),"--verbose")
230
+ check: ## Run tests, generate coverage reports -- make [v=1] coverage
231
+ ifeq ($(is_venv),1)
232
+ -@$(VENV_BIN_PYTHON) -m coverage erase
233
+ $(VENV_BIN_PYTHON) -m coverage run --parallel -m pytest --showlocals $(verbose_text) tests
234
+ $(VENV_BIN_PYTHON) -m coverage combine
235
+ $(VENV_BIN_PYTHON) -m coverage report --fail-under=90
236
+ endif