mkdocstrings-github 0.6.0__tar.gz → 0.6.1__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 (126) hide show
  1. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/PKG-INFO +1 -1
  2. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/changelog.md +32 -0
  3. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/pyproject.toml +5 -5
  4. mkdocstrings_github-0.6.1/test/test_coverage.py +356 -0
  5. mkdocstrings_github-0.6.1/test/test_signature_ref.py +51 -0
  6. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/.github/CODEOWNERS +0 -0
  7. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/.github/CONTRIBUTING.md +0 -0
  8. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/.github/FUNDING.yml +0 -0
  9. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/.github/renovate.json5 +0 -0
  10. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/.github/workflows/docs.yaml +0 -0
  11. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/.github/workflows/example_workflow.yml +0 -0
  12. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/.github/workflows/qualify.yaml +0 -0
  13. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/.github/workflows/release.yaml +0 -0
  14. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/.gitignore +0 -0
  15. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/.gitmodules +0 -0
  16. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/.pre-commit-config.yaml +0 -0
  17. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/LICENSE +0 -0
  18. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/README.md +0 -0
  19. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/action.yaml +0 -0
  20. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/contributing.md +0 -0
  21. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/credits.md +0 -0
  22. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/favicon.png +0 -0
  23. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/img/example_dark.png +0 -0
  24. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/img/example_light.png +0 -0
  25. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/img/logo.png +0 -0
  26. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/index.md +0 -0
  27. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/license-page.md +0 -0
  28. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/overrides/main.html +0 -0
  29. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/overrides/partials/toc-item.html +0 -0
  30. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/stylesheets/extra.css +0 -0
  31. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/usage/general.md +0 -0
  32. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/usage/headings.md +0 -0
  33. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/usage/index.md +0 -0
  34. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/usage/parameters.md +0 -0
  35. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/docs/usage/signatures.md +0 -0
  36. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/mkdocs.yml +0 -0
  37. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/__init__.py +0 -0
  38. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/config.py +0 -0
  39. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/handler.py +0 -0
  40. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/objects.py +0 -0
  41. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/py.typed +0 -0
  42. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/rendering.py +0 -0
  43. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/_macros.html.jinja +0 -0
  44. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/action.html.jinja +0 -0
  45. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/heading.html.jinja +0 -0
  46. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/inputs.html.jinja +0 -0
  47. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/outputs.html.jinja +0 -0
  48. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/secrets.html.jinja +0 -0
  49. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/style.css +0 -0
  50. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/src/mkdocstrings_handlers/github/templates/material/workflow.html.jinja +0 -0
  51. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/__init__.py +0 -0
  52. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/conftest.py +0 -0
  53. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/docs/.gitkeep +0 -0
  54. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/helpers.py +0 -0
  55. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/__init__.py +0 -0
  56. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/.gitignore +0 -0
  57. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/06f909d26ca3c2008ca57aeae14dc63fb04ade05997b8aed6ae1573bf42b5841.html +0 -0
  58. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/074e6b0350e6835d8a5461f936fc6ff8a0c46dc4c80c5ad5cd0b835cae19e2cd.html +0 -0
  59. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/0a37a4286738a72a224871dbd1bcd3c662e768f800a8e2b92c410d672c1d19fc.html +0 -0
  60. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/0bed6d92c16c4e133ffbed2d273614bca1be0d8a22afed48b36bd244e7eb261b.html +0 -0
  61. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/0d0e2427b85f5904c7c3970d7b411e0f2337a3c91a25beb18348e6d4a51e48ec.html +0 -0
  62. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/0de8e0706404a3d84a59420f94558fc0687324dad2f1340cec32bd4368626262.html +0 -0
  63. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/1322d6390dbc167e4d2734b6ff7ac30265a52feb242ece864fd08dd36a88214a.html +0 -0
  64. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/1efa0765882b4ea1a66fc91ef88418634786028dfcec5879aed9c268749de63c.html +0 -0
  65. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/1f92a9273cccc3fc7a358dfeca8bb2cbb5ede804ff490106eb2322cddd78f256.html +0 -0
  66. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/22929d6c2b70b481583d7b07fd7bff72dba985a465d42ad4ee5a7f557429102f.html +0 -0
  67. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/23cc1367f9dd06c1d51e4b1c8a5a2ea807f32a78de9c061438f4d2315bcc3d0e.html +0 -0
  68. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/24b2b02efe6eb2db3069c3d1717c3f7ad9bc47321acfd63979748b0a8378b169.html +0 -0
  69. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/2500c66e16468b20050dd9b8b152a48644d008c0316e444f47afc7bc5117e004.html +0 -0
  70. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/27af0061b4353d60bc86fadef002e4cad8d8774c06c3a720050c2b8b6726feae.html +0 -0
  71. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/28df0ab9fe5662687b72cbb8b2c8e2e18b98beb5a114a505ad845c91b8955a2e.html +0 -0
  72. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/2eb63f18b2d0aaf8000ffcc081c80067937fc7cacea496c2871198aa3bc12a14.html +0 -0
  73. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/361203a8fe1654bbfd22dcf01308d9b587b187f72c45754e2e35d1638696c35d.html +0 -0
  74. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/36d5597971381260ce0cd98b6ba1c3973134add32288bf34f47290fdbe55b0ec.html +0 -0
  75. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/3cb099624d882a4cde3ef6fdbea56c9aced9331dca1e19c7bc311c2611782e0d.html +0 -0
  76. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/43ad574e6f4bd9d7c1e5b41f74e890f314d86accf94396a2266e8736f8baf07a.html +0 -0
  77. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/47004f712909b0981384b3b51f7395939ee5ed669d38f620cc8275e700925371.html +0 -0
  78. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/50af1499553795c8cd859a1c9aa5ba162ef1c3dd9fa466668fc2da5bb002a61c.html +0 -0
  79. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/5508680ad1969ec83c9f6986137cca92bace28f3c5c75a67337753ee384c6783.html +0 -0
  80. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/5a2f11e94bc00c7a5122364dcffcdc9bd5c514a773fbf4d1b04fa7e96ba2cfa5.html +0 -0
  81. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/5d0abaf6f1a04083e3236ea03d57897ba0d03c9fe047738d0d9b065c8b45eff5.html +0 -0
  82. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/5e3b7eb70931d08e482575fcc2a24460f6a47c5ab58ffe37125d139a56cc5a0d.html +0 -0
  83. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/62bff06eac186bef15cc125315a29901d284d4e1b9b2e8ee7890ad1296cd8342.html +0 -0
  84. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/66a319534331c51a39c04e1c278747db6e1bb3ce99877c91e9af556da2de3182.html +0 -0
  85. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/6962c89022a7a9efbb57250e05f28f5375d5012b6a7d974040affe180c6fff0f.html +0 -0
  86. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/699c6bcc632255eb0d6715e054b5fb1a9328e5abc414a3f2b3605514eb440247.html +0 -0
  87. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/6af63bf65a648dc8a89b9fd67e7c2434ce2d004b54d21db2310f38de4c6a2038.html +0 -0
  88. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/6d20fba34c55a0c3c25d29a29470de573812305d70dabac3104a7d18d92b2b86.html +0 -0
  89. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/72b55cb37adc5eeaaeedc47e092dce6ada6193137372da90d471284b95714a24.html +0 -0
  90. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/757b79d7975f29e7b7eeda8c910578cb858a867dc4c647c4b5bc9a4c45dbf62e.html +0 -0
  91. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/78feb92e4171bf067dd1615523e5c9cac0de998bb7102ee70da2e145d1262339.html +0 -0
  92. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/7a54a2a8729f165bbdb1980498724d4de8e886d849b7407b4969bde8d14a7b88.html +0 -0
  93. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/81baa4bca07bde66951a18c2e99f3d86c4263bf01f054876225398e257390f00.html +0 -0
  94. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/8476f864e849f8e154b4144e873fbc540fb8e88c8ad095eb66925afe67c3fcac.html +0 -0
  95. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/856a4ff20ee15b09367d852d57cdb6a3376b799760365dbf7677c216156a7b4d.html +0 -0
  96. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/8b65d193fe31a661d1aa1b882b5d6cee96dcaaa4d28b057cdde5ccec660e9cb1.html +0 -0
  97. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/8bacb89d75273f2bfee27f0d86fd49def327fd3e33ba7595aac8058ab214181d.html +0 -0
  98. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/8bedbe96ebb5c09a621a72f4cf16b73cf538cd5bfb3549a99e3283f5bd97ef08.html +0 -0
  99. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/93bf082d40ca4b6730a503aa4d265901a8cfed7ed1a6e9bb6e584c2c3ebd18af.html +0 -0
  100. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/94b8c0c6610d32e8a877cb18b47ff8b072203c6a1e8fddc67be1d7e5b963c385.html +0 -0
  101. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/98e4b6474a6f67576ae40a75e152e6bd8c3e743259ad7f1d08890def2ff858d1.html +0 -0
  102. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/9cc6f18114bfd48128d8cc74d40d4f19911408af280ba1866f07209ae80d5e42.html +0 -0
  103. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/a34a87167e37faaf559d506c0c2a72913d0a225c06784d9ad71d91ffd97c1f42.html +0 -0
  104. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/a683a1d590ea2a074bc13a38c02f9b708290f8de5ebd660c73edaaabe695bc32.html +0 -0
  105. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/ac47b3b933709154de762d06903d78925cea9f1ec93865386d669680cf17e4a8.html +0 -0
  106. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/ace14d7e4e53515a281c109aca1d7b5bccb1259ff0c3e0c28a8e09908e4f2f26.html +0 -0
  107. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/b6163f7b64f009d0f8992a0ccb4da0af6b02b5411dceb42cb0816b5721ebade0.html +0 -0
  108. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/b972a05ffc5672d471d5b1e84b01470a3363a25f9d9adbc8d82f4b9fd21a94a1.html +0 -0
  109. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/bbea0ecf08aec9444ed75cbffd5424aa19e285ac64a53d1bb50f6130230b3c97.html +0 -0
  110. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/c2181f9e06dd6b7437f14e815c4fd32ec304e4474c93e86c02b43f41367a79ff.html +0 -0
  111. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/c50b7f91aafff5caf0fe0ff96a922b499617966705cde0d3622191f51f523b38.html +0 -0
  112. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/c8c895c400f0532aa3afe641f79ed14bc399b504169242c0a9f77572c185def2.html +0 -0
  113. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/cdad9a8909ec6448ff4392f523d4c7d41dcba61fc635e7e744026f901df04913.html +0 -0
  114. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/d0d656ae32436d7b190665f98f3fe2d7a6250ee7ff4e1fb1bcd9a1364d3da2cb.html +0 -0
  115. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/d3695fdb74725542e432d0cd239481b0e3ea11b671395255f6ad25875830324c.html +0 -0
  116. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/db0c43c8233d3c9719119d9e20bb483c48c42a01e488b7441664bdae58568d9f.html +0 -0
  117. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/dbdc3c6e76833bb444a7d291266713ec6cf3f196ddf27e2e30eb94da9efc2c1f.html +0 -0
  118. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/e567efbdae19280c4c56a70a27de39e0efdc422d99c9d497629128fd3ec553d5.html +0 -0
  119. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/e728a11685286456b1d4c90386923bfd08af1311c7de06966affd011abde3be6.html +0 -0
  120. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/ebb0bfe46e02e0e3fec3ac5a3bc44cddcab4d0f12871b708469db393e029b1e7.html +0 -0
  121. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/ecf772312e7e697bab6126468a698dc8184b2ff78361cf71e3fdc35157e7d542.html +0 -0
  122. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/f90542b4e3cbaf7e9820cdad6bbe707e3210983c911f11584cfae580e5cf6a04.html +0 -0
  123. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/snapshots/external/ffc40bfdc5e916d73943cd9bae0a3e893664bab1c10fc25a30f8243852022efb.html +0 -0
  124. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/test_handler.py +0 -0
  125. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/test_render_action.py +0 -0
  126. {mkdocstrings_github-0.6.0 → mkdocstrings_github-0.6.1}/test/test_render_workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mkdocstrings-github
