python-gitlab 5.3.0__tar.gz → 5.4.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 (359) hide show
  1. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/CHANGELOG.md +165 -0
  2. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/PKG-INFO +2 -2
  3. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/api-objects.rst +1 -0
  4. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/api-usage-advanced.rst +17 -0
  5. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/protected_container_repositories.rst +4 -4
  6. python_gitlab-5.4.0/docs/gl_objects/status_checks.rst +57 -0
  7. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/_version.py +1 -1
  8. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/client.py +6 -0
  9. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/const.py +52 -52
  10. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/mixins.py +35 -0
  11. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/__init__.py +2 -1
  12. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/artifacts.py +91 -1
  13. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/commits.py +7 -2
  14. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/files.py +46 -4
  15. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/issues.py +1 -1
  16. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/jobs.py +114 -1
  17. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/labels.py +2 -2
  18. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/merge_requests.py +2 -0
  19. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/packages.py +44 -0
  20. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/projects.py +44 -4
  21. python_gitlab-5.3.0/gitlab/v4/objects/registry_repository_protection_rules.py → python_gitlab-5.4.0/gitlab/v4/objects/registry_protection_repository_rules.py +1 -1
  22. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/repositories.py +84 -1
  23. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/secure_files.py +44 -1
  24. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/snippets.py +79 -2
  25. python_gitlab-5.4.0/gitlab/v4/objects/status_checks.py +52 -0
  26. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/python_gitlab.egg-info/PKG-INFO +2 -2
  27. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/python_gitlab.egg-info/SOURCES.txt +5 -1
  28. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/requirements-docs.txt +1 -1
  29. python_gitlab-5.4.0/requirements-lint.txt +14 -0
  30. python_gitlab-5.4.0/requirements-precommit.txt +1 -0
  31. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/requirements-test.txt +6 -6
  32. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/requirements.txt +1 -1
  33. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_gitlab.py +1 -1
  34. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_import_export.py +1 -1
  35. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_projects.py +16 -0
  36. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_registry.py +2 -2
  37. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_repository.py +22 -0
  38. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_snippets.py +4 -1
  39. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/cli/test_cli_artifacts.py +11 -0
  40. python_gitlab-5.4.0/tests/functional/cli/test_cli_files.py +21 -0
  41. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/conftest.py +4 -2
  42. python_gitlab-5.4.0/tests/functional/fixtures/.env +4 -0
  43. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/fixtures/docker-compose.yml +1 -1
  44. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_commits.py +25 -0
  45. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_job_artifacts.py +24 -0
  46. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_registry_protection_rules.py +6 -6
  47. python_gitlab-5.4.0/tests/unit/objects/test_status_checks.py +127 -0
  48. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/test_gitlab_http_methods.py +23 -0
  49. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tox.ini +2 -0
  50. python_gitlab-5.3.0/requirements-lint.txt +0 -14
  51. python_gitlab-5.3.0/requirements-precommit.txt +0 -1
  52. python_gitlab-5.3.0/tests/functional/fixtures/.env +0 -2
  53. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/AUTHORS +0 -0
  54. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/COPYING +0 -0
  55. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/MANIFEST.in +0 -0
  56. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/README.rst +0 -0
  57. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/Makefile +0 -0
  58. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/__init__.py +0 -0
  59. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/_static/js/gitter.js +0 -0
  60. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/api/gitlab.rst +0 -0
  61. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/api/gitlab.v4.rst +0 -0
  62. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/api-levels.rst +0 -0
  63. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/api-usage-graphql.rst +0 -0
  64. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/api-usage.rst +0 -0
  65. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/changelog.md +0 -0
  66. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/cli-examples.rst +0 -0
  67. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/cli-objects.rst +0 -0
  68. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/cli-usage.rst +0 -0
  69. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/conf.py +0 -0
  70. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/ext/__init__.py +0 -0
  71. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/ext/docstrings.py +0 -0
  72. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/ext/manager_tmpl.j2 +0 -0
  73. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/faq.rst +0 -0
  74. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/access_requests.rst +0 -0
  75. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/appearance.rst +0 -0
  76. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/applications.rst +0 -0
  77. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/badges.rst +0 -0
  78. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/boards.rst +0 -0
  79. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/branches.rst +0 -0
  80. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/bulk_imports.rst +0 -0
  81. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/ci_lint.rst +0 -0
  82. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/cluster_agents.rst +0 -0
  83. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/clusters.rst +0 -0
  84. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/commits.rst +0 -0
  85. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/deploy_keys.rst +0 -0
  86. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/deploy_tokens.rst +0 -0
  87. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/deployments.rst +0 -0
  88. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/discussions.rst +0 -0
  89. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/draft_notes.rst +0 -0
  90. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/emojis.rst +0 -0
  91. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/environments.rst +0 -0
  92. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/epics.rst +0 -0
  93. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/events.rst +0 -0
  94. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/features.rst +0 -0
  95. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/geo_nodes.rst +0 -0
  96. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/group_access_tokens.rst +0 -0
  97. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/groups.rst +0 -0
  98. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/invitations.rst +0 -0
  99. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/issues.rst +0 -0
  100. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/iterations.rst +0 -0
  101. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/job_token_scope.rst +0 -0
  102. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/keys.rst +0 -0
  103. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/labels.rst +0 -0
  104. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/merge_request_approvals.rst +0 -0
  105. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/merge_requests.rst +0 -0
  106. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/merge_trains.rst +0 -0
  107. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/messages.rst +0 -0
  108. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/milestones.rst +0 -0
  109. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/namespaces.rst +0 -0
  110. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/notes.rst +0 -0
  111. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/notifications.rst +0 -0
  112. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/packages.rst +0 -0
  113. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/pagesdomains.rst +0 -0
  114. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/personal_access_tokens.rst +0 -0
  115. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/pipelines_and_jobs.rst +0 -0
  116. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/project_access_tokens.rst +0 -0
  117. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/projects.rst +0 -0
  118. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/protected_branches.rst +0 -0
  119. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/protected_environments.rst +0 -0
  120. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/protected_packages.rst +0 -0
  121. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/releases.rst +0 -0
  122. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/remote_mirrors.rst +0 -0
  123. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/repositories.rst +0 -0
  124. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/repository_tags.rst +0 -0
  125. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/resource_groups.rst +0 -0
  126. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/runners.rst +0 -0
  127. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/search.rst +0 -0
  128. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/secure_files.rst +0 -0
  129. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/settings.rst +0 -0
  130. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/sidekiq.rst +0 -0
  131. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/snippets.rst +0 -0
  132. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/statistics.rst +0 -0
  133. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/system_hooks.rst +0 -0
  134. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/templates.rst +0 -0
  135. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/todos.rst +0 -0
  136. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/topics.rst +0 -0
  137. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/users.rst +0 -0
  138. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/variables.rst +0 -0
  139. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/gl_objects/wikis.rst +0 -0
  140. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/index.rst +0 -0
  141. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/make.bat +0 -0
  142. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/docs/release-notes.rst +0 -0
  143. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/__init__.py +0 -0
  144. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/__main__.py +0 -0
  145. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/_backends/__init__.py +0 -0
  146. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/_backends/graphql.py +0 -0
  147. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/_backends/protocol.py +0 -0
  148. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/_backends/requests_backend.py +0 -0
  149. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/base.py +0 -0
  150. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/cli.py +0 -0
  151. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/config.py +0 -0
  152. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/exceptions.py +0 -0
  153. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/py.typed +0 -0
  154. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/types.py +0 -0
  155. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/utils.py +0 -0
  156. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/__init__.py +0 -0
  157. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/cli.py +0 -0
  158. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/access_requests.py +0 -0
  159. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/appearance.py +0 -0
  160. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/applications.py +0 -0
  161. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/audit_events.py +0 -0
  162. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/award_emojis.py +0 -0
  163. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/badges.py +0 -0
  164. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/boards.py +0 -0
  165. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/branches.py +0 -0
  166. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/broadcast_messages.py +0 -0
  167. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/bulk_imports.py +0 -0
  168. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/ci_lint.py +0 -0
  169. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/cluster_agents.py +0 -0
  170. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/clusters.py +0 -0
  171. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/container_registry.py +0 -0
  172. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/custom_attributes.py +0 -0
  173. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/deploy_keys.py +0 -0
  174. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/deploy_tokens.py +0 -0
  175. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/deployments.py +0 -0
  176. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/discussions.py +0 -0
  177. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/draft_notes.py +0 -0
  178. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/environments.py +0 -0
  179. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/epics.py +0 -0
  180. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/events.py +0 -0
  181. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/export_import.py +0 -0
  182. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/features.py +0 -0
  183. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/geo_nodes.py +0 -0
  184. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/group_access_tokens.py +0 -0
  185. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/groups.py +0 -0
  186. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/hooks.py +0 -0
  187. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/integrations.py +0 -0
  188. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/invitations.py +0 -0
  189. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/iterations.py +0 -0
  190. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/job_token_scope.py +0 -0
  191. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/keys.py +0 -0
  192. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/ldap.py +0 -0
  193. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/members.py +0 -0
  194. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/merge_request_approvals.py +0 -0
  195. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/merge_trains.py +0 -0
  196. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/milestones.py +0 -0
  197. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/namespaces.py +0 -0
  198. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/notes.py +0 -0
  199. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/notification_settings.py +0 -0
  200. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/package_protection_rules.py +0 -0
  201. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/pages.py +0 -0
  202. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/personal_access_tokens.py +0 -0
  203. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/pipelines.py +0 -0
  204. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/project_access_tokens.py +0 -0
  205. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/push_rules.py +0 -0
  206. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/registry_protection_rules.py +0 -0
  207. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/releases.py +0 -0
  208. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/resource_groups.py +0 -0
  209. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/reviewers.py +0 -0
  210. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/runners.py +0 -0
  211. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/service_accounts.py +0 -0
  212. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/settings.py +0 -0
  213. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/sidekiq.py +0 -0
  214. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/statistics.py +0 -0
  215. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/tags.py +0 -0
  216. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/templates.py +0 -0
  217. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/todos.py +0 -0
  218. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/topics.py +0 -0
  219. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/triggers.py +0 -0
  220. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/users.py +0 -0
  221. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/variables.py +0 -0
  222. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/gitlab/v4/objects/wikis.py +0 -0
  223. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/pyproject.toml +0 -0
  224. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/python_gitlab.egg-info/dependency_links.txt +0 -0
  225. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/python_gitlab.egg-info/entry_points.txt +0 -0
  226. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/python_gitlab.egg-info/requires.txt +0 -0
  227. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/python_gitlab.egg-info/top_level.txt +0 -0
  228. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/requirements-docker.txt +0 -0
  229. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/setup.cfg +0 -0
  230. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/__init__.py +0 -0
  231. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/conftest.py +0 -0
  232. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/__init__.py +0 -0
  233. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/__init__.py +0 -0
  234. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_boards.py +0 -0
  235. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_branches.py +0 -0
  236. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_bulk_imports.py +0 -0
  237. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_current_user.py +0 -0
  238. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_deploy_keys.py +0 -0
  239. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_deploy_tokens.py +0 -0
  240. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_epics.py +0 -0
  241. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_graphql.py +0 -0
  242. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_groups.py +0 -0
  243. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_issues.py +0 -0
  244. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_keys.py +0 -0
  245. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_lazy_objects.py +0 -0
  246. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_merge_requests.py +0 -0
  247. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_packages.py +0 -0
  248. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_project_job_token_scope.py +0 -0
  249. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_push_rules.py +0 -0
  250. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_releases.py +0 -0
  251. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_services.py +0 -0
  252. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_statistics.py +0 -0
  253. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_topics.py +0 -0
  254. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_users.py +0 -0
  255. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_variables.py +0 -0
  256. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/api/test_wikis.py +0 -0
  257. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/cli/__init__.py +0 -0
  258. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/cli/conftest.py +0 -0
  259. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/cli/test_cli.py +0 -0
  260. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/cli/test_cli_packages.py +0 -0
  261. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/cli/test_cli_projects.py +0 -0
  262. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/cli/test_cli_repository.py +0 -0
  263. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/cli/test_cli_resource_access_tokens.py +0 -0
  264. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/cli/test_cli_users.py +0 -0
  265. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/cli/test_cli_v4.py +0 -0
  266. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/cli/test_cli_variables.py +0 -0
  267. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/ee-test.py +0 -0
  268. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/fixtures/__init__.py +0 -0
  269. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/fixtures/avatar.png +0 -0
  270. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/fixtures/create_license.rb +0 -0
  271. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/fixtures/docker.py +0 -0
  272. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/fixtures/invalid_auth.cfg +0 -0
  273. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/fixtures/invalid_version.cfg +0 -0
  274. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/fixtures/set_token.rb +0 -0
  275. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/functional/helpers.py +0 -0
  276. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/install/test_install.py +0 -0
  277. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/smoke/__init__.py +0 -0
  278. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/smoke/test_dists.py +0 -0
  279. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/__init__.py +0 -0
  280. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/_backends/__init__.py +0 -0
  281. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/_backends/test_requests_backend.py +0 -0
  282. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/base/test_rest_manager.py +0 -0
  283. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/base/test_rest_object.py +0 -0
  284. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/conftest.py +0 -0
  285. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/helpers.py +0 -0
  286. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/meta/__init__.py +0 -0
  287. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/meta/test_ensure_type_hints.py +0 -0
  288. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/meta/test_imports.py +0 -0
  289. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/meta/test_mro.py +0 -0
  290. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/mixins/__init__.py +0 -0
  291. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/mixins/test_meta_mixins.py +0 -0
  292. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/mixins/test_mixin_methods.py +0 -0
  293. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/mixins/test_object_mixins_attributes.py +0 -0
  294. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/__init__.py +0 -0
  295. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/conftest.py +0 -0
  296. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_appearance.py +0 -0
  297. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_applications.py +0 -0
  298. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_audit_events.py +0 -0
  299. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_badges.py +0 -0
  300. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_bridges.py +0 -0
  301. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_bulk_imports.py +0 -0
  302. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_ci_lint.py +0 -0
  303. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_cluster_agents.py +0 -0
  304. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_deploy_tokens.py +0 -0
  305. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_deployments.py +0 -0
  306. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_draft_notes.py +0 -0
  307. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_environments.py +0 -0
  308. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_group_access_tokens.py +0 -0
  309. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_groups.py +0 -0
  310. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_hooks.py +0 -0
  311. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_invitations.py +0 -0
  312. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_issues.py +0 -0
  313. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_iterations.py +0 -0
  314. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_job_token_scope.py +0 -0
  315. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_jobs.py +0 -0
  316. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_keys.py +0 -0
  317. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_members.py +0 -0
  318. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_merge_request_pipelines.py +0 -0
  319. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_merge_requests.py +0 -0
  320. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_merge_trains.py +0 -0
  321. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_package_protection_rules.py +0 -0
  322. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_packages.py +0 -0
  323. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_personal_access_tokens.py +0 -0
  324. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_pipeline_schedules.py +0 -0
  325. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_pipelines.py +0 -0
  326. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_project_access_tokens.py +0 -0
  327. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_project_import_export.py +0 -0
  328. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_project_merge_request_approvals.py +0 -0
  329. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_project_statistics.py +0 -0
  330. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_projects.py +0 -0
  331. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_registry_repositories.py +0 -0
  332. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_releases.py +0 -0
  333. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_remote_mirrors.py +0 -0
  334. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_repositories.py +0 -0
  335. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_resource_groups.py +0 -0
  336. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_resource_iteration_events.py +0 -0
  337. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_resource_label_events.py +0 -0
  338. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_resource_milestone_events.py +0 -0
  339. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_resource_state_events.py +0 -0
  340. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_runners.py +0 -0
  341. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_secure_files.py +0 -0
  342. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_services.py +0 -0
  343. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_snippets.py +0 -0
  344. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_statistics.py +0 -0
  345. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_submodules.py +0 -0
  346. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_templates.py +0 -0
  347. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_todos.py +0 -0
  348. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_topics.py +0 -0
  349. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_users.py +0 -0
  350. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/objects/test_variables.py +0 -0
  351. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/test_cli.py +0 -0
  352. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/test_config.py +0 -0
  353. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/test_exceptions.py +0 -0
  354. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/test_gitlab.py +0 -0
  355. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/test_gitlab_auth.py +0 -0
  356. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/test_graphql.py +0 -0
  357. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/test_retry.py +0 -0
  358. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/test_types.py +0 -0
  359. {python_gitlab-5.3.0 → python_gitlab-5.4.0}/tests/unit/test_utils.py +0 -0
