gitlab-api 25.41.0__tar.gz → 25.43.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.
- gitlab_api-25.43.0/MANIFEST.in +4 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/PKG-INFO +47 -10
- gitlab_api-25.41.0/gitlab_api.egg-info/PKG-INFO → gitlab_api-25.43.0/README.md +38 -33
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/agent_server.py +1 -1
- gitlab_api-25.43.0/gitlab_api/main_agent.json +14 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp_server.py +1 -1
- gitlab_api-25.41.0/README.md → gitlab_api-25.43.0/gitlab_api.egg-info/PKG-INFO +70 -1
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api.egg-info/SOURCES.txt +1 -0
- gitlab_api-25.43.0/gitlab_api.egg-info/requires.txt +21 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/pyproject.toml +8 -8
- gitlab_api-25.43.0/requirements.txt +1 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/test_init_dynamics.py +7 -3
- gitlab_api-25.41.0/MANIFEST.in +0 -1
- gitlab_api-25.41.0/gitlab_api.egg-info/requires.txt +0 -21
- gitlab_api-25.41.0/requirements.txt +0 -1
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/LICENSE +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/__init__.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/__main__.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/api/__init__.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/api/api_client_base.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/api/api_client_environments.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/api/api_client_issues.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/api/api_client_merge_requests.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/api/api_client_other.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/api/api_client_pipelines.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/api/api_client_projects.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/api/api_client_repositories.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/api/api_client_system.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/api/api_client_users_groups.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/api_client.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/auth.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/gitlab_gql.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/gitlab_input_models.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/gitlab_response_models.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/__init__.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_branches.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_commits.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_custom_api.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_deploy_tokens.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_environments.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_epics.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_graphql.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_groups.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_issues.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_jobs.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_labels.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_members.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_merge_requests.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_merge_rules.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_milestones.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_misc.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_notes.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_packages.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_pipeline_schedules.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_pipelines.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_projects.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_protected_branches.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_releases.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_runners.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_snippets.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp/mcp_tags.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api/mcp_config.json +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api.egg-info/dependency_links.txt +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api.egg-info/entry_points.txt +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/gitlab_api.egg-info/top_level.txt +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/scripts/security_sanitizer.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/scripts/validate_a2a_agent.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/scripts/validate_agent.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/scripts/verify_api_integration.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/setup.cfg +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/__init__.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/conftest.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/test_api_wrapper.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/test_auth.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/test_concept_parity.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/test_gitlab_a2a_validation.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/test_gitlab_api_brute_force_coverage.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/test_gitlab_gql.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/test_gitlab_mcp_validation.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/test_gitlab_models.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/test_mock_coverage.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/test_startup.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/test_verify_agent.py +0 -0
- {gitlab_api-25.41.0 → gitlab_api-25.43.0}/tests/verify_a2a_queries.py +0 -0
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gitlab-api
|
|
3
|
-
Version: 25.
|
|
3
|
+
Version: 25.43.0
|
|
4
4
|
Summary: GitLab API + MCP Server + A2A Server
|
|
5
5
|
Author-email: Audel Rouhi <knucklessg1@gmail.com>
|
|
6
6
|
License: MIT
|
|
7
7
|
Classifier: Development Status :: 5 - Production/Stable
|
|
8
|
-
Classifier: License ::
|
|
8
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
9
9
|
Classifier: Environment :: Console
|
|
10
10
|
Classifier: Operating System :: POSIX :: Linux
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Requires-Python: <3.
|
|
12
|
+
Requires-Python: <3.15,>=3.11
|
|
13
13
|
Description-Content-Type: text/markdown
|
|
14
14
|
License-File: LICENSE
|
|
15
|
-
Requires-Dist: agent-utilities>=0.
|
|
15
|
+
Requires-Dist: agent-utilities>=0.48.0
|
|
16
16
|
Requires-Dist: python-dotenv>=1.0.0
|
|
17
|
-
Requires-Dist: gql>=4.0.0
|
|
17
|
+
Requires-Dist: gql[requests]>=4.0.0
|
|
18
18
|
Provides-Extra: mcp
|
|
19
|
-
Requires-Dist: agent-utilities[mcp]>=0.
|
|
19
|
+
Requires-Dist: agent-utilities[mcp]>=0.48.0; extra == "mcp"
|
|
20
20
|
Provides-Extra: agent
|
|
21
|
-
Requires-Dist: agent-utilities[agent,logfire]>=0.
|
|
21
|
+
Requires-Dist: agent-utilities[agent,logfire]>=0.48.0; extra == "agent"
|
|
22
22
|
Provides-Extra: gql
|
|
23
|
-
Requires-Dist: gql>=4.0.0; extra == "gql"
|
|
23
|
+
Requires-Dist: gql[requests]>=4.0.0; extra == "gql"
|
|
24
24
|
Provides-Extra: all
|
|
25
|
-
Requires-Dist: gitlab-api[agent,gql,logfire,mcp]>=25.
|
|
25
|
+
Requires-Dist: gitlab-api[agent,gql,logfire,mcp]>=25.43.0; extra == "all"
|
|
26
26
|
Provides-Extra: test
|
|
27
27
|
Requires-Dist: pytest-xdist>=3.6.0; extra == "test"
|
|
28
28
|
Requires-Dist: pytest; extra == "test"
|
|
@@ -52,7 +52,12 @@ Dynamic: license-file
|
|
|
52
52
|

