python-gitea 0.8.0__tar.gz → 0.10.0__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 (337) hide show
  1. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/workflows/codeql.yml +3 -3
  2. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/workflows/support_floor_update.yml +1 -1
  3. {python_gitea-0.8.0 → python_gitea-0.10.0}/.gitignore +4 -0
  4. {python_gitea-0.8.0 → python_gitea-0.10.0}/.pre-commit-config.yaml +2 -2
  5. {python_gitea-0.8.0 → python_gitea-0.10.0}/CONTRIBUTING.md +74 -0
  6. {python_gitea-0.8.0 → python_gitea-0.10.0}/PKG-INFO +1 -1
  7. {python_gitea-0.8.0 → python_gitea-0.10.0}/docs/dev/architecture.md +12 -1
  8. python_gitea-0.10.0/docs/user-guide/cli.md +624 -0
  9. python_gitea-0.10.0/docs/user-guide/python-api.md +233 -0
  10. {python_gitea-0.8.0 → python_gitea-0.10.0}/mkdocs.yml +5 -0
  11. {python_gitea-0.8.0 → python_gitea-0.10.0}/pyproject.toml +35 -2
  12. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/comment/add.py +15 -7
  13. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/comment/delete.py +9 -4
  14. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/comment/edit.py +9 -4
  15. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/comment/list.py +15 -7
  16. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/config/add.py +12 -0
  17. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/config/delete.py +17 -2
  18. python_gitea-0.10.0/src/gitea/cli/config/list.py +54 -0
  19. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/config/update.py +13 -0
  20. python_gitea-0.10.0/src/gitea/cli/issue/close.py +106 -0
  21. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/issue/create.py +9 -4
  22. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/issue/dependency/add.py +32 -12
  23. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/issue/dependency/list.py +15 -7
  24. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/issue/dependency/remove.py +32 -12
  25. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/issue/edit.py +15 -7
  26. python_gitea-0.10.0/src/gitea/cli/issue/get.py +98 -0
  27. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/issue/list.py +9 -4
  28. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/issue/main.py +6 -0
  29. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/label/create.py +9 -4
  30. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/label/delete.py +9 -4
  31. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/label/list.py +9 -4
  32. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/label/update.py +9 -4
  33. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/main.py +48 -1
  34. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/milestone/create.py +9 -4
  35. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/milestone/list.py +9 -4
  36. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/notification/list.py +1 -1
  37. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/notification/read.py +1 -1
  38. python_gitea-0.10.0/src/gitea/cli/organization/__init__.py +1 -0
  39. python_gitea-0.10.0/src/gitea/cli/organization/list.py +88 -0
  40. python_gitea-0.10.0/src/gitea/cli/organization/main.py +21 -0
  41. python_gitea-0.10.0/src/gitea/cli/output.py +70 -0
  42. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/project/column/create.py +1 -1
  43. python_gitea-0.8.0/src/gitea/cli/project/issue/remove.py → python_gitea-0.10.0/src/gitea/cli/project/column/issues.py +19 -10
  44. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/project/column/list.py +1 -1
  45. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/project/create.py +1 -1
  46. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/project/delete.py +1 -1
  47. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/project/edit.py +1 -1
  48. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/project/get.py +1 -1
  49. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/project/issue/add.py +32 -7
  50. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/project/issue/move.py +33 -8
  51. python_gitea-0.10.0/src/gitea/cli/project/issue/remove.py +110 -0
  52. python_gitea-0.10.0/src/gitea/cli/project/issues.py +108 -0
  53. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/project/list.py +1 -1
  54. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/project/main.py +6 -0
  55. python_gitea-0.10.0/src/gitea/cli/project/show.py +147 -0
  56. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/pull_request/list.py +9 -4
  57. python_gitea-0.10.0/src/gitea/cli/repository/__init__.py +1 -0
  58. python_gitea-0.10.0/src/gitea/cli/repository/list.py +115 -0
  59. python_gitea-0.10.0/src/gitea/cli/repository/main.py +21 -0
  60. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/user/get.py +1 -1
  61. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/user/update_settings.py +1 -1
  62. python_gitea-0.10.0/src/gitea/cli/utils/api.py +96 -0
  63. python_gitea-0.10.0/src/gitea/cli/utils/errors.py +56 -0
  64. python_gitea-0.10.0/src/gitea/cli/utils/issue.py +253 -0
  65. python_gitea-0.10.0/src/gitea/cli/utils/options.py +110 -0
  66. python_gitea-0.10.0/src/gitea/cli/watch/__init__.py +1 -0
  67. python_gitea-0.10.0/src/gitea/cli/watch/list.py +419 -0
  68. python_gitea-0.10.0/src/gitea/cli/watch/main.py +21 -0
  69. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/client/async_gitea.py +2 -0
  70. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/client/gitea.py +2 -0
  71. python_gitea-0.10.0/src/gitea/issue/__init__.py +9 -0
  72. python_gitea-0.10.0/src/gitea/issue/project_column.py +336 -0
  73. python_gitea-0.10.0/src/gitea/organization/__init__.py +8 -0
  74. python_gitea-0.10.0/src/gitea/organization/async_organization.py +69 -0
  75. python_gitea-0.10.0/src/gitea/organization/base.py +60 -0
  76. python_gitea-0.10.0/src/gitea/organization/organization.py +69 -0
  77. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/project/async_project.py +13 -4
  78. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/project/project.py +13 -4
  79. python_gitea-0.10.0/src/gitea/utils/fields.py +200 -0
  80. python_gitea-0.10.0/src/gitea/utils/pagination.py +323 -0
  81. python_gitea-0.10.0/src/gitea/watch/__init__.py +54 -0
  82. python_gitea-0.10.0/src/gitea/watch/changes.py +336 -0
  83. python_gitea-0.10.0/src/gitea/watch/state.py +468 -0
  84. python_gitea-0.10.0/tests/board.py +122 -0
  85. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/comment/test_cli_comment_add.py +1 -1
  86. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/comment/test_cli_comment_list.py +1 -1
  87. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/config/test_cli_config_add.py +125 -1
  88. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/config/test_cli_config_delete.py +106 -1
  89. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/config/test_cli_config_list.py +63 -0
  90. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/config/test_cli_config_update.py +146 -1
  91. python_gitea-0.10.0/tests/cli/envelope.py +49 -0
  92. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/issue/dependency/test_cli_issue_dependency.py +5 -5
  93. python_gitea-0.10.0/tests/cli/issue/test_cli_issue_close.py +191 -0
  94. python_gitea-0.10.0/tests/cli/issue/test_cli_issue_comment.py +55 -0
  95. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/issue/test_cli_issue_edit.py +1 -1
  96. python_gitea-0.10.0/tests/cli/issue/test_cli_issue_get.py +205 -0
  97. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/notification/test_cli_notification.py +89 -0
  98. python_gitea-0.10.0/tests/cli/organization/__init__.py +1 -0
  99. python_gitea-0.10.0/tests/cli/organization/test_cli_organization_list.py +144 -0
  100. python_gitea-0.10.0/tests/cli/organization/test_cli_organization_main.py +24 -0
  101. python_gitea-0.10.0/tests/cli/project/test_cli_project.py +796 -0
  102. python_gitea-0.10.0/tests/cli/project/test_cli_project_column_issues.py +347 -0
  103. python_gitea-0.10.0/tests/cli/project/test_cli_project_show.py +367 -0
  104. python_gitea-0.10.0/tests/cli/rendering.py +39 -0
  105. python_gitea-0.10.0/tests/cli/repository/__init__.py +1 -0
  106. python_gitea-0.10.0/tests/cli/repository/test_cli_repository_list.py +267 -0
  107. python_gitea-0.10.0/tests/cli/repository/test_cli_repository_main.py +24 -0
  108. python_gitea-0.10.0/tests/cli/test_cli_contract.py +648 -0
  109. python_gitea-0.10.0/tests/cli/test_cli_main.py +888 -0
  110. python_gitea-0.10.0/tests/cli/test_cli_output.py +101 -0
  111. python_gitea-0.10.0/tests/cli/tree.py +46 -0
  112. python_gitea-0.10.0/tests/cli/utils/test_cli_utils_api.py +182 -0
  113. python_gitea-0.10.0/tests/cli/utils/test_cli_utils_errors.py +47 -0
  114. python_gitea-0.10.0/tests/cli/utils/test_cli_utils_issue.py +410 -0
  115. python_gitea-0.10.0/tests/cli/utils/test_cli_utils_options.py +113 -0
  116. python_gitea-0.10.0/tests/cli/watch/__init__.py +1 -0
  117. python_gitea-0.10.0/tests/cli/watch/test_cli_watch_list.py +1267 -0
  118. python_gitea-0.10.0/tests/issue/test_issue_async_project_column.py +231 -0
  119. python_gitea-0.10.0/tests/issue/test_issue_project_column.py +334 -0
  120. python_gitea-0.10.0/tests/organization/__init__.py +1 -0
  121. python_gitea-0.10.0/tests/organization/test_organization_async_organization.py +120 -0
  122. python_gitea-0.10.0/tests/organization/test_organization_base.py +66 -0
  123. python_gitea-0.10.0/tests/organization/test_organization_organization.py +109 -0
  124. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/project/test_project_project.py +61 -0
  125. python_gitea-0.10.0/tests/project/test_project_requests.py +391 -0
  126. python_gitea-0.10.0/tests/test_version.py +72 -0
  127. python_gitea-0.10.0/tests/transport.py +289 -0
  128. python_gitea-0.10.0/tests/utils/test_utils_fields.py +270 -0
  129. python_gitea-0.10.0/tests/utils/test_utils_pagination.py +542 -0
  130. python_gitea-0.10.0/tests/watch/__init__.py +1 -0
  131. python_gitea-0.10.0/tests/watch/test_watch_changes.py +414 -0
  132. python_gitea-0.10.0/tests/watch/test_watch_state.py +697 -0
  133. {python_gitea-0.8.0 → python_gitea-0.10.0}/uv.lock +448 -163
  134. python_gitea-0.8.0/docs/user-guide/cli.md +0 -152
  135. python_gitea-0.8.0/docs/user-guide/python-api.md +0 -88
  136. python_gitea-0.8.0/src/gitea/cli/config/list.py +0 -40
  137. python_gitea-0.8.0/src/gitea/cli/issue/get.py +0 -76
  138. python_gitea-0.8.0/src/gitea/cli/utils/api.py +0 -32
  139. python_gitea-0.8.0/src/gitea/issue/__init__.py +0 -8
  140. python_gitea-0.8.0/tests/cli/issue/test_cli_issue_get.py +0 -39
  141. python_gitea-0.8.0/tests/cli/project/test_cli_project.py +0 -404
  142. python_gitea-0.8.0/tests/cli/test_cli_main.py +0 -99
  143. python_gitea-0.8.0/tests/cli/utils/test_cli_utils_api.py +0 -46
  144. python_gitea-0.8.0/tests/test_version.py +0 -32
  145. {python_gitea-0.8.0 → python_gitea-0.10.0}/.coderabbit.yaml +0 -0
  146. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
  147. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  148. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
  149. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/pull_request_template.md +0 -0
  150. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/workflows/ci.yml +0 -0
  151. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/workflows/documentation.yml +0 -0
  152. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/workflows/draft_release.yml +0 -0
  153. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/workflows/publish.yml +0 -0
  154. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/workflows/publish_testpypi.yml +0 -0
  155. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/workflows/release.yml +0 -0
  156. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/workflows/scheduled_release.yml +0 -0
  157. {python_gitea-0.8.0 → python_gitea-0.10.0}/.github/workflows/semantic_pull_request.yml +0 -0
  158. {python_gitea-0.8.0 → python_gitea-0.10.0}/.markdownlint.yaml +0 -0
  159. {python_gitea-0.8.0 → python_gitea-0.10.0}/.prettierrc +0 -0
  160. {python_gitea-0.8.0 → python_gitea-0.10.0}/.pypirc +0 -0
  161. {python_gitea-0.8.0 → python_gitea-0.10.0}/.typos.toml +0 -0
  162. {python_gitea-0.8.0 → python_gitea-0.10.0}/CITATION.cff +0 -0
  163. {python_gitea-0.8.0 → python_gitea-0.10.0}/CODE_OF_CONDUCT.md +0 -0
  164. {python_gitea-0.8.0 → python_gitea-0.10.0}/LICENSE +0 -0
  165. {python_gitea-0.8.0 → python_gitea-0.10.0}/README.md +0 -0
  166. {python_gitea-0.8.0 → python_gitea-0.10.0}/SECURITY.md +0 -0
  167. {python_gitea-0.8.0 → python_gitea-0.10.0}/SUPPORT.md +0 -0
  168. {python_gitea-0.8.0 → python_gitea-0.10.0}/cliff.toml +0 -0
  169. {python_gitea-0.8.0 → python_gitea-0.10.0}/docs/contributing.md +0 -0
  170. {python_gitea-0.8.0 → python_gitea-0.10.0}/docs/dev/troubleshooting.md +0 -0
  171. {python_gitea-0.8.0 → python_gitea-0.10.0}/docs/gen_ref_pages.py +0 -0
  172. {python_gitea-0.8.0 → python_gitea-0.10.0}/docs/index.md +0 -0
  173. {python_gitea-0.8.0 → python_gitea-0.10.0}/docs/javascripts/mathjax.js +0 -0
  174. {python_gitea-0.8.0 → python_gitea-0.10.0}/docs/security.md +0 -0
  175. {python_gitea-0.8.0 → python_gitea-0.10.0}/docs/style/api.css +0 -0
  176. {python_gitea-0.8.0 → python_gitea-0.10.0}/docs/user-guide/configuration.md +0 -0
  177. {python_gitea-0.8.0 → python_gitea-0.10.0}/docs/user-guide/installation.md +0 -0
  178. {python_gitea-0.8.0 → python_gitea-0.10.0}/docs/user-guide/quickstart.md +0 -0
  179. {python_gitea-0.8.0 → python_gitea-0.10.0}/renovate.json +0 -0
  180. {python_gitea-0.8.0 → python_gitea-0.10.0}/scripts/release_version.py +0 -0
  181. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/__init__.py +0 -0
  182. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/__main__.py +0 -0
  183. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/__init__.py +0 -0
  184. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/comment/__init__.py +0 -0
  185. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/comment/main.py +0 -0
  186. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/config/__init__.py +0 -0
  187. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/config/main.py +0 -0
  188. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/issue/__init__.py +0 -0
  189. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/issue/dependency/__init__.py +0 -0
  190. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/issue/dependency/main.py +0 -0
  191. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/label/__init__.py +0 -0
  192. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/label/main.py +0 -0
  193. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/milestone/__init__.py +0 -0
  194. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/milestone/main.py +0 -0
  195. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/notification/__init__.py +0 -0
  196. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/notification/main.py +0 -0
  197. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/project/__init__.py +0 -0
  198. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/project/column/__init__.py +0 -0
  199. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/project/issue/__init__.py +0 -0
  200. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/pull_request/__init__.py +0 -0
  201. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/pull_request/main.py +0 -0
  202. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/user/__init__.py +0 -0
  203. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/user/main.py +0 -0
  204. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/utils/__init__.py +0 -0
  205. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/utils/auth.py +0 -0
  206. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/cli/utils/convert.py +0 -0
  207. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/client/__init__.py +0 -0
  208. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/client/base.py +0 -0
  209. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/comment/__init__.py +0 -0
  210. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/comment/async_comment.py +0 -0
  211. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/comment/base.py +0 -0
  212. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/comment/comment.py +0 -0
  213. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/config/__init__.py +0 -0
  214. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/config/manager.py +0 -0
  215. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/config/model.py +0 -0
  216. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/issue/async_issue.py +0 -0
  217. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/issue/base.py +0 -0
  218. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/issue/issue.py +0 -0
  219. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/label/__init__.py +0 -0
  220. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/label/async_label.py +0 -0
  221. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/label/base.py +0 -0
  222. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/label/label.py +0 -0
  223. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/milestone/__init__.py +0 -0
  224. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/milestone/async_milestone.py +0 -0
  225. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/milestone/base.py +0 -0
  226. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/milestone/milestone.py +0 -0
  227. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/notification/__init__.py +0 -0
  228. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/notification/async_notification.py +0 -0
  229. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/notification/base.py +0 -0
  230. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/notification/notification.py +0 -0
  231. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/project/__init__.py +0 -0
  232. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/project/base.py +0 -0
  233. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/pull_request/__init__.py +0 -0
  234. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/pull_request/async_pull_request.py +0 -0
  235. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/pull_request/base.py +0 -0
  236. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/pull_request/pull_request.py +0 -0
  237. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/repository/__init__.py +0 -0
  238. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/repository/async_repository.py +0 -0
  239. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/repository/base.py +0 -0
  240. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/repository/repository.py +0 -0
  241. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/resource/__init__.py +0 -0
  242. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/resource/async_resource.py +0 -0
  243. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/resource/resource.py +0 -0
  244. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/user/__init__.py +0 -0
  245. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/user/async_user.py +0 -0
  246. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/user/base.py +0 -0
  247. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/user/user.py +0 -0
  248. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/utils/__init__.py +0 -0
  249. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/utils/log.py +0 -0
  250. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/utils/response.py +0 -0
  251. {python_gitea-0.8.0 → python_gitea-0.10.0}/src/gitea/version.py +0 -0
  252. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/__init__.py +0 -0
  253. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/__init__.py +0 -0
  254. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/comment/__init__.py +0 -0
  255. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/comment/test_cli_comment_delete.py +0 -0
  256. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/comment/test_cli_comment_edit.py +0 -0
  257. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/comment/test_cli_comment_main.py +0 -0
  258. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/config/__init__.py +0 -0
  259. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/config/test_cli_config_main.py +0 -0
  260. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/issue/__init__.py +0 -0
  261. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/issue/dependency/__init__.py +0 -0
  262. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/issue/test_cli_issue_create.py +0 -0
  263. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/issue/test_cli_issue_list.py +0 -0
  264. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/issue/test_cli_issue_main.py +0 -0
  265. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/label/__init__.py +0 -0
  266. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/label/test_cli_label_create.py +0 -0
  267. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/label/test_cli_label_delete.py +0 -0
  268. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/label/test_cli_label_list.py +0 -0
  269. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/label/test_cli_label_main.py +0 -0
  270. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/label/test_cli_label_update.py +0 -0
  271. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/milestone/__init__.py +0 -0
  272. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/milestone/test_cli_milestone_create.py +0 -0
  273. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/milestone/test_cli_milestone_list.py +0 -0
  274. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/milestone/test_cli_milestone_main.py +0 -0
  275. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/notification/__init__.py +0 -0
  276. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/project/__init__.py +0 -0
  277. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/pull_request/__init__.py +0 -0
  278. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/pull_request/test_cli_pull_request_list.py +0 -0
  279. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/pull_request/test_cli_pull_request_main.py +0 -0
  280. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/user/__init__.py +0 -0
  281. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/user/test_cli_user_get.py +0 -0
  282. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/user/test_cli_user_update_settings.py +0 -0
  283. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/utils/__init__.py +0 -0
  284. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/utils/test_cli_utils_auth.py +0 -0
  285. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/cli/utils/test_cli_utils_convert.py +0 -0
  286. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/client/__init__.py +0 -0
  287. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/client/test_client_async_gitea.py +0 -0
  288. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/client/test_client_base.py +0 -0
  289. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/client/test_client_gitea.py +0 -0
  290. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/comment/__init__.py +0 -0
  291. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/comment/test_comment_async_comment.py +0 -0
  292. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/comment/test_comment_base.py +0 -0
  293. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/comment/test_comment_comment.py +0 -0
  294. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/config/__init__.py +0 -0
  295. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/config/test_config_manager.py +0 -0
  296. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/config/test_config_model.py +0 -0
  297. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/conftest.py +0 -0
  298. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/issue/__init__.py +0 -0
  299. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/issue/test_issue_async_issue.py +0 -0
  300. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/issue/test_issue_base.py +0 -0
  301. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/issue/test_issue_dependencies.py +0 -0
  302. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/issue/test_issue_issue.py +0 -0
  303. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/label/__init__.py +0 -0
  304. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/label/test_label_async_label.py +0 -0
  305. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/label/test_label_base.py +0 -0
  306. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/label/test_label_label.py +0 -0
  307. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/milestone/__init__.py +0 -0
  308. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/milestone/test_milestone_async_milestone.py +0 -0
  309. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/milestone/test_milestone_base.py +0 -0
  310. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/milestone/test_milestone_milestone.py +0 -0
  311. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/notification/__init__.py +0 -0
  312. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/notification/test_notification_base.py +0 -0
  313. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/notification/test_notification_notification.py +0 -0
  314. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/project/__init__.py +0 -0
  315. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/project/test_project_base.py +0 -0
  316. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/pull_request/__init__.py +0 -0
  317. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/pull_request/test_pull_request_async_pull_request.py +0 -0
  318. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/pull_request/test_pull_request_base.py +0 -0
  319. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/pull_request/test_pull_request_pull_request.py +0 -0
  320. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/repository/__init__.py +0 -0
  321. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/repository/test_repository_async_repository.py +0 -0
  322. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/repository/test_repository_base.py +0 -0
  323. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/repository/test_repository_repository.py +0 -0
  324. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/resource/__init__.py +0 -0
  325. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/resource/test_resource_async_resource.py +0 -0
  326. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/resource/test_resource_resource.py +0 -0
  327. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/smoke_test.py +0 -0
  328. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/test_import.py +0 -0
  329. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/test_main.py +0 -0
  330. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/test_release_version.py +0 -0
  331. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/user/__init__.py +0 -0
  332. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/user/test_user_async_user.py +0 -0
  333. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/user/test_user_base.py +0 -0
  334. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/user/test_user_user.py +0 -0
  335. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/utils/__init__.py +0 -0
  336. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/utils/test_utils_log.py +0 -0
  337. {python_gitea-0.8.0 → python_gitea-0.10.0}/tests/utils/test_utils_response.py +0 -0
