python-gitlab 6.5.0__tar.gz → 7.1.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.
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/CHANGELOG.md +35 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/PKG-INFO +4 -4
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/README.rst +1 -1
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/_version.py +1 -1
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/utils.py +1 -1
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/registry_protection_repository_rules.py +9 -1
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/pyproject.toml +2 -2
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/python_gitlab.egg-info/PKG-INFO +4 -4
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/requirements-docker.txt +1 -1
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/requirements-docs.txt +1 -1
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/requirements-lint.txt +7 -7
- python_gitlab-7.1.0/requirements-precommit.txt +1 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/requirements-test.txt +4 -4
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_epics.py +5 -3
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_keys.py +9 -1
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_project_job_token_scope.py +4 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_projects.py +2 -2
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_registry.py +5 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/fixtures/.env +1 -1
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/fixtures/docker-compose.yml +1 -1
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/helpers.py +11 -11
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_registry_protection_rules.py +15 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tox.ini +2 -2
- python_gitlab-6.5.0/requirements-precommit.txt +0 -1
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/AUTHORS +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/COPYING +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/MANIFEST.in +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/Makefile +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/_static/js/gitter.js +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/api/gitlab.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/api/gitlab.v4.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/api-levels.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/api-objects.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/api-usage-advanced.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/api-usage-graphql.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/api-usage.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/changelog.md +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/cli-examples.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/cli-objects.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/cli-usage.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/conf.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/ext/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/ext/docstrings.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/ext/manager_tmpl.j2 +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/faq.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/access_requests.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/appearance.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/applications.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/badges.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/boards.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/branches.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/bulk_imports.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/ci_lint.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/cluster_agents.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/clusters.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/commits.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/deploy_keys.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/deploy_tokens.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/deployments.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/discussions.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/draft_notes.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/emojis.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/environments.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/epics.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/events.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/features.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/geo_nodes.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/group_access_tokens.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/groups.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/invitations.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/issues.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/iterations.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/job_token_scope.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/keys.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/labels.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/member_roles.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/merge_request_approvals.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/merge_requests.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/merge_trains.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/messages.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/milestones.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/namespaces.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/notes.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/notifications.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/packages.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/pagesdomains.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/personal_access_tokens.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/pipelines_and_jobs.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/project_access_tokens.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/projects.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/protected_branches.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/protected_container_repositories.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/protected_environments.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/protected_packages.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/pull_mirror.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/releases.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/remote_mirrors.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/repositories.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/repository_tags.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/resource_groups.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/runners.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/search.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/secure_files.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/settings.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/sidekiq.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/snippets.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/statistics.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/status_checks.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/system_hooks.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/templates.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/todos.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/topics.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/users.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/variables.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/wikis.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/index.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/make.bat +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/release-notes.rst +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/__main__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/_backends/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/_backends/graphql.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/_backends/protocol.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/_backends/requests_backend.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/base.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/cli.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/client.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/config.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/const.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/exceptions.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/mixins.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/py.typed +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/types.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/cli.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/access_requests.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/appearance.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/applications.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/artifacts.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/audit_events.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/award_emojis.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/badges.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/boards.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/branches.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/broadcast_messages.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/bulk_imports.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/ci_lint.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/cluster_agents.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/clusters.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/commits.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/container_registry.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/custom_attributes.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/deploy_keys.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/deploy_tokens.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/deployments.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/discussions.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/draft_notes.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/environments.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/epics.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/events.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/export_import.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/features.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/files.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/geo_nodes.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/group_access_tokens.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/groups.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/hooks.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/integrations.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/invitations.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/issues.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/iterations.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/job_token_scope.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/jobs.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/keys.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/labels.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/ldap.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/member_roles.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/members.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/merge_request_approvals.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/merge_requests.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/merge_trains.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/milestones.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/namespaces.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/notes.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/notification_settings.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/package_protection_rules.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/packages.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/pages.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/personal_access_tokens.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/pipelines.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/project_access_tokens.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/projects.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/push_rules.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/registry_protection_rules.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/releases.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/repositories.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/resource_groups.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/reviewers.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/runners.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/secure_files.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/service_accounts.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/settings.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/sidekiq.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/snippets.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/statistics.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/status_checks.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/tags.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/templates.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/todos.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/topics.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/triggers.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/users.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/variables.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/gitlab/v4/objects/wikis.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/python_gitlab.egg-info/SOURCES.txt +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/python_gitlab.egg-info/dependency_links.txt +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/python_gitlab.egg-info/entry_points.txt +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/python_gitlab.egg-info/requires.txt +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/python_gitlab.egg-info/top_level.txt +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/requirements.txt +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/setup.cfg +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/conftest.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_boards.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_branches.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_bulk_imports.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_current_user.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_deploy_keys.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_deploy_tokens.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_gitlab.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_graphql.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_groups.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_import_export.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_issues.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_lazy_objects.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_member_roles.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_merge_requests.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_packages.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_push_rules.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_releases.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_repository.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_services.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_snippets.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_statistics.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_topics.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_users.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_variables.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_wikis.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/cli/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/cli/conftest.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/cli/test_cli.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/cli/test_cli_artifacts.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/cli/test_cli_files.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/cli/test_cli_packages.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/cli/test_cli_projects.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/cli/test_cli_repository.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/cli/test_cli_resource_access_tokens.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/cli/test_cli_users.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/cli/test_cli_v4.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/cli/test_cli_variables.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/conftest.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/ee-test.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/fixtures/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/fixtures/avatar.png +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/fixtures/create_license.rb +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/fixtures/docker.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/fixtures/invalid_auth.cfg +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/fixtures/invalid_version.cfg +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/fixtures/set_token.rb +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/install/test_install.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/smoke/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/smoke/test_dists.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/_backends/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/_backends/test_requests_backend.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/base/test_rest_manager.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/base/test_rest_object.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/conftest.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/helpers.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/meta/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/meta/test_abstract_attrs.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/meta/test_imports.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/meta/test_mro.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/mixins/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/mixins/test_meta_mixins.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/mixins/test_mixin_methods.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/mixins/test_object_mixins_attributes.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/__init__.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/conftest.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_appearance.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_applications.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_audit_events.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_badges.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_bridges.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_bulk_imports.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_ci_lint.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_cluster_agents.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_commits.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_deploy_tokens.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_deployments.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_draft_notes.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_environments.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_group_access_tokens.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_group_merge_request_approvals.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_groups.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_hooks.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_invitations.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_issues.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_iterations.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_job_artifacts.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_job_token_scope.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_jobs.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_keys.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_member_roles.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_members.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_merge_request_pipelines.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_merge_requests.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_merge_trains.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_package_protection_rules.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_packages.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_personal_access_tokens.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_pipeline_schedules.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_pipelines.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_project_access_tokens.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_project_import_export.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_project_merge_request_approvals.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_project_statistics.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_projects.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_pull_mirror.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_registry_repositories.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_releases.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_remote_mirrors.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_repositories.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_resource_groups.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_resource_iteration_events.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_resource_label_events.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_resource_milestone_events.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_resource_state_events.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_runners.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_secure_files.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_services.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_snippets.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_statistics.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_status_checks.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_submodules.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_templates.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_todos.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_topics.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_users.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_variables.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/test_cli.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/test_config.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/test_exceptions.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/test_gitlab.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/test_gitlab_auth.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/test_gitlab_http_methods.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/test_graphql.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/test_retry.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/test_types.py +0 -0
- {python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/test_utils.py +0 -0
|
@@ -2,6 +2,41 @@
|
|
|
2
2
|
|
|
3
3
|
All versions below are listed in reverse chronological order.
|
|
4
4
|
|
|
5
|
+
## v7.1.0 (2025-12-28)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **utils**: Prevent negative sleep time in rate limit retry
|
|
10
|
+
([`4221195`](https://github.com/python-gitlab/python-gitlab/commit/422119576287de30e1b70411c7ab0bbe39231af7))
|
|
11
|
+
|
|
12
|
+
### Continuous Integration
|
|
13
|
+
|
|
14
|
+
- **release**: Use the correct token for publish to GitHub
|
|
15
|
+
([`614a74c`](https://github.com/python-gitlab/python-gitlab/commit/614a74c00f027f70b8e48a6b2a2ddcd3f823bffa))
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
- **registry-protection**: Add support for registry protection rule deletion
|
|
20
|
+
([`9dd62c3`](https://github.com/python-gitlab/python-gitlab/commit/9dd62c3f5bcf3e082c2733bd4edc068f993c22ec))
|
|
21
|
+
|
|
22
|
+
### Testing
|
|
23
|
+
|
|
24
|
+
- **functional**: Update to GitLab 18.6 and resolve issues found
|
|
25
|
+
([`c7c139b`](https://github.com/python-gitlab/python-gitlab/commit/c7c139b9e7823ec1800a819233aee469355ee8d1))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## v7.0.0 (2025-10-29)
|
|
29
|
+
|
|
30
|
+
### Features
|
|
31
|
+
|
|
32
|
+
- Drop Python 3.9 support and add Python 3.14
|
|
33
|
+
([`22941ac`](https://github.com/python-gitlab/python-gitlab/commit/22941acc3f331d5b683599c014ec962ece5d4b76))
|
|
34
|
+
|
|
35
|
+
### Breaking Changes
|
|
36
|
+
|
|
37
|
+
- As of python-gitlab 7.0.0, Python 3.9 is no longer supported. Python 3.10 or higher is required.
|
|
38
|
+
|
|
39
|
+
|
|
5
40
|
## v6.5.0 (2025-10-17)
|
|
6
41
|
|
|
7
42
|
### Bug Fixes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-gitlab
|
|
3
|
-
Version:
|
|
3
|
+
Version: 7.1.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>
|
|
@@ -19,12 +19,12 @@ Classifier: Operating System :: POSIX
|
|
|
19
19
|
Classifier: Operating System :: Microsoft :: Windows
|
|
20
20
|
Classifier: Programming Language :: Python
|
|
21
21
|
Classifier: Programming Language :: Python :: 3
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.10
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.12
|
|
26
25
|
Classifier: Programming Language :: Python :: 3.13
|
|
27
|
-
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
27
|
+
Requires-Python: >=3.10.0
|
|
28
28
|
Description-Content-Type: text/x-rst
|
|
29
29
|
License-File: COPYING
|
|
30
30
|
License-File: AUTHORS
|
|
@@ -93,7 +93,7 @@ Features
|
|
|
93
93
|
Installation
|
|
94
94
|
------------
|
|
95
95
|
|
|
96
|
-
As of
|
|
96
|
+
As of 7.0.0, ``python-gitlab`` is compatible with Python 3.10+.
|
|
97
97
|
|
|
98
98
|
Use ``pip`` to install the latest stable version of ``python-gitlab``:
|
|
99
99
|
|
|
@@ -133,7 +133,7 @@ class Retry:
|
|
|
133
133
|
if "Retry-After" in headers:
|
|
134
134
|
wait_time = int(headers["Retry-After"])
|
|
135
135
|
elif "RateLimit-Reset" in headers:
|
|
136
|
-
wait_time = int(headers["RateLimit-Reset"]) - time.time()
|
|
136
|
+
wait_time = max(0, int(headers["RateLimit-Reset"]) - time.time())
|
|
137
137
|
self.cur_retries += 1
|
|
138
138
|
time.sleep(wait_time)
|
|
139
139
|
return True
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
from gitlab.base import RESTObject
|
|
2
|
-
from gitlab.mixins import
|
|
2
|
+
from gitlab.mixins import (
|
|
3
|
+
CreateMixin,
|
|
4
|
+
DeleteMixin,
|
|
5
|
+
ListMixin,
|
|
6
|
+
SaveMixin,
|
|
7
|
+
UpdateMethod,
|
|
8
|
+
UpdateMixin,
|
|
9
|
+
)
|
|
3
10
|
from gitlab.types import RequiredOptional
|
|
4
11
|
|
|
5
12
|
__all__ = [
|
|
@@ -16,6 +23,7 @@ class ProjectRegistryRepositoryProtectionRuleManager(
|
|
|
16
23
|
ListMixin[ProjectRegistryRepositoryProtectionRule],
|
|
17
24
|
CreateMixin[ProjectRegistryRepositoryProtectionRule],
|
|
18
25
|
UpdateMixin[ProjectRegistryRepositoryProtectionRule],
|
|
26
|
+
DeleteMixin[ProjectRegistryRepositoryProtectionRule],
|
|
19
27
|
):
|
|
20
28
|
_path = "/projects/{project_id}/registry/protection/repository/rules"
|
|
21
29
|
_obj_cls = ProjectRegistryRepositoryProtectionRule
|
|
@@ -15,7 +15,7 @@ maintainers = [
|
|
|
15
15
|
{name = "Nejc Habjan", email="nejc.habjan@siemens.com"},
|
|
16
16
|
{name = "Roger Meier", email="r.meier@siemens.com"}
|
|
17
17
|
]
|
|
18
|
-
requires-python = ">=3.
|
|
18
|
+
requires-python = ">=3.10.0"
|
|
19
19
|
dependencies = [
|
|
20
20
|
"requests>=2.32.0",
|
|
21
21
|
"requests-toolbelt>=1.0.0",
|
|
@@ -30,11 +30,11 @@ classifiers = [
|
|
|
30
30
|
"Operating System :: Microsoft :: Windows",
|
|
31
31
|
"Programming Language :: Python",
|
|
32
32
|
"Programming Language :: Python :: 3",
|
|
33
|
-
"Programming Language :: Python :: 3.9",
|
|
34
33
|
"Programming Language :: Python :: 3.10",
|
|
35
34
|
"Programming Language :: Python :: 3.11",
|
|
36
35
|
"Programming Language :: Python :: 3.12",
|
|
37
36
|
"Programming Language :: Python :: 3.13",
|
|
37
|
+
"Programming Language :: Python :: 3.14",
|
|
38
38
|
]
|
|
39
39
|
keywords = ["api", "client", "gitlab", "python", "python-gitlab", "wrapper"]
|
|
40
40
|
license = {text = "LGPL-3.0-or-later"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-gitlab
|
|
3
|
-
Version:
|
|
3
|
+
Version: 7.1.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>
|
|
@@ -19,12 +19,12 @@ Classifier: Operating System :: POSIX
|
|
|
19
19
|
Classifier: Operating System :: Microsoft :: Windows
|
|
20
20
|
Classifier: Programming Language :: Python
|
|
21
21
|
Classifier: Programming Language :: Python :: 3
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
23
22
|
Classifier: Programming Language :: Python :: 3.10
|
|
24
23
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
24
|
Classifier: Programming Language :: Python :: 3.12
|
|
26
25
|
Classifier: Programming Language :: Python :: 3.13
|
|
27
|
-
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
27
|
+
Requires-Python: >=3.10.0
|
|
28
28
|
Description-Content-Type: text/x-rst
|
|
29
29
|
License-File: COPYING
|
|
30
30
|
License-File: AUTHORS
|
|
@@ -93,7 +93,7 @@ Features
|
|
|
93
93
|
Installation
|
|
94
94
|
------------
|
|
95
95
|
|
|
96
|
-
As of
|
|
96
|
+
As of 7.0.0, ``python-gitlab`` is compatible with Python 3.10+.
|
|
97
97
|
|
|
98
98
|
Use ``pip`` to install the latest stable version of ``python-gitlab``:
|
|
99
99
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
-r requirements.txt
|
|
2
2
|
argcomplete==2.0.0
|
|
3
|
-
black==25.
|
|
4
|
-
commitizen==4.
|
|
3
|
+
black==25.12.0
|
|
4
|
+
commitizen==4.10.1
|
|
5
5
|
flake8==7.3.0
|
|
6
|
-
isort==
|
|
7
|
-
mypy==1.
|
|
8
|
-
pylint==
|
|
9
|
-
pytest==
|
|
6
|
+
isort==7.0.0
|
|
7
|
+
mypy==1.19.1
|
|
8
|
+
pylint==4.0.4
|
|
9
|
+
pytest==9.0.2
|
|
10
10
|
responses==0.25.8
|
|
11
11
|
respx==0.22.0
|
|
12
12
|
types-PyYAML==6.0.12.20250915
|
|
13
13
|
types-requests==2.32.4.20250913
|
|
14
|
-
types-setuptools==80.9.0.
|
|
14
|
+
types-setuptools==80.9.0.20251221
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
pre-commit==4.5.1
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
-r requirements.txt
|
|
2
|
-
anyio==4.
|
|
2
|
+
anyio==4.12.0
|
|
3
3
|
build==1.3.0
|
|
4
|
-
coverage==7.
|
|
4
|
+
coverage==7.13.0
|
|
5
5
|
pytest-console-scripts==1.4.1
|
|
6
6
|
pytest-cov==7.0.0
|
|
7
7
|
pytest-github-actions-annotate-failures==0.3.0
|
|
8
|
-
pytest==
|
|
8
|
+
pytest==9.0.2
|
|
9
9
|
PyYaml==6.0.3
|
|
10
10
|
responses==0.25.8
|
|
11
11
|
respx==0.22.0
|
|
12
|
-
trio==0.
|
|
12
|
+
trio==0.32.0
|
|
13
13
|
wheel==0.45.1
|
|
@@ -15,18 +15,20 @@ def test_epics(group):
|
|
|
15
15
|
assert group.epics.list()
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
@pytest.mark.xfail(reason="404 on issue.id")
|
|
19
18
|
def test_epic_issues(epic, issue):
|
|
20
19
|
assert not epic.issues.list()
|
|
21
20
|
|
|
21
|
+
# FYI: Creating an issue causes a note to be created
|
|
22
22
|
epic_issue = epic.issues.create({"issue_id": issue.id})
|
|
23
23
|
assert epic.issues.list()
|
|
24
24
|
|
|
25
|
+
# FYI: Deleting an issue causes a note to be created
|
|
25
26
|
epic_issue.delete()
|
|
26
27
|
|
|
27
28
|
|
|
28
29
|
def test_epic_notes(epic):
|
|
29
|
-
|
|
30
|
+
notes = epic.notes.list(get_all=True)
|
|
30
31
|
|
|
31
32
|
epic.notes.create({"body": "Test note"})
|
|
32
|
-
|
|
33
|
+
new_notes = epic.notes.list(get_all=True)
|
|
34
|
+
assert len(new_notes) == (len(notes) + 1), f"{new_notes} {notes}"
|
|
@@ -38,6 +38,14 @@ def test_keys_deploy(gl, project, DEPLOY_KEY):
|
|
|
38
38
|
key_by_fingerprint = gl.keys.get(fingerprint=fingerprint)
|
|
39
39
|
assert key_by_fingerprint.title == key.title
|
|
40
40
|
assert key_by_fingerprint.key == key.key
|
|
41
|
-
|
|
41
|
+
|
|
42
|
+
if not any(
|
|
43
|
+
key_project.get("project_id") == project.id
|
|
44
|
+
for key_project in key_by_fingerprint.deploy_keys_projects
|
|
45
|
+
):
|
|
46
|
+
raise AssertionError(
|
|
47
|
+
f"Project {project} not found in 'deploy_keys_projects' "
|
|
48
|
+
f"{key_by_fingerprint.pformat()}"
|
|
49
|
+
)
|
|
42
50
|
|
|
43
51
|
key.delete()
|
{python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/functional/api/test_project_job_token_scope.py
RENAMED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import pytest
|
|
2
|
+
|
|
3
|
+
|
|
1
4
|
# https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#allow-any-project-to-access-your-project
|
|
2
5
|
def test_enable_limit_access_to_this_project(gl, project):
|
|
3
6
|
scope = project.job_token_scope.get()
|
|
@@ -10,6 +13,7 @@ def test_enable_limit_access_to_this_project(gl, project):
|
|
|
10
13
|
assert scope.inbound_enabled
|
|
11
14
|
|
|
12
15
|
|
|
16
|
+
@pytest.mark.xfail(reason="https://gitlab.com/gitlab-org/gitlab/-/issues/582271")
|
|
13
17
|
def test_disable_limit_access_to_this_project(gl, project):
|
|
14
18
|
scope = project.job_token_scope.get()
|
|
15
19
|
|
|
@@ -26,9 +26,9 @@ def test_create_project(gl, user):
|
|
|
26
26
|
|
|
27
27
|
sudo_project = gl.projects.create({"name": "sudo_project"}, sudo=user.id)
|
|
28
28
|
|
|
29
|
-
created = gl.projects.list()
|
|
29
|
+
created = gl.projects.list(get_all=True)
|
|
30
30
|
created_gen = gl.projects.list(iterator=True)
|
|
31
|
-
owned = gl.projects.list(owned=True)
|
|
31
|
+
owned = gl.projects.list(owned=True, get_all=True)
|
|
32
32
|
|
|
33
33
|
assert admin_project in created and sudo_project in created
|
|
34
34
|
assert admin_project in owned and sudo_project not in owned
|
|
@@ -26,3 +26,8 @@ def test_project_protected_registry(project: Project):
|
|
|
26
26
|
protected_registry.minimum_access_level_for_push = "owner"
|
|
27
27
|
protected_registry.save()
|
|
28
28
|
assert protected_registry.minimum_access_level_for_push == "owner"
|
|
29
|
+
|
|
30
|
+
protected_registry.delete()
|
|
31
|
+
|
|
32
|
+
rules = project.registry_protection_repository_rules.list()
|
|
33
|
+
assert rules == []
|
|
@@ -9,6 +9,7 @@ import pytest
|
|
|
9
9
|
import gitlab
|
|
10
10
|
import gitlab.base
|
|
11
11
|
import gitlab.exceptions
|
|
12
|
+
import gitlab.v4.objects
|
|
12
13
|
|
|
13
14
|
SLEEP_INTERVAL = 0.5
|
|
14
15
|
TIMEOUT = 60 # seconds before timeout will occur
|
|
@@ -37,6 +38,11 @@ def safe_delete(object: gitlab.base.RESTObject) -> None:
|
|
|
37
38
|
object = manager.get(object.get_id()) # type: ignore[attr-defined]
|
|
38
39
|
except gitlab.exceptions.GitlabGetError:
|
|
39
40
|
return
|
|
41
|
+
# If object is already marked for deletion we have succeeded
|
|
42
|
+
if getattr(object, "marked_for_deletion_on", None) is not None:
|
|
43
|
+
# 'Group' and 'Project' objects have a 'marked_for_deletion_on' attribute
|
|
44
|
+
logging.info(f"{object!r} is marked for deletion.")
|
|
45
|
+
return
|
|
40
46
|
|
|
41
47
|
if index:
|
|
42
48
|
logging.info(f"Attempt {index + 1} to delete {object!r}.")
|
|
@@ -52,22 +58,16 @@ def safe_delete(object: gitlab.base.RESTObject) -> None:
|
|
|
52
58
|
# we shouldn't cause test to fail if it still exists
|
|
53
59
|
return
|
|
54
60
|
elif isinstance(object, gitlab.v4.objects.Project):
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
object.delete(
|
|
58
|
-
pass
|
|
61
|
+
# Starting in GitLab 18, projects can't be immediately deleted.
|
|
62
|
+
# So this will mark it for deletion.
|
|
63
|
+
object.delete()
|
|
59
64
|
else:
|
|
60
65
|
# We only attempt to delete parent groups to prevent dangling sub-groups
|
|
61
|
-
# However parent groups can only be deleted on a delay in
|
|
66
|
+
# However parent groups can only be deleted on a delay in GitLab 16
|
|
62
67
|
# https://docs.gitlab.com/ee/api/groups.html#remove-group
|
|
63
68
|
object.delete()
|
|
64
69
|
except gitlab.exceptions.GitlabDeleteError:
|
|
65
|
-
logging.
|
|
66
|
-
if isinstance(object, gitlab.v4.objects.Group):
|
|
67
|
-
# Parent groups can never be immediately deleted in GL 16,
|
|
68
|
-
# so don't cause test to fail if it still exists
|
|
69
|
-
return
|
|
70
|
-
pass
|
|
70
|
+
logging.exception(f"Error attempting to delete: {object.pformat()}")
|
|
71
71
|
|
|
72
72
|
time.sleep(SLEEP_INTERVAL)
|
|
73
73
|
pytest.fail(f"{object!r} was not deleted")
|
{python_gitlab-6.5.0 → python_gitlab-7.1.0}/tests/unit/objects/test_registry_protection_rules.py
RENAMED
|
@@ -58,6 +58,17 @@ def resp_update_protected_registry():
|
|
|
58
58
|
yield rsps
|
|
59
59
|
|
|
60
60
|
|
|
61
|
+
@pytest.fixture
|
|
62
|
+
def resp_delete_protected_registry():
|
|
63
|
+
with responses.RequestsMock() as rsps:
|
|
64
|
+
rsps.add(
|
|
65
|
+
method=responses.DELETE,
|
|
66
|
+
url="http://localhost/api/v4/projects/1/registry/protection/repository/rules/1",
|
|
67
|
+
status=204,
|
|
68
|
+
)
|
|
69
|
+
yield rsps
|
|
70
|
+
|
|
71
|
+
|
|
61
72
|
def test_list_project_protected_registries(project, resp_list_protected_registries):
|
|
62
73
|
protected_registry = project.registry_protection_repository_rules.list()[0]
|
|
63
74
|
assert isinstance(protected_registry, ProjectRegistryRepositoryProtectionRule)
|
|
@@ -80,3 +91,7 @@ def test_update_project_protected_registry(project, resp_update_protected_regist
|
|
|
80
91
|
1, {"repository_path_pattern": "abc*"}
|
|
81
92
|
)
|
|
82
93
|
assert updated["repository_path_pattern"] == "abc*"
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
def test_delete_project_protected_registry(project, resp_delete_protected_registry):
|
|
97
|
+
project.registry_protection_repository_rules.delete(1)
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
minversion = 4.0
|
|
3
3
|
skipsdist = True
|
|
4
4
|
skip_missing_interpreters = True
|
|
5
|
-
envlist = py313,py312,py311,py310,
|
|
5
|
+
envlist = py314,py313,py312,py311,py310,black,isort,flake8,mypy,twine-check,cz,pylint
|
|
6
6
|
|
|
7
7
|
# NOTE(jlvillal): To use a label use the `-m` flag.
|
|
8
8
|
# For example to run the `func` label group of environments do:
|
|
9
9
|
# tox -m func
|
|
10
10
|
labels =
|
|
11
11
|
lint = black,isort,flake8,mypy,pylint,cz
|
|
12
|
-
unit = py313,py312,py311,py310
|
|
12
|
+
unit = py314,py313,py312,py311,py310
|
|
13
13
|
# func is the functional tests. This is very time consuming.
|
|
14
14
|
func = cli_func_v4,api_func_v4
|
|
15
15
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
pre-commit==4.3.0
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_gitlab-6.5.0 → python_gitlab-7.1.0}/docs/gl_objects/protected_container_repositories.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|