|
|
53
53
|

|
|
54
54
|
|
|
55
|
-
*Version: 25.
|
|
55
|
+
*Version: 25.43.0*
|
|
56
|
+
|
|
57
|
+
> **Documentation** — Installation, deployment, usage across the API, CLI, and MCP
|
|
58
|
+
> interfaces, the integrated A2A agent server, and guidance for provisioning the
|
|
59
|
+
> backing GitLab instance are maintained in the
|
|
60
|
+
> [official documentation](https://knuckles-team.github.io/gitlab-api/).
|
|
56
61
|
|
|
57
62
|
---
|
|
58
63
|
|
|
@@ -212,6 +217,21 @@ docker run -d \
|
|
|
212
217
|
|
|
213
218
|
---
|
|
214
219
|
|
|
220
|
+
<!-- BEGIN GENERATED: additional-deployment-options -->
|
|
221
|
+
### Additional Deployment Options
|
|
222
|
+
|
|
223
|
+
`gitlab-api` can also run as a **local container** (Docker / Podman / `uv`) or be
|
|
224
|
+
consumed from a **remote deployment**. The
|
|
225
|
+
[Deployment guide](https://knuckles-team.github.io/gitlab-api/deployment/) has full, copy-paste
|
|
226
|
+
`mcp_config.json` for all four transports — **stdio**, **streamable-http**,
|
|
227
|
+
**local container / uv**, and **remote URL**:
|
|
228
|
+
|
|
229
|
+
- **Local container / uv** — launch the server from `mcp_config.json` via `uvx`,
|
|
230
|
+
`docker run`, or `podman run`, or point at a local streamable-http container by `url`.
|
|
231
|
+
- **Remote URL** — connect to a server deployed behind Caddy at
|
|
232
|
+
`http://gitlab-mcp.arpa/mcp` using the `"url"` key.
|
|
233
|
+
<!-- END GENERATED: additional-deployment-options -->
|
|
234
|
+
|
|
215
235
|
## Agent
|
|
216
236
|
|
|
217
237
|
This repository features a fully integrated Pydantic AI Graph Agent. It communicates over the **Agent Control Protocol (ACP)** and interacts seamlessly with the **Agent Web UI (AG-UI)** and Terminal interface.
|
|
@@ -332,6 +352,23 @@ python -m pip install gitlab-api[all]
|
|
|
332
352
|
|
|
333
353
|
---
|
|
334
354
|
|
|
355
|
+
## Documentation
|
|
356
|
+
|
|
357
|
+
The complete documentation is published as the
|
|
358
|
+
[official documentation site](https://knuckles-team.github.io/gitlab-api/) and is the
|
|
359
|
+
recommended reference for installation, deployment, and day-to-day operation.
|
|
360
|
+
|
|
361
|
+
| Page | Contents |
|
|
362
|
+
|---|---|
|
|
363
|
+
| [Installation](https://knuckles-team.github.io/gitlab-api/installation/) | pip, source, extras, prebuilt Docker image |
|
|
364
|
+
| [Deployment](https://knuckles-team.github.io/gitlab-api/deployment/) | run the MCP and agent servers, Compose, Caddy + Technitium, env config |
|
|
365
|
+
| [Usage](https://knuckles-team.github.io/gitlab-api/usage/) | the MCP tools, the `Api` client, the CLI |
|
|
366
|
+
| [Backing Platform](https://knuckles-team.github.io/gitlab-api/platform/) | deploy GitLab with Docker |
|
|
367
|
+
| [Overview](https://knuckles-team.github.io/gitlab-api/overview/) | the action-routed tool surface and architecture |
|
|
368
|
+
| [Concepts](https://knuckles-team.github.io/gitlab-api/concepts/) | concept registry (`CONCEPT:GL-*`) |
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
335
372
|
## Repository Owners
|
|
336
373
|
|
|
337
374
|
<img width="100%" height="180em" src="https://github-readme-stats.vercel.app/api?username=Knucklessg1&show_icons=true&hide_border=true&&count_private=true&include_all_commits=true" />
|
|
@@ -1,35 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: gitlab-api
|
|
3
|
-
Version: 25.41.0
|
|
4
|
-
Summary: GitLab API + MCP Server + A2A Server
|
|
5
|
-
Author-email: Audel Rouhi <knucklessg1@gmail.com>
|
|
6
|
-
License: MIT
|
|
7
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
8
|
-
Classifier: License :: Public Domain
|
|
9
|
-
Classifier: Environment :: Console
|
|
10
|
-
Classifier: Operating System :: POSIX :: Linux
|
|
11
|
-
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Requires-Python: <3.14,>=3.11
|
|
13
|
-
Description-Content-Type: text/markdown
|
|
14
|
-
License-File: LICENSE
|
|
15
|
-
Requires-Dist: agent-utilities>=0.45.0
|
|
16
|
-
Requires-Dist: python-dotenv>=1.0.0
|
|
17
|
-
Requires-Dist: gql>=4.0.0
|
|
18
|
-
Provides-Extra: mcp
|
|
19
|
-
Requires-Dist: agent-utilities[mcp]>=0.45.0; extra == "mcp"
|
|
20
|
-
Provides-Extra: agent
|
|
21
|
-
Requires-Dist: agent-utilities[agent,logfire]>=0.45.0; extra == "agent"
|
|
22
|
-
Provides-Extra: gql
|
|
23
|
-
Requires-Dist: gql>=4.0.0; extra == "gql"
|
|
24
|
-
Provides-Extra: all
|
|
25
|
-
Requires-Dist: gitlab-api[agent,gql,logfire,mcp]>=25.41.0; extra == "all"
|
|
26
|
-
Provides-Extra: test
|
|
27
|
-
Requires-Dist: pytest-xdist>=3.6.0; extra == "test"
|
|
28
|
-
Requires-Dist: pytest; extra == "test"
|
|
29
|
-
Requires-Dist: pytest-asyncio; extra == "test"
|
|
30
|
-
Requires-Dist: pytest-cov; extra == "test"
|
|
31
|
-
Dynamic: license-file
|
|
32
|
-
|
|
33
1
|
# Gitlab Api
|
|
34
2
|
## CLI or API | MCP | Agent
|
|
35
3
|
|
|
@@ -52,7 +20,12 @@ Dynamic: license-file
|
|
|
52
20
|

|
|
53
21
|

|
|
54
22
|
|
|
55
|
-
*Version: 25.
|
|
23
|
+
*Version: 25.43.0*
|
|
24
|
+
|
|
25
|
+
> **Documentation** — Installation, deployment, usage across the API, CLI, and MCP
|
|
26
|
+
> interfaces, the integrated A2A agent server, and guidance for provisioning the
|
|
27
|
+
> backing GitLab instance are maintained in the
|
|
28
|
+
> [official documentation](https://knuckles-team.github.io/gitlab-api/).
|
|
56
29
|
|
|
57
30
|
---
|
|
58
31
|
|
|
@@ -212,6 +185,21 @@ docker run -d \
|
|
|
212
185
|
|
|
213
186
|
---
|
|
214
187
|
|
|
188
|
+
<!-- BEGIN GENERATED: additional-deployment-options -->
|
|
189
|
+
### Additional Deployment Options
|
|
190
|
+
|
|
191
|
+
`gitlab-api` can also run as a **local container** (Docker / Podman / `uv`) or be
|
|
192
|
+
consumed from a **remote deployment**. The
|
|
193
|
+
[Deployment guide](https://knuckles-team.github.io/gitlab-api/deployment/) has full, copy-paste
|
|
194
|
+
`mcp_config.json` for all four transports — **stdio**, **streamable-http**,
|
|
195
|
+
**local container / uv**, and **remote URL**:
|
|
196
|
+
|
|
197
|
+
- **Local container / uv** — launch the server from `mcp_config.json` via `uvx`,
|
|
198
|
+
`docker run`, or `podman run`, or point at a local streamable-http container by `url`.
|
|
199
|
+
- **Remote URL** — connect to a server deployed behind Caddy at
|
|
200
|
+
`http://gitlab-mcp.arpa/mcp` using the `"url"` key.
|
|
201
|
+
<!-- END GENERATED: additional-deployment-options -->
|
|
202
|
+
|
|
215
203
|
## Agent
|
|
216
204
|
|
|
217
205
|
This repository features a fully integrated Pydantic AI Graph Agent. It communicates over the **Agent Control Protocol (ACP)** and interacts seamlessly with the **Agent Web UI (AG-UI)** and Terminal interface.
|
|
@@ -332,6 +320,23 @@ python -m pip install gitlab-api[all]
|
|
|
332
320
|
|
|
333
321
|
---
|
|
334
322
|
|
|
323
|
+
## Documentation
|
|
324
|
+
|
|
325
|
+
The complete documentation is published as the
|
|
326
|
+
[official documentation site](https://knuckles-team.github.io/gitlab-api/) and is the
|
|
327
|
+
recommended reference for installation, deployment, and day-to-day operation.
|
|
328
|
+
|
|
329
|
+
| Page | Contents |
|
|
330
|
+
|---|---|
|
|
331
|
+
| [Installation](https://knuckles-team.github.io/gitlab-api/installation/) | pip, source, extras, prebuilt Docker image |
|
|
332
|
+
| [Deployment](https://knuckles-team.github.io/gitlab-api/deployment/) | run the MCP and agent servers, Compose, Caddy + Technitium, env config |
|
|
333
|
+
| [Usage](https://knuckles-team.github.io/gitlab-api/usage/) | the MCP tools, the `Api` client, the CLI |
|
|
334
|
+
| [Backing Platform](https://knuckles-team.github.io/gitlab-api/platform/) | deploy GitLab with Docker |
|
|
335
|
+
| [Overview](https://knuckles-team.github.io/gitlab-api/overview/) | the action-routed tool surface and architecture |
|
|
336
|
+
| [Concepts](https://knuckles-team.github.io/gitlab-api/concepts/) | concept registry (`CONCEPT:GL-*`) |
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
335
340
|
## Repository Owners
|
|
336
341
|
|
|
337
342
|
<img width="100%" height="180em" src="https://github-readme-stats.vercel.app/api?username=Knucklessg1&show_icons=true&hide_border=true&&count_private=true&include_all_commits=true" />
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"task": "main-agent",
|
|
3
|
+
"input": "# main-agent\n\nYou are the primary orchestrator for this workspace. Your goal is to help the user manage their projects and coordinate specialized agents.\n\n### Core Principles\n* Be concise and efficient.\n* Use the knowledge graph to discover tools and experts.\n* Verify your work before concluding.\n\nYour personality:\n* **Emoji:** 🤖\n* **Vibe:** Professional, efficient, helpful",
|
|
4
|
+
"type": "prompt",
|
|
5
|
+
"description": "The primary orchestrator agent for this workspace.",
|
|
6
|
+
"tools": [
|
|
7
|
+
"workspace-manager",
|
|
8
|
+
"agent-workflows"
|
|
9
|
+
],
|
|
10
|
+
"topic": "General Expertise",
|
|
11
|
+
"tone": "technical and precise",
|
|
12
|
+
"style": "professional assistant",
|
|
13
|
+
"goal": "Coordinate specialized agents and manage the workspace."
|
|
14
|
+
}
|
|
@@ -1,3 +1,35 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: gitlab-api
|
|
3
|
+
Version: 25.43.0
|
|
4
|
+
Summary: GitLab API + MCP Server + A2A Server
|
|
5
|
+
Author-email: Audel Rouhi <knucklessg1@gmail.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
8
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
+
Classifier: Environment :: Console
|
|
10
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Requires-Python: <3.15,>=3.11
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Requires-Dist: agent-utilities>=0.48.0
|
|
16
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
17
|
+
Requires-Dist: gql[requests]>=4.0.0
|
|
18
|
+
Provides-Extra: mcp
|
|
19
|
+
Requires-Dist: agent-utilities[mcp]>=0.48.0; extra == "mcp"
|
|
20
|
+
Provides-Extra: agent
|
|
21
|
+
Requires-Dist: agent-utilities[agent,logfire]>=0.48.0; extra == "agent"
|
|
22
|
+
Provides-Extra: gql
|
|
23
|
+
Requires-Dist: gql[requests]>=4.0.0; extra == "gql"
|
|
24
|
+
Provides-Extra: all
|
|
25
|
+
Requires-Dist: gitlab-api[agent,gql,logfire,mcp]>=25.43.0; extra == "all"
|
|
26
|
+
Provides-Extra: test
|
|
27
|
+
Requires-Dist: pytest-xdist>=3.6.0; extra == "test"
|
|
28
|
+
Requires-Dist: pytest; extra == "test"
|
|
29
|
+
Requires-Dist: pytest-asyncio; extra == "test"
|
|
30
|
+
Requires-Dist: pytest-cov; extra == "test"
|
|
31
|
+
Dynamic: license-file
|
|
32
|
+
|
|
1
33
|
# Gitlab Api
|
|
2
34
|
## CLI or API | MCP | Agent
|
|
3
35
|
|
|
@@ -20,7 +52,12 @@
|
|
|
20
52
|

|
|
21
53
|

|
|
22
54
|
|
|
23
|
-
*Version: 25.
|
|
55
|
+
*Version: 25.43.0*
|
|
56
|
+
|
|
57
|
+
> **Documentation** — Installation, deployment, usage across the API, CLI, and MCP
|
|
58
|
+
> interfaces, the integrated A2A agent server, and guidance for provisioning the
|
|
59
|
+
> backing GitLab instance are maintained in the
|
|
60
|
+
> [official documentation](https://knuckles-team.github.io/gitlab-api/).
|
|
24
61
|
|
|
25
62
|
---
|
|
26
63
|
|
|
@@ -180,6 +217,21 @@ docker run -d \
|
|
|
180
217
|
|
|
181
218
|
---
|
|
182
219
|
|
|
220
|
+
<!-- BEGIN GENERATED: additional-deployment-options -->
|
|
221
|
+
### Additional Deployment Options
|
|
222
|
+
|
|
223
|
+
`gitlab-api` can also run as a **local container** (Docker / Podman / `uv`) or be
|
|
224
|
+
consumed from a **remote deployment**. The
|
|
225
|
+
[Deployment guide](https://knuckles-team.github.io/gitlab-api/deployment/) has full, copy-paste
|
|
226
|
+
`mcp_config.json` for all four transports — **stdio**, **streamable-http**,
|
|
227
|
+
**local container / uv**, and **remote URL**:
|
|
228
|
+
|
|
229
|
+
- **Local container / uv** — launch the server from `mcp_config.json` via `uvx`,
|
|
230
|
+
`docker run`, or `podman run`, or point at a local streamable-http container by `url`.
|
|
231
|
+
- **Remote URL** — connect to a server deployed behind Caddy at
|
|
232
|
+
`http://gitlab-mcp.arpa/mcp` using the `"url"` key.
|
|
233
|
+
<!-- END GENERATED: additional-deployment-options -->
|
|
234
|
+
|
|
183
235
|
## Agent
|
|
184
236
|
|
|
185
237
|
This repository features a fully integrated Pydantic AI Graph Agent. It communicates over the **Agent Control Protocol (ACP)** and interacts seamlessly with the **Agent Web UI (AG-UI)** and Terminal interface.
|
|
@@ -300,6 +352,23 @@ python -m pip install gitlab-api[all]
|
|
|
300
352
|
|
|
301
353
|
---
|
|
302
354
|
|
|
355
|
+
## Documentation
|
|
356
|
+
|
|
357
|
+
The complete documentation is published as the
|
|
358
|
+
[official documentation site](https://knuckles-team.github.io/gitlab-api/) and is the
|
|
359
|
+
recommended reference for installation, deployment, and day-to-day operation.
|
|
360
|
+
|
|
361
|
+
| Page | Contents |
|
|
362
|
+
|---|---|
|
|
363
|
+
| [Installation](https://knuckles-team.github.io/gitlab-api/installation/) | pip, source, extras, prebuilt Docker image |
|
|
364
|
+
| [Deployment](https://knuckles-team.github.io/gitlab-api/deployment/) | run the MCP and agent servers, Compose, Caddy + Technitium, env config |
|
|
365
|
+
| [Usage](https://knuckles-team.github.io/gitlab-api/usage/) | the MCP tools, the `Api` client, the CLI |
|
|
366
|
+
| [Backing Platform](https://knuckles-team.github.io/gitlab-api/platform/) | deploy GitLab with Docker |
|
|
367
|
+
| [Overview](https://knuckles-team.github.io/gitlab-api/overview/) | the action-routed tool surface and architecture |
|
|
368
|
+
| [Concepts](https://knuckles-team.github.io/gitlab-api/concepts/) | concept registry (`CONCEPT:GL-*`) |
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
303
372
|
## Repository Owners
|
|
304
373
|
|
|
305
374
|
<img width="100%" height="180em" src="https://github-readme-stats.vercel.app/api?username=Knucklessg1&show_icons=true&hide_border=true&&count_private=true&include_all_commits=true" />
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
agent-utilities>=0.48.0
|
|
2
|
+
python-dotenv>=1.0.0
|
|
3
|
+
gql[requests]>=4.0.0
|
|
4
|
+
|
|
5
|
+
[agent]
|
|
6
|
+
agent-utilities[agent,logfire]>=0.48.0
|
|
7
|
+
|
|
8
|
+
[all]
|
|
9
|
+
gitlab-api[agent,gql,logfire,mcp]>=25.43.0
|
|
10
|
+
|
|
11
|
+
[gql]
|
|
12
|
+
gql[requests]>=4.0.0
|
|
13
|
+
|
|
14
|
+
[mcp]
|
|
15
|
+
agent-utilities[mcp]>=0.48.0
|
|
16
|
+
|
|
17
|
+
[test]
|
|
18
|
+
pytest-xdist>=3.6.0
|
|
19
|
+
pytest
|
|
20
|
+
pytest-asyncio
|
|
21
|
+
pytest-cov
|
|
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "gitlab-api"
|
|
7
|
-
version = "25.
|
|
7
|
+
version = "25.43.0"
|
|
8
8
|
description = "GitLab API + MCP Server + A2A Server"
|
|
9
9
|
readme = "README.md"
|
|
10
|
-
classifiers = [ "Development Status :: 5 - Production/Stable", "License ::
|
|
11
|
-
requires-python = ">=3.11, <3.
|
|
12
|
-
dependencies = [ "agent-utilities>=0.
|
|
10
|
+
classifiers = [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Environment :: Console", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3",]
|
|
11
|
+
requires-python = ">=3.11, <3.15"
|
|
12
|
+
dependencies = [ "agent-utilities>=0.48.0", "python-dotenv>=1.0.0", "gql[requests]>=4.0.0",]
|
|
13
13
|
[[project.authors]]
|
|
14
14
|
name = "Audel Rouhi"
|
|
15
15
|
email = "knucklessg1@gmail.com"
|
|
@@ -18,10 +18,10 @@ email = "knucklessg1@gmail.com"
|
|
|
18
18
|
text = "MIT"
|
|
19
19
|
|
|
20
20
|
[project.optional-dependencies]
|
|
21
|
-
mcp = [ "agent-utilities[mcp]>=0.
|
|
22
|
-
agent = [ "agent-utilities[agent,logfire]>=0.
|
|
23
|
-
gql = [ "gql>=4.0.0",]
|
|
24
|
-
all = [ "gitlab-api[mcp,agent,gql,logfire]>=25.
|
|
21
|
+
mcp = [ "agent-utilities[mcp]>=0.48.0",]
|
|
22
|
+
agent = [ "agent-utilities[agent,logfire]>=0.48.0",]
|
|
23
|
+
gql = [ "gql[requests]>=4.0.0",]
|
|
24
|
+
all = [ "gitlab-api[mcp,agent,gql,logfire]>=25.43.0",]
|
|
25
25
|
test = [
|
|
26
26
|
"pytest-xdist>=3.6.0", "pytest", "pytest-asyncio", "pytest-cov",]
|
|
27
27
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
agent-utilities>=0.48.0
|
|
@@ -8,11 +8,15 @@ PKG_NAME = __name__.rsplit(".", 1)[0] if "." in __name__ else None
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def _get_pkg_name():
|
|
11
|
-
"""Derive package name from
|
|
11
|
+
"""Derive package name from pyproject.toml (directory names vary in worktrees)."""
|
|
12
12
|
import pathlib
|
|
13
|
+
import tomllib
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
project_dir = pathlib.Path(__file__).resolve().parent.parent
|
|
16
|
+
pyproject = project_dir / "pyproject.toml"
|
|
17
|
+
if pyproject.exists():
|
|
18
|
+
name = tomllib.loads(pyproject.read_text())["project"]["name"]
|
|
19
|
+
return name.replace("-", "_")
|
|
16
20
|
return project_dir.name.replace("-", "_")
|
|
17
21
|
|
|
18
22
|
|
gitlab_api-25.41.0/MANIFEST.in
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
include README.md include requirements.txt recursive-include gitlab_api *.py
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
agent-utilities>=0.45.0
|
|
2
|
-
python-dotenv>=1.0.0
|
|
3
|
-
gql>=4.0.0
|
|
4
|
-
|
|
5
|
-
[agent]
|
|
6
|
-
agent-utilities[agent,logfire]>=0.45.0
|
|
7
|
-
|
|
8
|
-
[all]
|
|
9
|
-
gitlab-api[agent,gql,logfire,mcp]>=25.41.0
|
|
10
|
-
|
|
11
|
-
[gql]
|
|
12
|
-
gql>=4.0.0
|
|
13
|
-
|
|
14
|
-
[mcp]
|
|
15
|
-
agent-utilities[mcp]>=0.45.0
|
|
16
|
-
|
|
17
|
-
[test]
|
|
18
|
-
pytest-xdist>=3.6.0
|
|
19
|
-
pytest
|
|
20
|
-
pytest-asyncio
|
|
21
|
-
pytest-cov
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
agent-utilities>=0.45.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
|
|
File without changes
|