@@ -22,13 +22,13 @@ jobs:
22
22
  uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
23
23
 
24
24
  - name: Initialize CodeQL
25
- uses: github/codeql-action/init@5595ccaf912efad79be6eef63a5619ff05969be3 # v4
25
+ uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4
26
26
  with:
27
27
  languages: python
28
28
  queries: security-and-quality
29
29
 
30
30
  - name: Autobuild
31
- uses: github/codeql-action/autobuild@5595ccaf912efad79be6eef63a5619ff05969be3 # v4
31
+ uses: github/codeql-action/autobuild@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4
32
32
 
33
33
  - name: Perform CodeQL Analysis
34
- uses: github/codeql-action/analyze@5595ccaf912efad79be6eef63a5619ff05969be3 # v4
34
+ uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4
@@ -22,7 +22,7 @@ jobs:
22
22
 
23
23
  - name: Apply support policy (spec0, from pyproject tool table)
24
24
  id: policy
25
- uses: isaac-cf-wong/dependency-support-policy-action@8cfabba7ba994cda4699cdbd0fbc7ede04dac145 # v0.2.3
25
+ uses: isaac-cf-wong/dependency-support-policy-action@7cce60e19b902747b4267c4f8e53820e3f3656ea # v0.2.4
26
26
  with:
