python-gitlab 8.0.0__tar.gz → 8.2.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 (373) hide show
  1. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/CHANGELOG.md +32 -0
  2. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/PKG-INFO +1 -1
  3. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/api-objects.rst +3 -1
  4. python_gitlab-8.0.0/docs/gl_objects/features.rst → python_gitlab-8.2.0/docs/gl_objects/gitlab_features.rst +9 -4
  5. python_gitlab-8.2.0/docs/gl_objects/project_feature_flag_user_lists.rst +51 -0
  6. python_gitlab-8.2.0/docs/gl_objects/project_feature_flags.rst +63 -0
  7. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/projects.rst +38 -0
  8. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/_version.py +1 -1
  9. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/types.py +37 -3
  10. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/utils.py +9 -1
  11. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/__init__.py +2 -0
  12. python_gitlab-8.2.0/gitlab/v4/objects/feature_flag_user_lists.py +27 -0
  13. python_gitlab-8.2.0/gitlab/v4/objects/feature_flags.py +106 -0
  14. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/merge_request_approvals.py +7 -1
  15. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/projects.py +4 -0
  16. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/repositories.py +2 -0
  17. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/runners.py +1 -1
  18. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/python_gitlab.egg-info/PKG-INFO +1 -1
  19. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/python_gitlab.egg-info/SOURCES.txt +11 -1
  20. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/requirements-lint.txt +6 -6
  21. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/requirements-test.txt +5 -5
  22. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/requirements.txt +1 -1
  23. python_gitlab-8.2.0/tests/functional/api/test_project_feature_flag_user_lists.py +56 -0
  24. python_gitlab-8.2.0/tests/functional/api/test_project_feature_flags.py +127 -0
  25. python_gitlab-8.2.0/tests/functional/cli/test_cli_project_feature_flag_user_lists.py +120 -0
  26. python_gitlab-8.2.0/tests/functional/cli/test_cli_project_feature_flags.py +203 -0
  27. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/fixtures/.env +1 -1
  28. python_gitlab-8.2.0/tests/unit/objects/test_project_feature_flag_user_lists.py +30 -0
  29. python_gitlab-8.2.0/tests/unit/objects/test_project_feature_flags.py +35 -0
  30. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/test_types.py +38 -1
  31. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/AUTHORS +0 -0
  32. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/COPYING +0 -0
  33. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/MANIFEST.in +0 -0
  34. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/README.rst +0 -0
  35. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/Makefile +0 -0
  36. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/__init__.py +0 -0
  37. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/_static/js/gitter.js +0 -0
  38. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/api/gitlab.rst +0 -0
  39. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/api/gitlab.v4.rst +0 -0
  40. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/api-levels.rst +0 -0
  41. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/api-usage-advanced.rst +0 -0
  42. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/api-usage-graphql.rst +0 -0
  43. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/api-usage.rst +0 -0
  44. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/changelog.md +0 -0
  45. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/cli-examples.rst +0 -0
  46. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/cli-objects.rst +0 -0
  47. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/cli-usage.rst +0 -0
  48. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/conf.py +0 -0
  49. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/ext/__init__.py +0 -0
  50. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/ext/docstrings.py +0 -0
  51. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/ext/manager_tmpl.j2 +0 -0
  52. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/faq.rst +0 -0
  53. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/access_requests.rst +0 -0
  54. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/appearance.rst +0 -0
  55. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/applications.rst +0 -0
  56. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/badges.rst +0 -0
  57. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/boards.rst +0 -0
  58. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/branches.rst +0 -0
  59. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/bulk_imports.rst +0 -0
  60. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/ci_lint.rst +0 -0
  61. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/cluster_agents.rst +0 -0
  62. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/clusters.rst +0 -0
  63. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/commits.rst +0 -0
  64. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/deploy_keys.rst +0 -0
  65. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/deploy_tokens.rst +0 -0
  66. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/deployments.rst +0 -0
  67. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/discussions.rst +0 -0
  68. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/draft_notes.rst +0 -0
  69. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/emojis.rst +0 -0
  70. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/environments.rst +0 -0
  71. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/epics.rst +0 -0
  72. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/events.rst +0 -0
  73. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/geo_nodes.rst +0 -0
  74. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/group_access_tokens.rst +0 -0
  75. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/groups.rst +0 -0
  76. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/invitations.rst +0 -0
  77. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/issues.rst +0 -0
  78. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/iterations.rst +0 -0
  79. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/job_token_scope.rst +0 -0
  80. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/keys.rst +0 -0
  81. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/labels.rst +0 -0
  82. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/member_roles.rst +0 -0
  83. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/merge_request_approvals.rst +0 -0
  84. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/merge_requests.rst +0 -0
  85. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/merge_trains.rst +0 -0
  86. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/messages.rst +0 -0
  87. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/milestones.rst +0 -0
  88. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/namespaces.rst +0 -0
  89. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/notes.rst +0 -0
  90. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/notifications.rst +0 -0
  91. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/packages.rst +0 -0
  92. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/pagesdomains.rst +0 -0
  93. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/personal_access_tokens.rst +0 -0
  94. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/pipelines_and_jobs.rst +0 -0
  95. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/project_access_tokens.rst +0 -0
  96. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/protected_branches.rst +0 -0
  97. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/protected_container_repositories.rst +0 -0
  98. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/protected_environments.rst +0 -0
  99. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/protected_packages.rst +0 -0
  100. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/pull_mirror.rst +0 -0
  101. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/releases.rst +0 -0
  102. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/remote_mirrors.rst +0 -0
  103. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/repositories.rst +0 -0
  104. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/repository_tags.rst +0 -0
  105. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/resource_groups.rst +0 -0
  106. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/runners.rst +0 -0
  107. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/search.rst +0 -0
  108. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/secure_files.rst +0 -0
  109. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/settings.rst +0 -0
  110. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/sidekiq.rst +0 -0
  111. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/snippets.rst +0 -0
  112. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/statistics.rst +0 -0
  113. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/status_checks.rst +0 -0
  114. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/system_hooks.rst +0 -0
  115. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/templates.rst +0 -0
  116. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/todos.rst +0 -0
  117. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/topics.rst +0 -0
  118. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/users.rst +0 -0
  119. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/variables.rst +0 -0
  120. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/gl_objects/wikis.rst +0 -0
  121. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/index.rst +0 -0
  122. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/make.bat +0 -0
  123. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/docs/release-notes.rst +0 -0
  124. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/__init__.py +0 -0
  125. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/__main__.py +0 -0
  126. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/_backends/__init__.py +0 -0
  127. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/_backends/graphql.py +0 -0
  128. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/_backends/protocol.py +0 -0
  129. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/_backends/requests_backend.py +0 -0
  130. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/base.py +0 -0
  131. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/cli.py +0 -0
  132. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/client.py +0 -0
  133. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/config.py +0 -0
  134. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/const.py +0 -0
  135. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/exceptions.py +0 -0
  136. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/mixins.py +0 -0
  137. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/py.typed +0 -0
  138. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/__init__.py +0 -0
  139. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/cli.py +0 -0
  140. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/access_requests.py +0 -0
  141. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/appearance.py +0 -0
  142. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/applications.py +0 -0
  143. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/artifacts.py +0 -0
  144. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/audit_events.py +0 -0
  145. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/award_emojis.py +0 -0
  146. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/badges.py +0 -0
  147. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/boards.py +0 -0
  148. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/branches.py +0 -0
  149. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/broadcast_messages.py +0 -0
  150. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/bulk_imports.py +0 -0
  151. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/ci_lint.py +0 -0
  152. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/cluster_agents.py +0 -0
  153. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/clusters.py +0 -0
  154. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/commits.py +0 -0
  155. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/container_registry.py +0 -0
  156. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/custom_attributes.py +0 -0
  157. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/deploy_keys.py +0 -0
  158. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/deploy_tokens.py +0 -0
  159. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/deployments.py +0 -0
  160. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/discussions.py +0 -0
  161. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/draft_notes.py +0 -0
  162. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/environments.py +0 -0
  163. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/epics.py +0 -0
  164. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/events.py +0 -0
  165. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/export_import.py +0 -0
  166. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/features.py +0 -0
  167. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/files.py +0 -0
  168. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/geo_nodes.py +0 -0
  169. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/group_access_tokens.py +0 -0
  170. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/groups.py +0 -0
  171. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/hooks.py +0 -0
  172. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/integrations.py +0 -0
  173. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/invitations.py +0 -0
  174. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/issues.py +0 -0
  175. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/iterations.py +0 -0
  176. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/job_token_scope.py +0 -0
  177. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/jobs.py +0 -0
  178. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/keys.py +0 -0
  179. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/labels.py +0 -0
  180. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/ldap.py +0 -0
  181. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/member_roles.py +0 -0
  182. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/members.py +0 -0
  183. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/merge_requests.py +0 -0
  184. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/merge_trains.py +0 -0
  185. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/milestones.py +0 -0
  186. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/namespaces.py +0 -0
  187. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/notes.py +0 -0
  188. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/notification_settings.py +0 -0
  189. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/package_protection_rules.py +0 -0
  190. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/packages.py +0 -0
  191. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/pages.py +0 -0
  192. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/personal_access_tokens.py +0 -0
  193. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/pipelines.py +0 -0
  194. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/project_access_tokens.py +0 -0
  195. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/push_rules.py +0 -0
  196. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/registry_protection_repository_rules.py +0 -0
  197. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/registry_protection_rules.py +0 -0
  198. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/releases.py +0 -0
  199. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/resource_groups.py +0 -0
  200. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/reviewers.py +0 -0
  201. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/secure_files.py +0 -0
  202. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/service_accounts.py +0 -0
  203. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/settings.py +0 -0
  204. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/sidekiq.py +0 -0
  205. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/snippets.py +0 -0
  206. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/statistics.py +0 -0
  207. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/status_checks.py +0 -0
  208. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/tags.py +0 -0
  209. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/templates.py +0 -0
  210. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/todos.py +0 -0
  211. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/topics.py +0 -0
  212. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/triggers.py +0 -0
  213. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/users.py +0 -0
  214. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/variables.py +0 -0
  215. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/gitlab/v4/objects/wikis.py +0 -0
  216. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/pyproject.toml +0 -0
  217. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/python_gitlab.egg-info/dependency_links.txt +0 -0
  218. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/python_gitlab.egg-info/entry_points.txt +0 -0
  219. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/python_gitlab.egg-info/requires.txt +0 -0
  220. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/python_gitlab.egg-info/top_level.txt +0 -0
  221. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/requirements-docker.txt +0 -0
  222. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/requirements-docs.txt +0 -0
  223. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/requirements-precommit.txt +0 -0
  224. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/setup.cfg +0 -0
  225. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/__init__.py +0 -0
  226. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/conftest.py +0 -0
  227. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/__init__.py +0 -0
  228. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/__init__.py +0 -0
  229. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_boards.py +0 -0
  230. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_branches.py +0 -0
  231. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_bulk_imports.py +0 -0
  232. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_current_user.py +0 -0
  233. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_deploy_keys.py +0 -0
  234. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_deploy_tokens.py +0 -0
  235. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_epics.py +0 -0
  236. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_gitlab.py +0 -0
  237. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_graphql.py +0 -0
  238. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_groups.py +0 -0
  239. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_import_export.py +0 -0
  240. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_issues.py +0 -0
  241. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_keys.py +0 -0
  242. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_lazy_objects.py +0 -0
  243. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_member_roles.py +0 -0
  244. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_merge_requests.py +0 -0
  245. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_packages.py +0 -0
  246. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_project_job_token_scope.py +0 -0
  247. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_projects.py +0 -0
  248. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_push_rules.py +0 -0
  249. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_registry.py +0 -0
  250. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_releases.py +0 -0
  251. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_repository.py +0 -0
  252. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_services.py +0 -0
  253. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_snippets.py +0 -0
  254. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_statistics.py +0 -0
  255. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_topics.py +0 -0
  256. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_users.py +0 -0
  257. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_variables.py +0 -0
  258. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/api/test_wikis.py +0 -0
  259. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/cli/__init__.py +0 -0
  260. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/cli/conftest.py +0 -0
  261. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/cli/test_cli.py +0 -0
  262. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/cli/test_cli_artifacts.py +0 -0
  263. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/cli/test_cli_files.py +0 -0
  264. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/cli/test_cli_packages.py +0 -0
  265. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/cli/test_cli_projects.py +0 -0
  266. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/cli/test_cli_repository.py +0 -0
  267. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/cli/test_cli_resource_access_tokens.py +0 -0
  268. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/cli/test_cli_users.py +0 -0
  269. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/cli/test_cli_v4.py +0 -0
  270. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/cli/test_cli_variables.py +0 -0
  271. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/conftest.py +0 -0
  272. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/ee-test.py +0 -0
  273. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/fixtures/__init__.py +0 -0
  274. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/fixtures/avatar.png +0 -0
  275. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/fixtures/create_license.rb +0 -0
  276. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/fixtures/docker-compose.yml +0 -0
  277. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/fixtures/docker.py +0 -0
  278. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/fixtures/invalid_auth.cfg +0 -0
  279. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/fixtures/invalid_version.cfg +0 -0
  280. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/fixtures/set_token.rb +0 -0
  281. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/functional/helpers.py +0 -0
  282. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/install/test_install.py +0 -0
  283. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/smoke/__init__.py +0 -0
  284. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/smoke/test_dists.py +0 -0
  285. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/__init__.py +0 -0
  286. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/_backends/__init__.py +0 -0
  287. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/_backends/test_requests_backend.py +0 -0
  288. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/base/test_rest_manager.py +0 -0
  289. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/base/test_rest_object.py +0 -0
  290. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/conftest.py +0 -0
  291. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/helpers.py +0 -0
  292. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/meta/__init__.py +0 -0
  293. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/meta/test_abstract_attrs.py +0 -0
  294. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/meta/test_imports.py +0 -0
  295. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/meta/test_mro.py +0 -0
  296. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/mixins/__init__.py +0 -0
  297. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/mixins/test_meta_mixins.py +0 -0
  298. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/mixins/test_mixin_methods.py +0 -0
  299. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/mixins/test_object_mixins_attributes.py +0 -0
  300. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/__init__.py +0 -0
  301. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/conftest.py +0 -0
  302. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_appearance.py +0 -0
  303. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_applications.py +0 -0
  304. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_audit_events.py +0 -0
  305. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_badges.py +0 -0
  306. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_bridges.py +0 -0
  307. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_bulk_imports.py +0 -0
  308. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_ci_lint.py +0 -0
  309. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_cluster_agents.py +0 -0
  310. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_commits.py +0 -0
  311. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_deploy_tokens.py +0 -0
  312. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_deployments.py +0 -0
  313. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_draft_notes.py +0 -0
  314. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_environments.py +0 -0
  315. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_group_access_tokens.py +0 -0
  316. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_group_merge_request_approvals.py +0 -0
  317. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_groups.py +0 -0
  318. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_hooks.py +0 -0
  319. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_invitations.py +0 -0
  320. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_issues.py +0 -0
  321. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_iterations.py +0 -0
  322. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_job_artifacts.py +0 -0
  323. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_job_token_scope.py +0 -0
  324. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_jobs.py +0 -0
  325. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_keys.py +0 -0
  326. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_member_roles.py +0 -0
  327. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_members.py +0 -0
  328. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_merge_request_pipelines.py +0 -0
  329. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_merge_requests.py +0 -0
  330. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_merge_trains.py +0 -0
  331. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_package_protection_rules.py +0 -0
  332. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_packages.py +0 -0
  333. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_personal_access_tokens.py +0 -0
  334. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_pipeline_schedules.py +0 -0
  335. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_pipelines.py +0 -0
  336. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_project_access_tokens.py +0 -0
  337. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_project_import_export.py +0 -0
  338. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_project_merge_request_approvals.py +0 -0
  339. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_project_statistics.py +0 -0
  340. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_projects.py +0 -0
  341. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_pull_mirror.py +0 -0
  342. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_registry_protection_rules.py +0 -0
  343. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_registry_repositories.py +0 -0
  344. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_releases.py +0 -0
  345. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_remote_mirrors.py +0 -0
  346. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_repositories.py +0 -0
  347. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_resource_groups.py +0 -0
  348. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_resource_iteration_events.py +0 -0
  349. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_resource_label_events.py +0 -0
  350. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_resource_milestone_events.py +0 -0
  351. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_resource_state_events.py +0 -0
  352. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_runners.py +0 -0
  353. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_secure_files.py +0 -0
  354. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_services.py +0 -0
  355. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_snippets.py +0 -0
  356. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_statistics.py +0 -0
  357. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_status_checks.py +0 -0
  358. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_submodules.py +0 -0
  359. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_templates.py +0 -0
  360. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_todos.py +0 -0
  361. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_topics.py +0 -0
  362. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_users.py +0 -0
  363. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/objects/test_variables.py +0 -0
  364. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/test_cli.py +0 -0
  365. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/test_config.py +0 -0
  366. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/test_exceptions.py +0 -0
  367. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/test_gitlab.py +0 -0
  368. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/test_gitlab_auth.py +0 -0
  369. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/test_gitlab_http_methods.py +0 -0
  370. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/test_graphql.py +0 -0
  371. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/test_retry.py +0 -0
  372. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tests/unit/test_utils.py +0 -0
  373. {python_gitlab-8.0.0 → python_gitlab-8.2.0}/tox.ini +0 -0
