gitlab-api 27.3.18__tar.gz → 27.3.19__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 (90) hide show
  1. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/PKG-INFO +1 -1
  2. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/gitlab_input_models.py +6 -0
  3. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/certification.json +1 -1
  4. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api.egg-info/PKG-INFO +1 -1
  5. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api.egg-info/SOURCES.txt +1 -0
  6. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/pyproject.toml +1 -1
  7. gitlab_api-27.3.19/tests/test_paged_models_have_paging_fields.py +21 -0
  8. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/LICENSE +0 -0
  9. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/README.md +0 -0
  10. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/__init__.py +0 -0
  11. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/__main__.py +0 -0
  12. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/__init__.py +0 -0
  13. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_base.py +0 -0
  14. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_environments.py +0 -0
  15. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_issues.py +0 -0
  16. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_merge_requests.py +0 -0
  17. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_other.py +0 -0
  18. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_pipelines.py +0 -0
  19. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_projects.py +0 -0
  20. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_repositories.py +0 -0
  21. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_system.py +0 -0
  22. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_users_groups.py +0 -0
  23. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api/api_client_vulnerabilities.py +0 -0
  24. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/api_client.py +0 -0
  25. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/auth.py +0 -0
  26. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/connector_prep.py +0 -0
  27. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/connector_sources.py +0 -0
  28. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/gitlab_gql.py +0 -0
  29. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/gitlab_response_models.py +0 -0
  30. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/instances.py +0 -0
  31. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/kg_ingest.py +0 -0
  32. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/mcp_config.json +0 -0
  33. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/mcp_server.py +0 -0
  34. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/__init__.py +0 -0
  35. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/access_contracts.ttl +0 -0
  36. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/fixtures/records.json +0 -0
  37. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/gitlab.ttl +0 -0
  38. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/mappings/source.yaml +0 -0
  39. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/migrations/manifest.json +0 -0
  40. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/ontology/shapes/connector.shacl.ttl +0 -0
  41. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/prompts/devops_specialist.json +0 -0
  42. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-api-development/SKILL.md +0 -0
  43. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-api-operations/SKILL.md +0 -0
  44. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-api-operations/agents/openai.yaml +0 -0
  45. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-api-operations/references/catalog.md +0 -0
  46. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-issues/SKILL.md +0 -0
  47. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-issues/WORKFLOW.md +0 -0
  48. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-merge-request-create/SKILL.md +0 -0
  49. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-merge-request-create/WORKFLOW.md +0 -0
  50. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-merge-request-review/SKILL.md +0 -0
  51. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-merge-request-review/WORKFLOW.md +0 -0
  52. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-pipelines/SKILL.md +0 -0
  53. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-pipelines/WORKFLOW.md +0 -0
  54. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-vulnerabilities/SKILL.md +0 -0
  55. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api/skills/gitlab-vulnerabilities/WORKFLOW.md +0 -0
  56. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api.egg-info/dependency_links.txt +0 -0
  57. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api.egg-info/entry_points.txt +0 -0
  58. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api.egg-info/requires.txt +0 -0
  59. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/gitlab_api.egg-info/top_level.txt +0 -0
  60. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/scripts/check_import_safety.py +0 -0
  61. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/scripts/security_contract.py +0 -0
  62. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/setup.cfg +0 -0
  63. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/__init__.py +0 -0
  64. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/conftest.py +0 -0
  65. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_access_contracts.py +0 -0
  66. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_api_wrapper.py +0 -0
  67. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_auth.py +0 -0
  68. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_bug_002_005.py +0 -0
  69. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_catalog_edges.py +0 -0
  70. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_connector_prep.py +0 -0
  71. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_cq_paths.py +0 -0
  72. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_fleet_name.py +0 -0
  73. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_gitlab_a2a_validation.py +0 -0
  74. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_gitlab_api_brute_force_coverage.py +0 -0
  75. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_gitlab_api_development_skill.py +0 -0
  76. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_gitlab_gql.py +0 -0
  77. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_gitlab_mcp_validation.py +0 -0
  78. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_gitlab_models.py +0 -0
  79. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_identity_context_scoping.py +0 -0
  80. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_ingest_sources.py +0 -0
  81. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_init_dynamics.py +0 -0
  82. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_instances.py +0 -0
  83. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_kg_ingest.py +0 -0
  84. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_mock_coverage.py +0 -0
  85. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_ontology_parent_link.py +0 -0
  86. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_pages_workflow.py +0 -0
  87. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_startup.py +0 -0
  88. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_tool_modes.py +0 -0
  89. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/test_verify_agent.py +0 -0
  90. {gitlab_api-27.3.18 → gitlab_api-27.3.19}/tests/verify_a2a_queries.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitlab-api