3
- Version: 0.6.0
3
+ Version: 0.6.1
4
4
  Summary: A GitHub Action handler for mkdocstrings
5
5
  Author-email: Mark Hu <watermarkhu@gmail.com>
6
6
  License: MIT
@@ -2,6 +2,38 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v0.6.1 (2025-11-10)
6
+
7
+ ### Build System
8
+
9
+ - **deps**: Update dependency inline-snapshot to ~=0.31.0
10
+ ([#38](https://github.com/watermarkhu/mkdocstrings-github/pull/38),
11
+ [`df160a0`](https://github.com/watermarkhu/mkdocstrings-github/commit/df160a0f10f19d0ac589d2a4e13d9260d4b93fe0))
12
+
13
+ - **deps**: Update dependency pytest to v9
14
+ ([#40](https://github.com/watermarkhu/mkdocstrings-github/pull/40),
15
+ [`f338dbc`](https://github.com/watermarkhu/mkdocstrings-github/commit/f338dbcbf70dd89a1559ead510896816a0ed1ce0))
16
+
17
+ - **deps**: Update dependency python-semantic-release to ~=10.5.0
18
+ ([#41](https://github.com/watermarkhu/mkdocstrings-github/pull/41),
19
+ [`e1a78c7`](https://github.com/watermarkhu/mkdocstrings-github/commit/e1a78c753faa67b937737fc22e4826ba609bcc70))
20
+
21
+ ### Chores
22
+
23
+ - **deps**: Update dependency mkdocstrings-python to ~=1.19.0
24
+ ([#42](https://github.com/watermarkhu/mkdocstrings-github/pull/42),
25
+ [`7f92d5d`](https://github.com/watermarkhu/mkdocstrings-github/commit/7f92d5d0613007a7f1cc0cde76ba2159d8f30efd))
26
+
27
+ ### Testing
28
+
29
+ - Fix test_get_repository_name_no_remotes for CI environment
30
+ ([#39](https://github.com/watermarkhu/mkdocstrings-github/pull/39),
31
+ [`a04e7c7`](https://github.com/watermarkhu/mkdocstrings-github/commit/a04e7c78b7b2caf91b48f8d257b84c3e3e549bf3))
32
+
33
+ - Improve test coverage to 99% ([#39](https://github.com/watermarkhu/mkdocstrings-github/pull/39),
34
+ [`a04e7c7`](https://github.com/watermarkhu/mkdocstrings-github/commit/a04e7c78b7b2caf91b48f8d257b84c3e3e549bf3))
35
+
36
+
5
37
  ## v0.6.0 (2025-10-27)
6
38
 
7
39
  ### Build System
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mkdocstrings-github"
3
- version = "0.6.0"
3
+ version = "0.6.1"
4
4
  description = "A GitHub Action handler for mkdocstrings"
5
5
  authors = [
6
6
  { name = "Mark Hu", email = "watermarkhu@gmail.com" }
@@ -39,18 +39,18 @@ dev = [
39
39
  "ruff~=0.14.0",
40
40
  "prek>=0.2.1",
41
41
  "pydantic~=2.12",
42
- "pytest~=8.4.1",
42
+ "pytest~=9.0.0",
43
43
  "pytest-cov~=7.0.0",
44
44
  "beautifulsoup4>=4.13.3",
45
- "inline-snapshot~=0.30.0",
46
- "python-semantic-release~=10.4.1",
45
+ "inline-snapshot~=0.31.0",
46
+ "python-semantic-release~=10.5.0",
47
47
  ]
48
48
  docs = [
49
49
  "mkdocs-material~=9.5",
50
50
  "mkdocs-callouts~=1.15",
51
51
  "mkdocs-git-revision-date-localized-plugin~=1.3",
52
52
  "mkdocs-minify-plugin~=0.8",
53
- "mkdocstrings-python~=1.18.2",
53
+ "mkdocstrings-python~=1.19.0",
54
54
  "mike~=2.1",
55
55
  "griffe-pydantic~=1.1.7",
56
56
  ]
@@ -0,0 +1,356 @@
1
+ """Tests to improve code coverage for uncovered lines."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+ from unittest.mock import Mock
7
+
8
+ import pytest
9
+ from mkdocs.exceptions import PluginError
10
+
11
+ from mkdocstrings_handlers.github.objects import (
12
+ Input,
13
+ PermissionLevel,
14
+ Workflow,
15
+ _get_member,
16
+ )
17
+ from mkdocstrings_handlers.github.rendering import (
18
+ anchor_id,
19
+ as_string,
20
+ filter_parameters,
21
+ format_action_signature,
22
+ )
23
+
24
+ if TYPE_CHECKING:
25
+ from mkdocstrings_handlers.github import GitHubHandler
26
+
27
+
28
+ class TestRendering:
29
+ """Test rendering module functions."""
30
+
31
+ def test_as_string_with_bool_false(self):
32
+ """Test as_string with boolean False value."""
33
+ assert as_string(False) == "false"
34
+
35
+ def test_as_string_with_bool_true(self):
36
+ """Test as_string with boolean True value."""
37
+ assert as_string(True) == "true"
38
+
39
+ def test_as_string_with_int(self):
40
+ """Test as_string with integer value."""
41
+ assert as_string(42) == "42"
42
+
43
+ def test_as_string_with_float(self):
44
+ """Test as_string with float value."""
45
+ assert as_string(3.14) == "3.14"
46
+
47
+ def test_as_string_with_none(self):
48
+ """Test as_string with None value."""
49
+ assert as_string(None) == ""
50
+
51
+ def test_as_string_with_string(self):
52
+ """Test as_string with string value."""
53
+ assert as_string("test") == "test"
54
+
55
+ def test_as_string_with_unsupported_type(self):
56
+ """Test as_string raises TypeError for unsupported types."""
57
+ with pytest.raises(TypeError, match="Unsupported type"):
58
+ as_string([1, 2, 3]) # type: ignore
59
+
60
+ def test_filter_parameters_optional(self):
61
+ """Test filter_parameters with optional filter."""
62
+ params = [
63
+ Input(name="required", required=True),
64
+ Input(name="optional", required=False),
65
+ ]
66
+ filtered = filter_parameters(params, optional=True)
67
+ assert len(filtered) == 1
68
+ assert filtered[0].name == "optional"
69
+
70
+ def test_filter_parameters_description(self):
71
+ """Test filter_parameters with description filter."""
72
+ params = [
73
+ Input(name="with_desc", description="Has description"),
74
+ Input(name="without_desc", description=""),
75
+ ]
76
+ # When description=True, it filters OUT parameters without description
77
+ # So we keep only parameters WITH description
78
+ filtered = filter_parameters(params, description=True)
79
+ assert len(filtered) == 1
80
+ assert filtered[0].name == "with_desc"
81
+
82
+ def test_filter_parameters_default(self):
83
+ """Test filter_parameters with default filter."""
84
+ params = [
85
+ Input(name="with_default", default="value"),
86
+ Input(name="without_default", default=None),
87
+ ]
88
+ # When default=True, it filters OUT parameters without default
89
+ # So we keep only parameters WITH default
90
+ filtered = filter_parameters(params, default=True)
91
+ assert len(filtered) == 1
92
+ assert filtered[0].name == "with_default"
93
+
94
+ def test_anchor_id(self):
95
+ """Test anchor_id with spaces."""
96
+ result = anchor_id("my name", "input", "parent id")
97
+ assert result == "parent-id--input.my-name"
98
+
99
+ def test_format_action_signature_non_repo(self):
100
+ """Test format_action_signature when git_repo is not a Repo instance."""
101
+ from mkdocstrings_handlers.github.config import GitHubOptions
102
+
103
+ # Test with ref version when git_repo is not a Repo
104
+ context = Mock()
105
+ context.environment.globals = {"git_repo": "not_a_repo"}
106
+
107
+ options = GitHubOptions(signature_version="ref")
108
+ result = format_action_signature(context, ".", "owner/repo", options)
109
+ assert result == "owner/repo@unknown"
110
+
111
+ def test_format_action_signature_exception_handling(self):
112
+ """Test format_action_signature when accessing head.ref.name raises exception."""
113
+ import git
114
+
115
+ from mkdocstrings_handlers.github.config import GitHubOptions
116
+
117
+ # Create a mock that is a Repo instance but raises exception when accessing head.ref.name
118
+ context = Mock()
119
+
120
+ # Create an actual Repo type mock with side effect
121
+ mock_repo = Mock(spec=git.Repo)
122
+ type(mock_repo.head.ref).name = Mock(side_effect=Exception("Test exception"))
123
+
124
+ context.environment.globals = {"git_repo": mock_repo}
125
+
126
+ options = GitHubOptions(signature_version="ref")
127
+ result = format_action_signature(context, ".", "owner/repo", options)
128
+ assert result == "owner/repo@unknown"
129
+
130
+
131
+ class TestObjects:
132
+ """Test objects module functions and classes."""
133
+
134
+ def test_get_member_raises_key_error(self):
135
+ """Test _get_member raises KeyError when key is missing and no default."""
136
+ with pytest.raises(KeyError, match="Missing key"):
137
+ _get_member({}, "missing_key", error_message="Missing key")
138
+
139
+ def test_permission_level_from_label_invalid(self):
140
+ """Test PermissionLevel.from_label raises ValueError for invalid label."""
141
+ with pytest.raises(ValueError, match="No Permission with label"):
142
+ PermissionLevel.from_label("invalid")
143
+
144
+ def test_permission_level_gt_not_implemented(self):
145
+ """Test PermissionLevel.__gt__ returns NotImplemented for non-PermissionLevel."""
146
+ result = PermissionLevel.read.__gt__("string")
147
+ assert result == NotImplemented
148
+
149
+ def test_workflow_from_file_no_workflow_call(self, tmp_path):
150
+ """Test Workflow.from_file returns None when workflow_call is not present."""
151
+ workflow_file = tmp_path / "workflow.yml"
152
+ workflow_file.write_text(
153
+ """
154
+ name: Test Workflow
155
+ on:
156
+ push:
157
+ branches: [main]
158
+ """
159
+ )
160
+
161
+ result = Workflow.from_file(workflow_file, "test.yml")
162
+ assert result is None
163
+
164
+ def test_workflow_invalid_permission_level_string(self, tmp_path):
165
+ """Test Workflow.from_file raises ValueError for invalid permission string."""
166
+ workflow_file = tmp_path / "workflow.yml"
167
+ workflow_file.write_text(
168
+ """
169
+ name: Test Workflow
170
+ on:
171
+ workflow_call:
172
+ permissions: invalid-level
173
+ """
174
+ )
175
+
176
+ with pytest.raises(ValueError, match="Unknown permission level"):
177
+ Workflow.from_file(workflow_file, "test.yml")
178
+
179
+ def test_workflow_invalid_permission_type(self, tmp_path):
180
+ """Test Workflow.from_file raises ValueError for invalid permission type."""
181
+ workflow_file = tmp_path / "workflow.yml"
182
+ workflow_file.write_text(
183
+ """
184
+ name: Test Workflow
185
+ on:
186
+ workflow_call:
187
+ permissions: 123
188
+ """
189
+ )
190
+
191
+ with pytest.raises(ValueError, match="permissions must be a string or a dictionary"):
192
+ Workflow.from_file(workflow_file, "test.yml")
193
+
194
+ def test_workflow_invalid_job_permission_type(self, tmp_path):
195
+ """Test Workflow.from_file raises ValueError for invalid job permission type."""
196
+ workflow_file = tmp_path / "workflow.yml"
197
+ workflow_file.write_text(
198
+ """
199
+ name: Test Workflow
200
+ on:
201
+ workflow_call:
202
+ jobs:
203
+ test:
204
+ runs-on: ubuntu-latest
205
+ permissions: 123
206
+ """
207
+ )
208
+
209
+ with pytest.raises(ValueError, match="permissions must be a string or a dictionary"):
210
+ Workflow.from_file(workflow_file, "test.yml")
211
+
212
+
213
+ class TestHandler:
214
+ """Test handler module functions."""
215
+
216
+ def test_get_releases_exception_handling(self):
217
+ """Test get_releases handles exception when getting git tags fails."""
218
+ from mkdocstrings_handlers.github.config import GitHubConfig
219
+ from mkdocstrings_handlers.github.handler import GitHubHandler
220
+
221
+ # Create a mock repo that raises exception when accessing tags
222
+ mock_repo = Mock()
223
+ mock_repo.tags = Mock(side_effect=Exception("Git error"))
224
+
225
+ handler = GitHubHandler(config=GitHubConfig(), repo=mock_repo)
226
+
227
+ # Should handle exception gracefully without raising
228
+ handler.get_releases()
229
+ assert handler.semver == ""
230
+ assert handler.major == ""
231
+
232
+ def test_get_releases_with_invalid_version_tag(self, tmp_path):
233
+ """Test get_releases handles tags with invalid version format."""
234
+ import git
235
+
236
+ from mkdocstrings_handlers.github.config import GitHubConfig
237
+ from mkdocstrings_handlers.github.handler import GitHubHandler
238
+
239
+ # Create a temporary git repo with a commit
240
+ repo = git.Repo.init(tmp_path)
241
+
242
+ # Create a file and commit it so we have a valid HEAD
243
+ test_file = tmp_path / "test.txt"
244
+ test_file.write_text("test")
245
+ repo.index.add([str(test_file)])
246
+ repo.index.commit("Initial commit")
247
+
248
+ # Create tags with invalid version format (including semver-like tags with invalid versions)
249
+ repo.create_tag("invalid-tag")
250
+ repo.create_tag("another-invalid")
251
+ repo.create_tag("v1.2.3") # Valid semver
252
+ repo.create_tag("v99.99.99") # Valid semver
253
+
254
+ handler = GitHubHandler(config=GitHubConfig(), repo=repo)
255
+ handler.get_releases()
256
+
257
+ # Should use the latest valid semver tag
258
+ assert handler.semver == "v99.99.99"
259
+ assert handler.major == ""
260
+
261
+ def test_get_releases_with_tags_triggering_invalid_version(self):
262
+ """Test get_releases handles tags that trigger InvalidVersion exception."""
263
+ from mkdocstrings_handlers.github.config import GitHubConfig
264
+ from mkdocstrings_handlers.github.handler import GitHubHandler
265
+
266
+ # Create a mock repo with tags that will trigger InvalidVersion
267
+ mock_tag1 = Mock()
268
+ mock_tag1.name = "vinvalid" # Matches major pattern but invalid version
269
+
270
+ mock_tag2 = Mock()
271
+ mock_tag2.name = "v1" # Valid major tag
272
+
273
+ mock_repo = Mock()
274
+ mock_repo.tags = [mock_tag1, mock_tag2]
275
+
276
+ handler = GitHubHandler(config=GitHubConfig(), repo=mock_repo)
277
+ handler.get_releases()
278
+
279
+ # Should gracefully handle the invalid version and use the valid one
280
+ assert handler.major == "v1"
281
+
282
+ def test_get_options_invalid(self, handler: GitHubHandler):
283
+ """Test get_options raises PluginError for invalid options."""
284
+ with pytest.raises(PluginError, match="Invalid options"):
285
+ handler.get_options({"invalid_option": "value", "heading_level": "not_an_int"})
286
+
287
+ def test_get_repository_name_no_remotes(self, tmp_path):
288
+ """Test get_repository_name raises error when no valid remote is found."""
289
+ import os
290
+
291
+ import git
292
+
293
+ from mkdocstrings_handlers.github.config import GitHubConfig
294
+ from mkdocstrings_handlers.github.handler import GitHubHandler
295
+
296
+ # Create a temporary git repo without any remotes
297
+ repo = git.Repo.init(tmp_path)
298
+
299
+ handler = GitHubHandler(config=GitHubConfig(), repo=repo)
300
+
301
+ # Temporarily clear GITHUB_ACTIONS and GITHUB_REPOSITORY env vars
302
+ # to ensure the test actually checks the remote URL logic
303
+ github_actions = os.environ.pop("GITHUB_ACTIONS", None)
304
+ github_repo = os.environ.pop("GITHUB_REPOSITORY", None)
305
+
306
+ try:
307
+ with pytest.raises(
308
+ PluginError,
309
+ match="Could not determine GitHub repository owner/name from any git remote URL",
310
+ ):
311
+ handler.get_repository_name()
312
+ finally:
313
+ # Restore environment variables
314
+ if github_actions is not None:
315
+ os.environ["GITHUB_ACTIONS"] = github_actions
316
+ if github_repo is not None:
317
+ os.environ["GITHUB_REPOSITORY"] = github_repo
318
+
319
+
320
+ class TestWorkflowPermissions:
321
+ """Test workflow permission handling."""
322
+
323
+ def test_workflow_job_permission_string(self, tmp_path):
324
+ """Test Workflow with job-level permission strings."""
325
+ workflow_file = tmp_path / "workflow.yml"
326
+ workflow_file.write_text(
327
+ """
328
+ name: Test Workflow
329
+ on:
330
+ workflow_call:
331
+ jobs:
332
+ test:
333
+ runs-on: ubuntu-latest
334
+ permissions: read-all
335
+ """
336
+ )
337
+
338
+ workflow = Workflow.from_file(workflow_file, "test.yml")
339
+ assert workflow is not None
340
+ assert workflow.permission_read_all
341
+
342
+ def test_workflow_job_permission_write_all(self, tmp_path):
343
+ """Test Workflow with write-all permission."""
344
+ workflow_file = tmp_path / "workflow.yml"
345
+ workflow_file.write_text(
346
+ """
347
+ name: Test Workflow
348
+ on:
349
+ workflow_call:
350
+ permissions: write-all
351
+ """
352
+ )
353
+
354
+ workflow = Workflow.from_file(workflow_file, "test.yml")
355
+ assert workflow is not None
356
+ assert workflow.permission_write_all
@@ -0,0 +1,51 @@
1
+ """Test signature with ref version to improve coverage."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ if TYPE_CHECKING:
8
+ from mkdocstrings_handlers.github import GitHubHandler
9
+
10
+
11
+ def test_action_signature_with_ref(session_handler: GitHubHandler) -> None:
12
+ """Test action signature with ref version to cover rendering.py line 29."""
13
+ from test.helpers import render
14
+
15
+ # This will use the actual git repo and access git_repo.head.ref.name
16
+ html = render(
17
+ session_handler,
18
+ ".",
19
+ {
20
+ "signature_version": "ref",
21
+ "show_signature": True,
22
+ "show_heading": False,
23
+ "show_description": False,
24
+ "show_source": False,
25
+ },
26
+ )
27
+
28
+ # The signature should contain the current branch name (could be HEAD, main, master, etc.)
29
+ assert "@" in html
30
+ # Verify we're actually rendering the signature
31
+ assert "uses:" in html or "@" in html
32
+
33
+
34
+ def test_workflow_signature_with_ref(session_handler: GitHubHandler) -> None:
35
+ """Test workflow signature with ref version."""
36
+ from test.helpers import render
37
+
38
+ html = render(
39
+ session_handler,
40
+ ".github/workflows/reusable-workflow.yml",
41
+ {
42
+ "signature_version": "ref",
43
+ "show_signature": True,
44
+ "show_heading": False,
45
+ "show_description": False,
46
+ "show_source": False,
47
+ },
48
+ )
49
+
50
+ # The signature should contain the current branch name
51
+ assert "@" in html