@@ -2,6 +2,38 @@
2
2
 
3
3
  All versions below are listed in reverse chronological order.
4
4
 
5
+ ## v8.2.0 (2026-03-28)
6
+
7
+ ### Documentation
8
+
9
+ - **testing**: Document passing pytest options during local development
10
+ ([`e6669f9`](https://github.com/python-gitlab/python-gitlab/commit/e6669f96d662d310109afa4a61fe8dabbd780a4e))
11
+
12
+ ### Features
13
+
14
+ - **api**: Add support for project feature flags and feature flag user lists
15
+ ([`be68285`](https://github.com/python-gitlab/python-gitlab/commit/be68285793f35afc10a72b59da3fb24429631f54))
16
+
17
+ - **projects**: Add optional parameter to set approval rule on all protected branches.
18
+ ([`8d76028`](https://github.com/python-gitlab/python-gitlab/commit/8d76028a1ae3554527291dc98e6be041ff089ec5))
19
+
20
+
21
+ ## v8.1.0 (2026-02-28)
22
+
23
+ ### Bug Fixes
24
+
25
+ - **types**: Add explicit submodule import for pyright compatibility
26
+ ([`84ad3fd`](https://github.com/python-gitlab/python-gitlab/commit/84ad3fd19cfbc236e962ac77c910571b0888c000))
27
+
28
+ ### Features
29
+
30
+ - **api**: Add support for order_by filter in runner jobs
31
+ ([`d5dc73d`](https://github.com/python-gitlab/python-gitlab/commit/d5dc73d0f82a15d96a956c1d868c253c9586e1bf))
32
+
33
+ - **api**: Add support for sort filter in runner jobs
34
+ ([`b117ee3`](https://github.com/python-gitlab/python-gitlab/commit/b117ee3d139f422e463ebeb5007517a2052af8a4))
35
+
36
+
5
37
  ## v8.0.0 (2026-01-28)
6
38
 
7
39
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-gitlab
3
- Version: 8.0.0
3
+ Version: 8.2.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>
@@ -24,7 +24,7 @@ API examples
24
24
  gl_objects/environments
25
25
  gl_objects/events
26
26
  gl_objects/epics
27
- gl_objects/features
27
+ gl_objects/gitlab_features
28
28
  gl_objects/geo_nodes
29
29
  gl_objects/groups
30
30
  gl_objects/group_access_tokens
@@ -49,6 +49,8 @@ API examples
49
49
  gl_objects/pipelines_and_jobs
50
50
  gl_objects/projects
51
51
  gl_objects/project_access_tokens
52
+ gl_objects/project_feature_flags
53
+ gl_objects/project_feature_flag_user_lists
52
54
  gl_objects/protected_branches
53
55
  gl_objects/protected_container_repositories
54
56
  gl_objects/protected_environments
@@ -1,6 +1,11 @@
1
- ##############
2
- Features flags
3
- ##############
1
+ ################################
2
+ GitLab Development Feature Flags
3
+ ################################
4
+
5
+ .. note::
6
+
7
+ This API is for managing GitLab's internal development feature flags and requires administrator access.
8
+ For project-level feature flags, see :doc:`project_feature_flags`.
4
9
 
5
10
  Reference
6
11
  ---------
@@ -29,4 +34,4 @@ Create or set a feature::
29
34
 
30
35
  Delete a feature::
31
36
 
32
- feature.delete()
37
+ feature.delete()
@@ -0,0 +1,51 @@
1
+ ###############################
2
+ Project Feature Flag User Lists
3
+ ###############################
4
+
5
+ Reference
6
+ ---------
7
+
8
+ * v4 API:
9
+
10
+ + :class:`gitlab.v4.objects.ProjectFeatureFlagUserList`
11
+ + :class:`gitlab.v4.objects.ProjectFeatureFlagUserListManager`
12
+ + :attr:`gitlab.v4.objects.Project.feature_flags_user_lists`
13
+
14
+ * GitLab API: https://docs.gitlab.com/api/feature_flag_user_lists
15
+
16
+ Examples
17
+ --------
18
+
19
+ List user lists::
20
+
21
+ user_lists = project.feature_flags_user_lists.list()
22
+
23
+ Get a user list::
24
+
25
+ user_list = project.feature_flags_user_lists.get(list_iid)
26
+
27
+ Create a user list::
28
+
29
+ user_list = project.feature_flags_user_lists.create({
30
+ 'name': 'my_user_list',
31
+ 'user_xids': 'user1,user2,user3'
32
+ })
33
+
34
+ Update a user list::
35
+
36
+ user_list.name = 'updated_list_name'
37
+ user_list.user_xids = 'user1,user2'
38
+ user_list.save()
39
+
40
+ Delete a user list::
41
+
42
+ user_list.delete()
43
+
44
+ Search for a user list::
45
+
46
+ user_lists = project.feature_flags_user_lists.list(search='my_list')
47
+
48
+ See also
49
+ --------
50
+
51
+ * :doc:`project_feature_flags`
@@ -0,0 +1,63 @@
1
+ #####################
2
+ Project Feature Flags
3
+ #####################
4
+
5
+ Reference
6
+ ---------
7
+
8
+ * v4 API:
9
+
10
+ + :class:`gitlab.v4.objects.ProjectFeatureFlag`
11
+ + :class:`gitlab.v4.objects.ProjectFeatureFlagManager`
12
+ + :attr:`gitlab.v4.objects.Project.feature_flags`
13
+
14
+ * GitLab API: https://docs.gitlab.com/api/feature_flags
15
+
16
+ Examples
17
+ --------
18
+
19
+ List feature flags::
20
+
21
+ flags = project.feature_flags.list()
22
+
23
+ Get a feature flag::
24
+
25
+ flag = project.feature_flags.get('my_feature_flag')
26
+
27
+ Create a feature flag::
28
+
29
+ flag = project.feature_flags.create({'name': 'my_feature_flag', 'version': 'new_version_flag'})
30
+
31
+ Create a feature flag with strategies::
32
+
33
+ flag = project.feature_flags.create({
34
+ 'name': 'my_complex_flag',
35
+ 'version': 'new_version_flag',
36
+ 'strategies': [{
37
+ 'name': 'userWithId',
38
+ 'parameters': {'userIds': 'user1,user2'}
39
+ }]
40
+ })
41
+
42
+ Update a feature flag::
43
+
44
+ flag.description = 'Updated description'
45
+ flag.save()
46
+
47
+ Rename a feature flag::
48
+
49
+ # You can rename a flag by changing its name attribute and calling save()
50
+ flag.name = 'new_flag_name'
51
+ flag.save()
52
+
53
+ # Alternatively, you can use the manager's update method
54
+ project.feature_flags.update('old_flag_name', {'name': 'new_flag_name'})
55
+
56
+ Delete a feature flag::
57
+
58
+ flag.delete()
59
+
60
+ See also
61
+ --------
62
+
63
+ * :doc:`project_feature_flag_user_lists`
@@ -409,6 +409,44 @@ Search projects by custom attribute::
409
409
  project.customattributes.set('type', 'internal')
410
410
  gl.projects.list(custom_attributes={'type': 'internal'}, get_all=True)
411
411
 
412
+ Project feature flags
413
+ =====================
414
+
415
+ Reference
416
+ ---------
417
+
418
+ * v4 API:
419
+
420
+ + :class:`gitlab.v4.objects.ProjectFeatureFlag`
421
+ + :class:`gitlab.v4.objects.ProjectFeatureFlagManager`
422
+ + :attr:`gitlab.v4.objects.Project.feature_flags`
423
+
424
+ * GitLab API: https://docs.gitlab.com/api/feature_flags
425
+
426
+ Examples
427
+ --------
428
+
429
+ See :doc:`project_feature_flags`.
430
+
431
+ Project feature flag user lists
432
+ ===============================
433
+
434
+ Reference
435
+ ---------
436
+
437
+ * v4 API:
438
+
439
+ + :class:`gitlab.v4.objects.ProjectFeatureFlagUserList`
440
+ + :class:`gitlab.v4.objects.ProjectFeatureFlagUserListManager`
441
+ + :attr:`gitlab.v4.objects.Project.feature_flags_user_lists`
442
+
443
+ * GitLab API: https://docs.gitlab.com/api/feature_flag_user_lists
444
+
445
+ Examples
446
+ --------
447
+
448
+ See :doc:`project_feature_flag_user_lists`.
449
+
412
450
  Project files
413
451
  =============
414
452
 
@@ -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__ = "8.0.0"
6
+ __version__ = "8.2.0"
@@ -1,8 +1,11 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import dataclasses
4
+ import json
4
5
  from typing import Any, TYPE_CHECKING
5
6
 
7
+ from gitlab import exceptions
8
+
6
9
 
7
10
  @dataclasses.dataclass(frozen=True)
8
11
  class RequiredOptional:
@@ -36,6 +39,13 @@ class RequiredOptional:
36
39
 
37
40
 
38
41
  class GitlabAttribute:
42
+ # Used in utils._transform_types() to decide if we should call get_for_api()
43
+ # on the attribute when transform_data is False (e.g. for POST/PUT/PATCH).
44
+ #
45
+ # This allows us to force transformation of data even when sending JSON bodies,
46
+ # which is useful for types like CommaSeparatedStringAttribute.
47
+ transform_in_body = False
48
+
39
49
  def __init__(self, value: Any = None) -> None:
40
50
  self._value = value
41
51
 
@@ -49,6 +59,16 @@ class GitlabAttribute:
49
59
  return (key, self._value)
50
60
 
51
61
 
62
+ class JsonAttribute(GitlabAttribute):
63
+ def set_from_cli(self, cli_value: str) -> None:
64
+ try:
65
+ self._value = json.loads(cli_value)
66
+ except (ValueError, TypeError) as e:
67
+ raise exceptions.GitlabParsingError(
68
+ f"Could not parse JSON data: {e}"
69
+ ) from e
70
+
71
+
52
72
  class _ListArrayAttribute(GitlabAttribute):
53
73
  """Helper class to support `list` / `array` types."""
54
74
 
@@ -82,9 +102,23 @@ class ArrayAttribute(_ListArrayAttribute):
82
102
 
83
103
 
84
104
  class CommaSeparatedListAttribute(_ListArrayAttribute):
85
- """For values which are sent to the server as a Comma Separated Values
86
- (CSV) string. We allow them to be specified as a list and we convert it
87
- into a CSV"""
105
+ """
106
+ For values which are sent to the server as a Comma Separated Values (CSV) string
107
+ in query parameters (GET), but as a list/array in JSON bodies (POST/PUT).
108
+ """
109
+
110
+
111
+ class CommaSeparatedStringAttribute(_ListArrayAttribute):
112
+ """
113
+ For values which are sent to the server as a Comma Separated Values (CSV) string.
114
+ Unlike CommaSeparatedListAttribute, this type ensures the value is converted
115
+ to a string even in JSON bodies (POST/PUT requests).
116
+ """
117
+
118
+ # Used in utils._transform_types() to ensure the value is converted to a string
119
+ # via get_for_api() even when transform_data is False (e.g. for POST/PUT/PATCH).
120
+ # This is needed because some APIs require a CSV string instead of a JSON array.
121
+ transform_in_body = True
88
122
 
89
123
 
90
124
  class LowercaseStringAttribute(GitlabAttribute):
@@ -198,7 +198,15 @@ def _transform_types(
198
198
  files[attr_name] = (key, data.pop(attr_name))
199
199
  continue
200
200
 
201
- if not transform_data:
201
+ # If transform_data is False, it means we are preparing data for a JSON body
202
+ # (POST/PUT/PATCH). In this case, we normally skip transformation because
203
+ # most types (like ArrayAttribute) only need transformation for query
204
+ # parameters (GET).
205
+ #
206
+ # However, some types (like CommaSeparatedStringAttribute) need to be
207
+ # transformed even in JSON bodies (e.g. converting a list to a CSV string).
208
+ # The 'transform_in_body' flag on the attribute class controls this behavior.
209
+ if not transform_data and not gitlab_attribute.transform_in_body:
202
210
  continue
203
211
 
204
212
  if isinstance(gitlab_attribute, types.GitlabAttribute):
@@ -24,6 +24,8 @@ from .environments import *
24
24
  from .epics import *
25
25
  from .events import *
26
26
  from .export_import import *
27
+ from .feature_flag_user_lists import *
28
+ from .feature_flags import *
27
29
  from .features import *
28
30
  from .files import *
29
31
  from .geo_nodes import *
@@ -0,0 +1,27 @@
1
+ """
2
+ GitLab API:
3
+ https://docs.gitlab.com/api/feature_flag_user_lists
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from gitlab import types
9
+ from gitlab.base import RESTObject
10
+ from gitlab.mixins import CRUDMixin, ObjectDeleteMixin, SaveMixin
11
+ from gitlab.types import RequiredOptional
12
+
13
+ __all__ = ["ProjectFeatureFlagUserList", "ProjectFeatureFlagUserListManager"]
14
+
15
+
16
+ class ProjectFeatureFlagUserList(SaveMixin, ObjectDeleteMixin, RESTObject):
17
+ _id_attr = "iid"
18
+
19
+
20
+ class ProjectFeatureFlagUserListManager(CRUDMixin[ProjectFeatureFlagUserList]):
21
+ _path = "/projects/{project_id}/feature_flags_user_lists"
22
+ _obj_cls = ProjectFeatureFlagUserList
23
+ _from_parent_attrs = {"project_id": "id"}
24
+ _create_attrs = RequiredOptional(required=("name", "user_xids"))
25
+ _update_attrs = RequiredOptional(optional=("name", "user_xids"))
26
+ _list_filters = ("search",)
27
+ _types = {"user_xids": types.CommaSeparatedStringAttribute}
@@ -0,0 +1,106 @@
1
+ """
2
+ GitLab API:
3
+ https://docs.gitlab.com/api/feature_flags
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import Any
9
+
10
+ from gitlab import types, utils
11
+ from gitlab.base import RESTObject
12
+ from gitlab.mixins import CRUDMixin, ObjectDeleteMixin, SaveMixin
13
+ from gitlab.types import RequiredOptional
14
+
15
+ __all__ = ["ProjectFeatureFlag", "ProjectFeatureFlagManager"]
16
+
17
+
18
+ class ProjectFeatureFlag(SaveMixin, ObjectDeleteMixin, RESTObject):
19
+ _id_attr = "name"
20
+ manager: ProjectFeatureFlagManager
21
+
22
+ def _get_save_url_id(self) -> str | int | None:
23
+ """Get the ID used to construct the API URL for the save operation.
24
+
25
+ For renames, this must be the *original* name of the flag. For other
26
+ updates, it is the current name.
27
+ """
28
+ if self._id_attr in self._updated_attrs:
29
+ # If the name is being changed, use the original name for the URL.
30
+ obj_id = self._attrs.get(self._id_attr)
31
+ if isinstance(obj_id, str):
32
+ return utils.EncodedId(obj_id)
33
+ return obj_id
34
+ return self.encoded_id
35
+
36
+ def save(self, **kwargs: Any) -> dict[str, Any] | None:
37
+ """Save the changes made to the object to the server.
38
+
39
+ This is the standard method to use when updating a feature flag object
40
+ that you have already retrieved.
41
+
42
+ It is overridden here to correctly handle renaming. When `name` is
43
+ changed, the API requires the *original* name in the URL, and this
44
+ method provides it.
45
+
46
+ Args:
47
+ **kwargs: Extra options to send to the server (e.g. sudo)
48
+
49
+ Returns:
50
+ The new object data (*not* a RESTObject)
51
+
52
+ Raises:
53
+ GitlabAuthenticationError: If authentication is not correct
54
+ GitlabUpdateError: If the server cannot perform the request
55
+ """
56
+ updated_data = self._get_updated_data()
57
+ if not updated_data:
58
+ return None
59
+
60
+ obj_id = self._get_save_url_id()
61
+ server_data = self.manager.update(obj_id, updated_data, **kwargs)
62
+ self._update_attrs(server_data)
63
+ return server_data
64
+
65
+
66
+ class ProjectFeatureFlagManager(CRUDMixin[ProjectFeatureFlag]):
67
+ _path = "/projects/{project_id}/feature_flags"
68
+ _obj_cls = ProjectFeatureFlag
69
+ _from_parent_attrs = {"project_id": "id"}
70
+ _create_attrs = RequiredOptional(
71
+ required=("name",), optional=("version", "description", "active", "strategies")
72
+ )
73
+ _update_attrs = RequiredOptional(
74
+ # new_name is used for renaming via CLI and mapped to 'name' in update()
75
+ optional=("name", "new_name", "description", "active", "strategies")
76
+ )
77
+ _list_filters = ("scope",)
78
+ _types = {"strategies": types.JsonAttribute}
79
+
80
+ def update(
81
+ self,
82
+ id: str | int | None = None,
83
+ new_data: dict[str, Any] | None = None,
84
+ **kwargs: Any,
85
+ ) -> dict[str, Any]:
86
+ """Update a Project Feature Flag.
87
+
88
+ This is a lower-level method called by `ProjectFeatureFlag.save()` and
89
+ is also used directly by the CLI.
90
+
91
+ The `new_name` parameter is a special case to support renaming via the
92
+ CLI (`--new-name`). It is converted to the `name` parameter that the
93
+ GitLab API expects in the request body.
94
+
95
+ Args:
96
+ id: The current name of the feature flag.
97
+ new_data: The dictionary of attributes to update.
98
+ **kwargs: Extra options to send to the server (e.g. sudo)
99
+ """
100
+ # Avoid mutating the caller-provided new_data dict by working on a copy.
101
+ data = dict(new_data or {})
102
+ # When used via CLI, we have 'new_name' to distinguish from the ID 'name'.
103
+ # When used via .save(), the object passes 'name' directly in new_data.
104
+ if "new_name" in data:
105
+ data["name"] = data.pop("new_name")
106
+ return super().update(id, data, **kwargs)
@@ -90,7 +90,13 @@ class ProjectApprovalRuleManager(
90
90
  _from_parent_attrs = {"project_id": "id"}
91
91
  _create_attrs = RequiredOptional(
92
92
  required=("name", "approvals_required"),
93
- optional=("user_ids", "group_ids", "protected_branch_ids", "usernames"),
93
+ optional=(
94
+ "user_ids",
95
+ "group_ids",
96
+ "protected_branch_ids",
97
+ "usernames",
98
+ "applies_to_all_protected_branches",
99
+ ),
94
100
  )
95
101
 
96
102
 
@@ -49,6 +49,8 @@ from .environments import ( # noqa: F401
49
49
  )
50
50
  from .events import ProjectEventManager # noqa: F401
51
51
  from .export_import import ProjectExportManager, ProjectImportManager # noqa: F401
52
+ from .feature_flag_user_lists import ProjectFeatureFlagUserListManager # noqa: F401
53
+ from .feature_flags import ProjectFeatureFlagManager # noqa: F401
52
54
  from .files import ProjectFileManager # noqa: F401
53
55
  from .hooks import ProjectHookManager # noqa: F401
54
56
  from .integrations import ProjectIntegrationManager, ProjectServiceManager # noqa: F401
@@ -201,6 +203,8 @@ class Project(
201
203
  environments: ProjectEnvironmentManager
202
204
  events: ProjectEventManager
203
205
  exports: ProjectExportManager
206
+ feature_flags: ProjectFeatureFlagManager
207
+ feature_flags_user_lists: ProjectFeatureFlagUserListManager
204
208
  files: ProjectFileManager
205
209
  forks: ProjectForkManager
206
210
  generic_packages: GenericPackageManager
@@ -17,6 +17,8 @@ from gitlab import types, utils
17
17
 
18
18
  if TYPE_CHECKING:
19
19
  # When running mypy we use these as the base classes
20
+ import gitlab.base
21
+
20
22
  _RestObjectBase = gitlab.base.RESTObject
21
23
  else:
22
24
  _RestObjectBase = object
@@ -38,7 +38,7 @@ class RunnerJobManager(ListMixin[RunnerJob]):
38
38
  _path = "/runners/{runner_id}/jobs"
39
39
  _obj_cls = RunnerJob
40
40
  _from_parent_attrs = {"runner_id": "id"}
41
- _list_filters = ("status",)
41
+ _list_filters = ("status", "order_by", "sort")
42
42
 
43
43
 
44
44
  class Runner(SaveMixin, ObjectDeleteMixin, RESTObject):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-gitlab
3
- Version: 8.0.0
3
+ Version: 8.2.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>
@@ -53,8 +53,8 @@ docs/gl_objects/emojis.rst
53
53
  docs/gl_objects/environments.rst
54
54
  docs/gl_objects/epics.rst
55
55
  docs/gl_objects/events.rst
56
- docs/gl_objects/features.rst
57
56
  docs/gl_objects/geo_nodes.rst
57
+ docs/gl_objects/gitlab_features.rst
58
58
  docs/gl_objects/group_access_tokens.rst
59
59
  docs/gl_objects/groups.rst
60
60
  docs/gl_objects/invitations.rst
@@ -77,6 +77,8 @@ docs/gl_objects/pagesdomains.rst
77
77
  docs/gl_objects/personal_access_tokens.rst
78
78
  docs/gl_objects/pipelines_and_jobs.rst
79
79
  docs/gl_objects/project_access_tokens.rst
80
+ docs/gl_objects/project_feature_flag_user_lists.rst
81
+ docs/gl_objects/project_feature_flags.rst
80
82
  docs/gl_objects/projects.rst
81
83
  docs/gl_objects/protected_branches.rst
82
84
  docs/gl_objects/protected_container_repositories.rst
@@ -149,6 +151,8 @@ gitlab/v4/objects/environments.py
149
151
  gitlab/v4/objects/epics.py
150
152
  gitlab/v4/objects/events.py
151
153
  gitlab/v4/objects/export_import.py
154
+ gitlab/v4/objects/feature_flag_user_lists.py
155
+ gitlab/v4/objects/feature_flags.py
152
156
  gitlab/v4/objects/features.py
153
157
  gitlab/v4/objects/files.py
154
158
  gitlab/v4/objects/geo_nodes.py
@@ -233,6 +237,8 @@ tests/functional/api/test_lazy_objects.py
233
237
  tests/functional/api/test_member_roles.py
234
238
  tests/functional/api/test_merge_requests.py
235
239
  tests/functional/api/test_packages.py
240
+ tests/functional/api/test_project_feature_flag_user_lists.py
241
+ tests/functional/api/test_project_feature_flags.py
236
242
  tests/functional/api/test_project_job_token_scope.py
237
243
  tests/functional/api/test_projects.py
238
244
  tests/functional/api/test_push_rules.py
@@ -252,6 +258,8 @@ tests/functional/cli/test_cli.py
252
258
  tests/functional/cli/test_cli_artifacts.py
253
259
  tests/functional/cli/test_cli_files.py
254
260
  tests/functional/cli/test_cli_packages.py
261
+ tests/functional/cli/test_cli_project_feature_flag_user_lists.py
262
+ tests/functional/cli/test_cli_project_feature_flags.py
255
263
  tests/functional/cli/test_cli_projects.py
256
264
  tests/functional/cli/test_cli_repository.py
257
265
  tests/functional/cli/test_cli_resource_access_tokens.py
@@ -332,6 +340,8 @@ tests/unit/objects/test_personal_access_tokens.py
332
340
  tests/unit/objects/test_pipeline_schedules.py
333
341
  tests/unit/objects/test_pipelines.py
334
342
  tests/unit/objects/test_project_access_tokens.py
343
+ tests/unit/objects/test_project_feature_flag_user_lists.py
344
+ tests/unit/objects/test_project_feature_flags.py
335
345
  tests/unit/objects/test_project_import_export.py
336
346
  tests/unit/objects/test_project_merge_request_approvals.py
337
347
  tests/unit/objects/test_project_statistics.py
@@ -1,14 +1,14 @@
1
1
  -r requirements.txt
2
2
  argcomplete==2.0.0
3
- black==26.1.0
4
- commitizen==4.12.1
3
+ black==26.3.1
4
+ commitizen==4.13.9
5
5
  flake8==7.3.0
6
- isort==7.0.0
6
+ isort==8.0.1
7
7
  mypy==1.19.1
8
- pylint==4.0.4
8
+ pylint==4.0.5
9
9
  pytest==9.0.2
10
- responses==0.25.8
10
+ responses==0.26.0
11
11
  respx==0.22.0
12
12
  types-PyYAML==6.0.12.20250915
13
13
  types-requests==2.32.4.20260107
14
- types-setuptools==80.10.0.20260124
14
+ types-setuptools==82.0.0.20260210
@@ -1,13 +1,13 @@
1
1
  -r requirements.txt
2
2
  anyio==4.12.1
3
3
  build==1.4.0
4
- coverage==7.13.2
4
+ coverage==7.13.5
5
5
  pytest-console-scripts==1.4.1
6
- pytest-cov==7.0.0
7
- pytest-github-actions-annotate-failures==0.3.0
6
+ pytest-cov==7.1.0
7
+ pytest-github-actions-annotate-failures==0.4.0
8
8
  pytest==9.0.2
9
9
  PyYaml==6.0.3
10
- responses==0.25.8
10
+ responses==0.26.0
11
11
  respx==0.22.0
12
- trio==0.32.0
12
+ trio==0.33.0
13
13
  wheel==0.46.3
@@ -1,4 +1,4 @@
1
1
  gql==4.0.0
2
2
  httpx==0.28.1
3
- requests==2.32.5
3
+ requests==2.33.0
4
4
  requests-toolbelt==1.0.0