3
- Version: 27.3.18
3
+ Version: 27.3.19
4
4
  Summary: GitLab API + MCP Server
5
5
  Author-email: Repository Maintainers <maintainers@knuckles.team>
6
6
  License: MIT
@@ -1775,6 +1775,9 @@ class NamespaceModel(BaseModel):
1775
1775
  top_level_only: bool | None = Field(
1776
1776
  description="Only show top level namespaces", default=None
1777
1777
  )
1778
+ max_pages: int | None = Field(
1779
+ description="Maximum number of pages to fetch", default=None
1780
+ )
1778
1781
  api_parameters: dict | None = Field(description="API Parameters", default=None)
1779
1782
  data: dict | None = Field(description="Data Payload", default=None)
1780
1783
 
@@ -2855,6 +2858,9 @@ class RunnerModel(BaseModel):
2855
2858
  runner_type: str | None = None
2856
2859
  status: str | None = None
2857
2860
  all_runners: bool | None = False
2861
+ max_pages: int | None = Field(
2862
+ description="Maximum number of pages to fetch", default=None
2863
+ )
2858
2864
  api_parameters: dict | None = Field(description="API Parameters", default=None)
2859
2865
  data: dict | None = Field(description="Data Payload", default=None)
2860
2866
 
@@ -29,5 +29,5 @@
29
29
  "signer": "UNSIGNED-PREVIEW",
30
30
  "signing_public_key": "",
31
31
  "status": "source-validated",
32
- "validated_at": "2026-11-06T02:14:15Z"
32
+ "validated_at": "2026-11-06T16:19:16Z"
33
33
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitlab-api
3
- Version: 27.3.18
3
+ Version: 27.3.19
4
4
  Summary: GitLab API + MCP Server
5
5
  Author-email: Repository Maintainers <maintainers@knuckles.team>
6
6
  License: MIT
@@ -80,6 +80,7 @@ tests/test_instances.py
80
80
  tests/test_kg_ingest.py
81
81
  tests/test_mock_coverage.py
82
82
  tests/test_ontology_parent_link.py
83
+ tests/test_paged_models_have_paging_fields.py
83
84
  tests/test_pages_workflow.py
84
85
  tests/test_startup.py
85
86
  tests/test_tool_modes.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "gitlab-api"
7
- version = "27.3.18"
7
+ version = "27.3.19"
8
8
  description = "GitLab API + MCP Server"
9
9
  readme = "README.md"
10
10
  classifiers = [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Environment :: Console", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3",]
@@ -0,0 +1,21 @@
1
+ """Every input model fed to the paged fetch carries the paging fields it reads."""
2
+
3
+ import re
4
+ from pathlib import Path
5
+
6
+ from gitlab_api import gitlab_input_models as models
7
+
8
+ API_DIR = Path(__file__).parent.parent / "gitlab_api" / "api"
9
+ PAGED = re.compile(
10
+ r"(\w+) = (\w+Model)\(\*\*kwargs\)\s*\n\s*try:\s*\n\s*response, data = "
11
+ r"self\._fetch_all_pages\(\s*endpoint=[^\n]*\n\s*model=\1"
12
+ )
13
+
14
+
15
+ def test_paged_models_have_max_pages():
16
+ missing = set()
17
+ for path in API_DIR.glob("*.py"):
18
+ for _var, name in PAGED.findall(path.read_text()):
19
+ if "max_pages" not in getattr(models, name).model_fields:
20
+ missing.add(name)
21
+ assert not missing, sorted(missing)
File without changes
File without changes
File without changes