@@ -1,6 +1,171 @@
1
1
  # CHANGELOG
2
2
 
3
3
 
4
+ ## v5.4.0 (2025-01-28)
5
+
6
+ ### Bug Fixes
7
+
8
+ - **api**: Make type ignores more specific where possible
9
+ ([`e3cb806`](https://github.com/python-gitlab/python-gitlab/commit/e3cb806dc368af0a495087531ee94892d3f240ce))
10
+
11
+ Instead of using absolute ignore `# type: ignore` use a more specific ignores like `# type:
12
+ ignore[override]`. This might help in the future where a new bug might be introduced and get
13
+ ignored by a general ignore comment but not a more specific one.
14
+
15
+ Signed-off-by: Igor Ponomarev <igor.ponomarev@collabora.com>
16
+
17
+ - **api**: Return the new commit when calling cherry_pick
18
+ ([`de29503`](https://github.com/python-gitlab/python-gitlab/commit/de29503262b7626421f3bffeea3ff073e63e3865))
19
+
20
+ - **files**: Add optional ref parameter for cli project-file raw (python-gitlab#3032)
21
+ ([`22f03bd`](https://github.com/python-gitlab/python-gitlab/commit/22f03bdc2bac92138225563415f5cf6fa36a5644))
22
+
23
+ The ef parameter was removed in python-gitlab v4.8.0. This will add ef back as an optional parameter
24
+ for the project-file raw cli command.
25
+
26
+ ### Chores
27
+
28
+ - Fix missing space in deprecation message
29
+ ([`ba75c31`](https://github.com/python-gitlab/python-gitlab/commit/ba75c31e4d13927b6a3ab0ce427800d94e5eefb4))
30
+
31
+ - Fix pytest deprecation
32
+ ([`95db680`](https://github.com/python-gitlab/python-gitlab/commit/95db680d012d73e7e505ee85db7128050ff0db6e))
33
+
34
+ pytest has changed the function argument name to `start_path`
35
+
36
+ - Fix warning being generated
37
+ ([`0eb5eb0`](https://github.com/python-gitlab/python-gitlab/commit/0eb5eb0505c5b837a2d767cfa256a25b64ceb48b))
38
+
39
+ The CI shows a warning. Use `get_all=False` to resolve issue.
40
+
41
+ - Resolve DeprecationWarning message in CI run
42
+ ([`accd5aa`](https://github.com/python-gitlab/python-gitlab/commit/accd5aa757ba5215497c278da50d48f10ea5a258))
43
+
44
+ Catch the DeprecationWarning in our test, as we expect it.
45
+
46
+ - **ci**: Set a 30 minute timeout for 'functional' tests
47
+ ([`e8d6953`](https://github.com/python-gitlab/python-gitlab/commit/e8d6953ec06dbbd817852207abbbc74eab8a27cf))
48
+
49
+ Currently the functional API test takes around 17 minutes to run. And the functional CLI test takes
50
+ around 12 minutes to run.
51
+
52
+ Occasionally a job gets stuck and will sit until the default 360 minutes job timeout occurs.
53
+
54
+ Now have a 30 minute timeout for the 'functional' tests.
55
+
56
+ - **deps**: Update all non-major dependencies
57
+ ([`939505b`](https://github.com/python-gitlab/python-gitlab/commit/939505b9c143939ba1e52c5cb920d8aa36596e19))
58
+
59
+ - **deps**: Update all non-major dependencies
60
+ ([`cbd4263`](https://github.com/python-gitlab/python-gitlab/commit/cbd4263194fcbad9d6c11926862691f8df0dea6d))
61
+
62
+ - **deps**: Update gitlab ([#3088](https://github.com/python-gitlab/python-gitlab/pull/3088),
63
+ [`9214b83`](https://github.com/python-gitlab/python-gitlab/commit/9214b8371652be2371823b6f3d531eeea78364c7))
64
+
65
+ Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
66
+
67
+ - **deps**: Update gitlab/gitlab-ee docker tag to v17.7.1-ee.0
68
+ ([#3082](https://github.com/python-gitlab/python-gitlab/pull/3082),
69
+ [`1e95944`](https://github.com/python-gitlab/python-gitlab/commit/1e95944119455875bd239752cdf0fe5cc27707ea))
70
+
71
+ Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
72
+
73
+ - **deps**: Update mypy to 1.14 and resolve issues
74
+ ([`671e711`](https://github.com/python-gitlab/python-gitlab/commit/671e711c341d28ae0bc61ccb12d2e986353473fd))
75
+
76
+ mypy 1.14 has a change to Enum Membership Semantics:
77
+ https://mypy.readthedocs.io/en/latest/changelog.html
78
+
79
+ Resolve the issues with Enum and typing, and update mypy to 1.14
80
+
81
+ - **test**: Prevent 'job_with_artifact' fixture running forever
82
+ ([`e4673d8`](https://github.com/python-gitlab/python-gitlab/commit/e4673d8aeaf97b9ad5d2500e459526b4cf494547))
83
+
84
+ Previously the 'job_with_artifact' fixture could run forever. Now give it up to 60 seconds to
85
+ complete before failing.
86
+
87
+ ### Continuous Integration
88
+
89
+ - Use gitlab-runner:v17.7.1 for the CI
90
+ ([`2dda9dc`](https://github.com/python-gitlab/python-gitlab/commit/2dda9dc149668a99211daaa1981bb1f422c63880))
91
+
92
+ The `latest` gitlab-runner image does not have the `gitlab-runner` user and it causes our tests to
93
+ fail.
94
+
95
+ Closes: #3091
96
+
97
+ ### Features
98
+
99
+ - **api**: Add argument that appends extra HTTP headers to a request
100
+ ([`fb07b5c`](https://github.com/python-gitlab/python-gitlab/commit/fb07b5cfe1d986c3a7cd7879b11ecc43c75542b7))
101
+
102
+ Currently the only way to manipulate the headers for a request is to use `Gitlab.headers` attribute.
103
+ However, this makes it very concurrently unsafe because the `Gitlab` object can be shared between
104
+ multiple requests at the same time.
105
+
106
+ Instead add a new keyword argument `extra_headers` which will update the headers dictionary with new
107
+ values just before the request is sent.
108
+
109
+ For example, this can be used to download a part of a artifacts file using the `Range` header:
110
+ https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests
111
+
112
+ Signed-off-by: Igor Ponomarev <igor.ponomarev@collabora.com>
113
+
114
+ - **api**: Add support for external status check
115
+ ([`175b355`](https://github.com/python-gitlab/python-gitlab/commit/175b355d84d54a71f15fe3601c5275dc35984b9b))
116
+
117
+ - **api**: Narrow down return type of download methods using typing.overload
118
+ ([`44fd9dc`](https://github.com/python-gitlab/python-gitlab/commit/44fd9dc1176a2c5529c45cc3186c0e775026175e))
119
+
120
+ Currently the download methods such as `ProjectJob.artifacts` have return type set to
121
+ `Optional[Union[bytes, Iterator[Any]]]` which means they return either `None` or `bytes` or
122
+ `Iterator[Any]`.
123
+
124
+ However, the actual return type is determined by the passed `streamed` and `iterator` arguments.
125
+ Using `@typing.overload` decorator it is possible to return a single type based on the passed
126
+ arguments.
127
+
128
+ Add overloads in the following order to all download methods:
129
+
130
+ 1. If `streamed=False` and `iterator=False` return `bytes`. This is the default argument values
131
+ therefore it should be first as it will be used to lookup default arguments. 2. If `iterator=True`
132
+ return `Iterator[Any]`. This can be combined with both `streamed=True` and `streamed=False`. 3. If
133
+ `streamed=True` and `iterator=False` return `None`. In this case `action` argument can be set to a
134
+ callable that accepts `bytes`.
135
+
136
+ Signed-off-by: Igor Ponomarev <igor.ponomarev@collabora.com>
137
+
138
+ - **api**: Narrow down return type of ProjectFileManager.raw using typing.overload
139
+ ([`36d9b24`](https://github.com/python-gitlab/python-gitlab/commit/36d9b24ff27d8df514c1beebd0fff8ad000369b7))
140
+
141
+ This is equivalent to the changes in 44fd9dc1176a2c5529c45cc3186c0e775026175e but for
142
+ `ProjectFileManager.raw` method that I must have missed in the original commit.
143
+
144
+ Signed-off-by: Igor Ponomarev <igor.ponomarev@collabora.com>
145
+
146
+
147
+ ## v5.3.1 (2025-01-07)
148
+
149
+ ### Bug Fixes
150
+
151
+ - **api**: Allow configuration of keep_base_url from file
152
+ ([`f4f7d7a`](https://github.com/python-gitlab/python-gitlab/commit/f4f7d7a63716f072eb45db2c7f590db0435350f0))
153
+
154
+ - **registry-protection**: Fix api url
155
+ ([`8c1aaa3`](https://github.com/python-gitlab/python-gitlab/commit/8c1aaa3f6a797caf7bd79a7da083eae56c6250ff))
156
+
157
+ See:
158
+ https://docs.gitlab.com/ee/api/container_repository_protection_rules.html#list-container-repository-protection-rules
159
+
160
+ ### Chores
161
+
162
+ - Bump to 5.3.1
163
+ ([`912e1a0`](https://github.com/python-gitlab/python-gitlab/commit/912e1a0620a96c56081ffec284c2cac871cb7626))
164
+
165
+ - **deps**: Update dependency jinja2 to v3.1.5 [security]
166
+ ([`01d4194`](https://github.com/python-gitlab/python-gitlab/commit/01d41946cbb1a4e5f29752eac89239d635c2ec6f))
167
+
168
+
4
169
  ## v5.3.0 (2024-12-28)
5
170
 
6
171
  ### Chores
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: python-gitlab
3
- Version: 5.3.0
3
+ Version: 5.4.0
4
4
  Summary: The python wrapper for the GitLab REST and GraphQL APIs.
5
5
  Author-email: Gauvain Pocentek <gauvain@pocentek.net>
6
6
  Maintainer-email: John Villalovos <john@sodarock.com>, Max Wittig <max.wittig@siemens.com>, Nejc Habjan <nejc.habjan@siemens.com>, Roger Meier <r.meier@siemens.com>
@@ -63,6 +63,7 @@ API examples
63
63
  gl_objects/settings
64
64
  gl_objects/snippets
65
65
  gl_objects/statistics
66
+ gl_objects/status_checks
66
67
  gl_objects/system_hooks
67
68
  gl_objects/templates
68
69
  gl_objects/todos
@@ -211,3 +211,20 @@ on your own, such as for nested API responses and ``Union`` return types. For ex
211
211
 
212
212
  if TYPE_CHECKING:
213
213
  assert isinstance(license["plan"], str)
214
+
215
+ Per request HTTP headers override
216
+ ---------------------------------
217
+
218
+ The ``extra_headers`` keyword argument can be used to add and override
219
+ the HTTP headers for a specific request. For example, it can be used do add ``Range``
220
+ header to download a part of artifacts archive:
221
+
222
+ .. code-block:: python
223
+
224
+ import gitlab
225
+
226
+ gl = gitlab.Gitlab(url, token)
227
+ project = gl.projects.get(1)
228
+ job = project.jobs.get(123)
229
+
230
+ artifacts = job.artifacts(extra_headers={"Range": "bytes=0-9"})
@@ -11,7 +11,7 @@ References
11
11
 
12
12
  + :class:`gitlab.v4.objects.ProjectRegistryRepositoryProtectionRuleRule`
13
13
  + :class:`gitlab.v4.objects.ProjectRegistryRepositoryProtectionRuleRuleManager`
14
- + :attr:`gitlab.v4.objects.Project.registry_repository_protection_rules`
14
+ + :attr:`gitlab.v4.objects.Project.registry_protection_repository_rules`
15
15
 
16
16
  * GitLab API: https://docs.gitlab.com/ee/api/container_repository_protection_rules.html
17
17
 
@@ -20,11 +20,11 @@ Examples
20
20
 
21
21
  List the container registry protection rules for a project::
22
22
 
23
- registry_rules = project.registry_repository_protection_rules.list()
23
+ registry_rules = project.registry_protection_repository_rules.list()
24
24
 
25
25
  Create a container registry protection rule::
26
26
 
27
- registry_rule = project.registry_repository_protection_rules.create(
27
+ registry_rule = project.registry_protection_repository_rules.create(
28
28
  {
29
29
  'repository_path_pattern': 'test/image',
30
30
  'minimum_access_level_for_push': 'maintainer',
@@ -39,6 +39,6 @@ Update a container registry protection rule::
39
39
 
40
40
  Delete a container registry protection rule::
41
41
 
42
- registry_rule = project.registry_repository_protection_rules.delete(registry_rule.id)
42
+ registry_rule = project.registry_protection_repository_rules.delete(registry_rule.id)
43
43
  # or
44
44
  registry_rule.delete()
@@ -0,0 +1,57 @@
1
+ #######################
2
+ External Status Checks
3
+ #######################
4
+
5
+ Manage external status checks for projects and merge requests.
6
+
7
+
8
+ Project external status checks
9
+ ===============================
10
+
11
+ Reference
12
+ ---------
13
+
14
+ * v4 API:
15
+
16
+ + :class:`gitlab.v4.objects.ProjectExternalStatusCheck`
17
+ + :class:`gitlab.v4.objects.ProjectExternalStatusCheckManager`
18
+ + :attr:`gitlab.v4.objects.Project.external_status_checks`
19
+
20
+ * GitLab API: https://docs.gitlab.com/ee/api/status_checks.html
21
+
22
+ Examples
23
+ ---------
24
+
25
+ List external status checks for a project::
26
+
27
+ status_checks = project.external_status_checks.list()
28
+
29
+ Create an external status check with shared secret::
30
+
31
+ status_checks = project.external_status_checks.create({
32
+ "name": "mr_blocker",
33
+ "external_url": "https://example.com/mr-status-check",
34
+ "shared_secret": "secret-string"
35
+ })
36
+
37
+ Create an external status check with shared secret for protected branches::
38
+
39
+ protected_branch = project.protectedbranches.get('main')
40
+
41
+ status_check = project.external_status_checks.create({
42
+ "name": "mr_blocker",
43
+ "external_url": "https://example.com/mr-status-check",
44
+ "shared_secret": "secret-string",
45
+ "protected_branch_ids": [protected_branch.id]
46
+ })
47
+
48
+
49
+ Update an external status check::
50
+
51
+ status_check.external_url = "https://example.com/mr-blocker"
52
+ status_check.save()
53
+
54
+ Delete an external status check::
55
+
56
+ status_check.delete(status_check_id)
57
+
@@ -3,4 +3,4 @@ __copyright__ = "Copyright 2013-2019 Gauvain Pocentek, 2019-2023 python-gitlab t
3
3
  __email__ = "gauvainpocentek@gmail.com"
4
4
  __license__ = "LGPL3"
5
5
  __title__ = "python-gitlab"
6
- __version__ = "5.3.0"
6
+ __version__ = "5.4.0"
@@ -303,6 +303,7 @@ class Gitlab:
303
303
  order_by=config.order_by,
304
304
  user_agent=config.user_agent,
305
305
  retry_transient_errors=config.retry_transient_errors,
306
+ keep_base_url=config.keep_base_url,
306
307
  **kwargs,
307
308
  )
308
309
 
@@ -653,6 +654,7 @@ class Gitlab:
653
654
  obey_rate_limit: bool = True,
654
655
  retry_transient_errors: Optional[bool] = None,
655
656
  max_retries: int = 10,
657
+ extra_headers: Optional[Dict[str, Any]] = None,
656
658
  **kwargs: Any,
657
659
  ) -> requests.Response:
658
660
  """Make an HTTP request to the Gitlab server.
@@ -674,6 +676,7 @@ class Gitlab:
674
676
  or 52x responses. Defaults to False.
675
677
  max_retries: Max retries after 429 or transient errors,
676
678
  set to -1 to retry forever. Defaults to 10.
679
+ extra_headers: Add and override HTTP headers for the request.
677
680
  **kwargs: Extra options to send to the server (e.g. sudo)
678
681
 
679
682
  Returns:
@@ -720,6 +723,9 @@ class Gitlab:
720
723
  send_data = self._backend.prepare_send_data(files, post_data, raw)
721
724
  opts["headers"]["Content-type"] = send_data.content_type
722
725
 
726
+ if extra_headers is not None:
727
+ opts["headers"].update(extra_headers)
728
+
723
729
  retry = utils.Retry(
724
730
  max_retries=max_retries,
725
731
  obey_rate_limit=obey_rate_limit,
@@ -9,83 +9,83 @@ class GitlabEnum(str, Enum):
9
9
 
10
10
  # https://gitlab.com/gitlab-org/gitlab/-/blob/e97357824bedf007e75f8782259fe07435b64fbb/lib/gitlab/access.rb#L12-18
11
11
  class AccessLevel(IntEnum):
12
- NO_ACCESS: int = 0
13
- MINIMAL_ACCESS: int = 5
14
- GUEST: int = 10
15
- PLANNER: int = 15
16
- REPORTER: int = 20
17
- DEVELOPER: int = 30
18
- MAINTAINER: int = 40
19
- OWNER: int = 50
20
- ADMIN: int = 60
12
+ NO_ACCESS = 0
13
+ MINIMAL_ACCESS = 5
14
+ GUEST = 10
15
+ PLANNER = 15
16
+ REPORTER = 20
17
+ DEVELOPER = 30
18
+ MAINTAINER = 40
19
+ OWNER = 50
20
+ ADMIN = 60
21
21
 
22
22
 
23
23
  # https://gitlab.com/gitlab-org/gitlab/-/blob/e97357824bedf007e75f8782259fe07435b64fbb/lib/gitlab/visibility_level.rb#L23-25
24
24
  class Visibility(GitlabEnum):
25
- PRIVATE: str = "private"
26
- INTERNAL: str = "internal"
27
- PUBLIC: str = "public"
25
+ PRIVATE = "private"
26
+ INTERNAL = "internal"
27
+ PUBLIC = "public"
28
28
 
29
29
 
30
30
  class NotificationLevel(GitlabEnum):
31
- DISABLED: str = "disabled"
32
- PARTICIPATING: str = "participating"
33
- WATCH: str = "watch"
34
- GLOBAL: str = "global"
35
- MENTION: str = "mention"
36
- CUSTOM: str = "custom"
31
+ DISABLED = "disabled"
32
+ PARTICIPATING = "participating"
33
+ WATCH = "watch"
34
+ GLOBAL = "global"
35
+ MENTION = "mention"
36
+ CUSTOM = "custom"
37
37
 
38
38
 
39
39
  # https://gitlab.com/gitlab-org/gitlab/-/blob/e97357824bedf007e75f8782259fe07435b64fbb/app/views/search/_category.html.haml#L10-37
40
40
  class SearchScope(GitlabEnum):
41
41
  # all scopes (global, group and project)
42
- PROJECTS: str = "projects"
43
- ISSUES: str = "issues"
44
- MERGE_REQUESTS: str = "merge_requests"
45
- MILESTONES: str = "milestones"
46
- WIKI_BLOBS: str = "wiki_blobs"
47
- COMMITS: str = "commits"
48
- BLOBS: str = "blobs"
49
- USERS: str = "users"
42
+ PROJECTS = "projects"
43
+ ISSUES = "issues"
44
+ MERGE_REQUESTS = "merge_requests"
45
+ MILESTONES = "milestones"
46
+ WIKI_BLOBS = "wiki_blobs"
47
+ COMMITS = "commits"
48
+ BLOBS = "blobs"
49
+ USERS = "users"
50
50
 
51
51
  # specific global scope
52
- GLOBAL_SNIPPET_TITLES: str = "snippet_titles"
52
+ GLOBAL_SNIPPET_TITLES = "snippet_titles"
53
53
 
54
54
  # specific project scope
55
- PROJECT_NOTES: str = "notes"
55
+ PROJECT_NOTES = "notes"
56
56
 
57
57
 
58
58
  # https://docs.gitlab.com/ee/api/merge_requests.html#merge-status
59
59
  class DetailedMergeStatus(GitlabEnum):
60
60
  # possible values for the detailed_merge_status field of Merge Requests
61
- BLOCKED_STATUS: str = "blocked_status"
62
- BROKEN_STATUS: str = "broken_status"
63
- CHECKING: str = "checking"
64
- UNCHECKED: str = "unchecked"
65
- CI_MUST_PASS: str = "ci_must_pass"
66
- CI_STILL_RUNNING: str = "ci_still_running"
67
- DISCUSSIONS_NOT_RESOLVED: str = "discussions_not_resolved"
68
- DRAFT_STATUS: str = "draft_status"
69
- EXTERNAL_STATUS_CHECKS: str = "external_status_checks"
70
- MERGEABLE: str = "mergeable"
71
- NOT_APPROVED: str = "not_approved"
72
- NOT_OPEN: str = "not_open"
73
- POLICIES_DENIED: str = "policies_denied"
61
+ BLOCKED_STATUS = "blocked_status"
62
+ BROKEN_STATUS = "broken_status"
63
+ CHECKING = "checking"
64
+ UNCHECKED = "unchecked"
65
+ CI_MUST_PASS = "ci_must_pass"
66
+ CI_STILL_RUNNING = "ci_still_running"
67
+ DISCUSSIONS_NOT_RESOLVED = "discussions_not_resolved"
68
+ DRAFT_STATUS = "draft_status"
69
+ EXTERNAL_STATUS_CHECKS = "external_status_checks"
70
+ MERGEABLE = "mergeable"
71
+ NOT_APPROVED = "not_approved"
72
+ NOT_OPEN = "not_open"
73
+ POLICIES_DENIED = "policies_denied"
74
74
 
75
75
 
76
76
  # https://docs.gitlab.com/ee/api/pipelines.html
77
77
  class PipelineStatus(GitlabEnum):
78
- CREATED: str = "created"
79
- WAITING_FOR_RESOURCE: str = "waiting_for_resource"
80
- PREPARING: str = "preparing"
81
- PENDING: str = "pending"
82
- RUNNING: str = "running"
83
- SUCCESS: str = "success"
84
- FAILED: str = "failed"
85
- CANCELED: str = "canceled"
86
- SKIPPED: str = "skipped"
87
- MANUAL: str = "manual"
88
- SCHEDULED: str = "scheduled"
78
+ CREATED = "created"
79
+ WAITING_FOR_RESOURCE = "waiting_for_resource"
80
+ PREPARING = "preparing"
81
+ PENDING = "pending"
82
+ RUNNING = "running"
83
+ SUCCESS = "success"
84
+ FAILED = "failed"
85
+ CANCELED = "canceled"
86
+ SKIPPED = "skipped"
87
+ MANUAL = "manual"
88
+ SCHEDULED = "scheduled"
89
89
 
90
90
 
91
91
  DEFAULT_URL: str = "https://gitlab.com"
@@ -6,7 +6,9 @@ from typing import (
6
6
  Dict,
7
7
  Iterator,
8
8
  List,
9
+ Literal,
9
10
  Optional,
11
+ overload,
10
12
  Tuple,
11
13
  Type,
12
14
  TYPE_CHECKING,
@@ -612,6 +614,39 @@ class DownloadMixin(_RestObjectBase):
612
614
  _updated_attrs: Dict[str, Any]
613
615
  manager: base.RESTManager
614
616
 
617
+ @overload
618
+ def download(
619
+ self,
620
+ streamed: Literal[False] = False,
621
+ action: None = None,
622
+ chunk_size: int = 1024,
623
+ *,
624
+ iterator: Literal[False] = False,
625
+ **kwargs: Any,
626
+ ) -> bytes: ...
627
+
628
+ @overload
629
+ def download(
630
+ self,
631
+ streamed: bool = False,
632
+ action: None = None,
633
+ chunk_size: int = 1024,
634
+ *,
635
+ iterator: Literal[True] = True,
636
+ **kwargs: Any,
637
+ ) -> Iterator[Any]: ...
638
+
639
+ @overload
640
+ def download(
641
+ self,
642
+ streamed: Literal[True] = True,
643
+ action: Optional[Callable[[bytes], None]] = None,
644
+ chunk_size: int = 1024,
645
+ *,
646
+ iterator: Literal[False] = False,
647
+ **kwargs: Any,
648
+ ) -> None: ...
649
+
615
650
  @cli.register_custom_action(cls_names=("GroupExport", "ProjectExport"))
616
651
  @exc.on_http_error(exc.GitlabGetError)
617
652
  def download(
@@ -55,8 +55,8 @@ from .pipelines import *
55
55
  from .project_access_tokens import *
56
56
  from .projects import *
57
57
  from .push_rules import *
58
+ from .registry_protection_repository_rules import *
58
59
  from .registry_protection_rules import *
59
- from .registry_repository_protection_rules import *
60
60
  from .releases import *
61
61
  from .repositories import *
62
62
  from .resource_groups import *
@@ -68,6 +68,7 @@ from .settings import *
68
68
  from .sidekiq import *
69
69
  from .snippets import *
70
70
  from .statistics import *
71
+ from .status_checks import *
71
72
  from .tags import *
72
73
  from .templates import *
73
74
  from .todos import *
@@ -3,7 +3,16 @@ GitLab API:
3
3
  https://docs.gitlab.com/ee/api/job_artifacts.html
4
4
  """
5
5
 
6
- from typing import Any, Callable, Iterator, Optional, TYPE_CHECKING, Union
6
+ from typing import (
7
+ Any,
8
+ Callable,
9
+ Iterator,
10
+ Literal,
11
+ Optional,
12
+ overload,
13
+ TYPE_CHECKING,
14
+ Union,
15
+ )
7
16
 
8
17
  import requests
9
18
 
@@ -43,6 +52,45 @@ class ProjectArtifactManager(RESTManager):
43
52
  assert path is not None
44
53
  self.gitlab.http_delete(path, **kwargs)
45
54
 
55
+ @overload
56
+ def download(
57
+ self,
58
+ ref_name: str,
59
+ job: str,
60
+ streamed: Literal[False] = False,
61
+ action: None = None,
62
+ chunk_size: int = 1024,
63
+ *,
64
+ iterator: Literal[False] = False,
65
+ **kwargs: Any,
66
+ ) -> bytes: ...
67
+
68
+ @overload
69
+ def download(
70
+ self,
71
+ ref_name: str,
72
+ job: str,
73
+ streamed: bool = False,
74
+ action: None = None,
75
+ chunk_size: int = 1024,
76
+ *,
77
+ iterator: Literal[True] = True,
78
+ **kwargs: Any,
79
+ ) -> Iterator[Any]: ...
80
+
81
+ @overload
82
+ def download(
83
+ self,
84
+ ref_name: str,
85
+ job: str,
86
+ streamed: Literal[True] = True,
87
+ action: Optional[Callable[[bytes], None]] = None,
88
+ chunk_size: int = 1024,
89
+ *,
90
+ iterator: Literal[False] = False,
91
+ **kwargs: Any,
92
+ ) -> None: ...
93
+
46
94
  @cli.register_custom_action(
47
95
  cls_names="ProjectArtifactManager",
48
96
  required=("ref_name", "job"),
@@ -94,6 +142,48 @@ class ProjectArtifactManager(RESTManager):
94
142
  result, streamed, action, chunk_size, iterator=iterator
95
143
  )
96
144
 
145
+ @overload
146
+ def raw(
147
+ self,
148
+ ref_name: str,
149
+ artifact_path: str,
150
+ job: str,
151
+ streamed: Literal[False] = False,
152
+ action: None = None,
153
+ chunk_size: int = 1024,
154
+ *,
155
+ iterator: Literal[False] = False,
156
+ **kwargs: Any,
157
+ ) -> bytes: ...
158
+
159
+ @overload
160
+ def raw(
161
+ self,
162
+ ref_name: str,
163
+ artifact_path: str,
164
+ job: str,
165
+ streamed: bool = False,
166
+ action: None = None,
167
+ chunk_size: int = 1024,
168
+ *,
169
+ iterator: Literal[True] = True,
170
+ **kwargs: Any,
171
+ ) -> Iterator[Any]: ...
172
+
173
+ @overload
174
+ def raw(
175
+ self,
176
+ ref_name: str,
177
+ artifact_path: str,
178
+ job: str,
179
+ streamed: Literal[True] = True,
180
+ action: Optional[Callable[[bytes], None]] = None,
181
+ chunk_size: int = 1024,
182
+ *,
183
+ iterator: Literal[False] = False,
184
+ **kwargs: Any,
185
+ ) -> None: ...
186
+
97
187
  @cli.register_custom_action(
98
188
  cls_names="ProjectArtifactManager",
99
189
  required=("ref_name", "artifact_path", "job"),