27
27
  mode: update
28
28
 
@@ -133,3 +133,7 @@ dmypy.json
133
133
 
134
134
  # Node.js
135
135
  node_modules/
136
+
137
+ # mutmut
138
+ /mutants/
139
+ /.mutmut-cache
@@ -16,7 +16,7 @@ repos:
16
16
  - id: check-json
17
17
 
18
18
  - repo: https://github.com/astral-sh/ruff-pre-commit
19
- rev: v0.16.2
19
+ rev: v0.16.3
20
20
  hooks:
21
21
  - id: ruff
22
22
  args: [--fix, --config=pyproject.toml]
@@ -52,7 +52,7 @@ repos:
52
52
  - id: actionlint
53
53
 
54
54
  - repo: https://github.com/astral-sh/uv-pre-commit
55
- rev: 0.12.3
55
+ rev: 0.12.5
56
56
  hooks:
57
57
  # Update the uv lockfile
58
58
  - id: uv-lock
@@ -81,6 +81,80 @@ submitting a pull request—this guide will help you get started.
81
81
  pytest
82
82
  ```
83
83
 
84
+ Mutation testing runs the suite again for each deliberate alteration of the
85
+ source, and reports the alterations no test noticed:
86
+
87
+ ```shell
88
+ uv run mutmut run # every module
89
+ uv run mutmut run "gitea.cli.*" # one subtree, while iterating
90
+ uv run mutmut results # what survived
91
+ ```
92
+
93
+ A survivor is a change to the code that every test tolerated. Some cannot be
94
+ killed - a rewritten `typing.cast`, or anything in a `register_commands()`
95
+ that runs at import time - so read the diff `uv run mutmut show <mutant>`
96
+ prints before writing a test for one.
97
+
98
+ A filter selects which mutants are _run_, not which are written: every module
99
+ is mutated either way, so a scoped run still reports mutating the whole tree
100
+ and its progress counter reads `46/9042`, where the denominator counts every
101
+ mutant written and the numerator counts the ones the filter selected and
102
+ checked. Take the result of a scoped run from `uv run mutmut results` rather
103
+ than from that counter: it lists every mutant that was not killed, labelling
104
+ each as `survived` or as `not checked`, and naming the module it belongs to,
105
+ so the survivors of a scope are the `survived` entries whose names begin with
106
+ it. A filter matching no mutant stops the run with an error instead of
107
+ quietly widening it, so a scoped run that gets as far as testing is one that
108
+ scoped.
109
+
110
+ That listing names no killed mutant, though, so it cannot say how large the
111
+ scope was or what share of it died. Both are recorded per module, in the
112
+ `.meta` file mutmut writes beside each mutated module, whose
113
+ `exit_code_by_key` maps every mutant to the exit code of the run that checked
114
+ it - `0` survived, `1` killed, `null` never checked. Counting those gives the
115
+ verdict of a scope, and shows the modules outside it untouched. Point it at
116
+ the package directory the scope sits in - every module in the tree has a
117
+ `.meta`, so pointing it at the whole of `src/gitea` prints a line per module:
118
+
119
+ ```shell
120
+ uv run python - <<'PY'
121
+ import collections, json, pathlib
122
+
123
+ status = {0: "survived", 1: "killed", 3: "killed", 5: "no tests", 33: "no tests", None: "not checked"}
124
+ for meta in sorted(pathlib.Path("mutants/src/gitea/project").glob("*.py.meta")):
125
+ codes = json.loads(meta.read_text())["exit_code_by_key"]
126
+ counts = collections.Counter(status.get(c, f"exit {c}") for c in codes.values())
127
+ if counts:
128
+ print(f"{meta.name:24} {dict(counts)}")
129
+ PY
130
+ ```
131
+
132
+ ```text
133
+ async_project.py.meta {'killed': 620, 'survived': 16}
134
+ base.py.meta {'not checked': 215}
135
+ project.py.meta {'killed': 620, 'survived': 16}
136
+ ```
137
+
138
+ That is the output of a run scoped to the two project resource modules: 636
139
+ mutants each, 1,240 of the 1,272 killed, and the 215 of a module outside the
140
+ scope sitting unchecked. Start from `rm -rf mutants` when a run has to stand
141
+ on its own, since the verdicts of one run are otherwise carried into the
142
+ next.
143
+
144
+ To scope what is _written_ as well, and get a counter whose denominator is
145
+ the scope, point `source_paths` at the modules and let `also_copy` carry the
146
+ rest of the package that the tests import. Scoped to the same two modules as
147
+ above, that run reports mutating two files and counts `1272/1272`:
148
+
149
+ ```toml
150
+ [tool.mutmut]
151
+ source_paths = [
152
+ "src/gitea/project/project.py",
153
+ "src/gitea/project/async_project.py",
154
+ ]
155
+ also_copy = ["scripts/", "src/"]
156
+ ```
157
+
84
158
  8. Open a Pull Request
85
159
 
86
160
  Clearly describe the motivation and scope of your change. Link it to the relevant issue if applicable.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: python-gitea
3
- Version: 0.8.0
3
+ Version: 0.10.0
4
4
  Summary: A Python package for interacting with the Gitea API, offering a simple interface to access repositories, users, organizations, issues, and more for automation and data management.
5
5
  Project-URL: Documentation, https://isaac-cf-wong.github.io/python-gitea
6
6
  Project-URL: Source, https://github.com/isaac-cf-wong/python-gitea
@@ -44,6 +44,7 @@ src/gitea/
44
44
  ├── milestone/ # Milestone resource (sync + async)
45
45
  ├── notification/ # Notification resource (sync + async)
46
46
  ├── project/ # Project resource (sync + async)
47
+ ├── organization/ # Organization resource (sync + async)
47
48
  ├── cli/ # Typer CLI application
48
49
  │ ├── main.py # gitea-cli entry point, command registration
49
50
  │ ├── config/ # config commands
@@ -54,10 +55,14 @@ src/gitea/
54
55
  │ ├── milestone/ # milestone commands
55
56
  │ ├── notification/ # notification commands
56
57
  │ ├── project/ # project, column, and project-issue commands
58
+ │ ├── organization/ # org commands
59
+ │ ├── repository/ # repo commands
57
60
  │ ├── user/ # user commands
58
61
  │ └── utils/ # auth resolution, API helpers, conversions
59
- └── utils/ # Logging and response helpers
62
+ └── utils/ # Logging, field names, pagination, and response helpers
63
+ ├── fields.py # Field-name convention and compatibility aliases
60
64
  ├── log.py # Logger setup
65
+ ├── pagination.py # Paginated-listing walkers
61
66
  └── response.py # Response processing helpers
62
67
  ```
63
68
 
@@ -84,6 +89,7 @@ with Gitea(token="...", base_url="...") as client:
84
89
  client.milestone # Milestone
85
90
  client.notification # Notification
86
91
  client.project # Project
92
+ client.organization # Organization
87
93
  ```
88
94
 
89
95
  ## Resource Layer
@@ -96,6 +102,11 @@ names. Methods map one-to-one onto Gitea REST endpoints and return either:
96
102
  JSON payload and `status` carries metadata such as the HTTP status code, or
97
103
  - the raw HTTP response for mutating operations.
98
104
 
105
+ Work that spans several endpoints lives beside the resource rather than inside
106
+ it, so the resource methods stay one-to-one with the API. For example,
107
+ `gitea.issue.project_column` resolves the board column an issue's card sits in,
108
+ which Gitea only reveals through the project's column listings.
109
+
99
110
  ## CLI Layer
100
111
 
101
112
  The CLI is a single Typer application registered in `cli/main.py`. Each resource