dockerhub-api 1.3.7__tar.gz → 1.3.9__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 (82) hide show
  1. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/PKG-INFO +9 -9
  2. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/README.md +7 -7
  3. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/__init__.py +1 -1
  4. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/__main__.py +1 -1
  5. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api/api_client_auth.py +1 -1
  6. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api/api_client_base.py +3 -3
  7. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api/api_client_registry_base.py +2 -2
  8. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/auth.py +7 -7
  9. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/connector_sources.py +1 -1
  10. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/kg_ingest.py +2 -2
  11. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/mcp/__init__.py +1 -1
  12. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/mcp_server.py +1 -1
  13. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/ontology/__init__.py +2 -2
  14. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/ontology/certification.json +2 -2
  15. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/ontology/dockerhub.ttl +1 -1
  16. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/skills/dockerhub-api-development/SKILL.md +1 -1
  17. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/skills/dockerhub-image-registry-scout/SKILL.md +1 -1
  18. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/skills/dockerhub-org-administration/SKILL.md +1 -1
  19. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/skills/dockerhub-repository-management/SKILL.md +1 -1
  20. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api.egg-info/PKG-INFO +9 -9
  21. dockerhub_api-1.3.9/dockerhub_api.egg-info/entry_points.txt +5 -0
  22. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api.egg-info/requires.txt +1 -1
  23. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/pyproject.toml +5 -5
  24. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_api_repositories.py +1 -1
  25. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_auth.py +1 -1
  26. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_dockerhub_mcp_validation.py +1 -1
  27. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_fleet_name.py +2 -2
  28. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_identity_namespace_scoping.py +2 -2
  29. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_kg_ingest.py +9 -5
  30. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_rate_limit.py +1 -1
  31. dockerhub_api-1.3.7/dockerhub_api.egg-info/entry_points.txt +0 -5
  32. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/LICENSE +0 -0
  33. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api/__init__.py +0 -0
  34. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api/api_client_access_tokens.py +0 -0
  35. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api/api_client_audit_logs.py +0 -0
  36. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api/api_client_groups.py +0 -0
  37. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api/api_client_org_access_tokens.py +0 -0
  38. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api/api_client_orgs.py +0 -0
  39. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api/api_client_registry.py +0 -0
  40. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api/api_client_repositories.py +0 -0
  41. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api/api_client_scim.py +0 -0
  42. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api/api_client_scout.py +0 -0
  43. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/api_client.py +0 -0
  44. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/dockerhub_input_models.py +0 -0
  45. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/dockerhub_response_models.py +0 -0
  46. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/mcp/mcp_admin.py +0 -0
  47. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/mcp/mcp_audit.py +0 -0
  48. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/mcp/mcp_auth.py +0 -0
  49. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/mcp/mcp_kg.py +0 -0
  50. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/mcp/mcp_org.py +0 -0
  51. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/mcp/mcp_registry.py +0 -0
  52. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/mcp/mcp_repos.py +0 -0
  53. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/mcp/mcp_scim.py +0 -0
  54. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/mcp/mcp_scout.py +0 -0
  55. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/mcp/mcp_teams.py +0 -0
  56. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/mcp_config.json +0 -0
  57. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/ontology/fixtures/records.json +0 -0
  58. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/ontology/mappings/source.yaml +0 -0
  59. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/ontology/migrations/manifest.json +0 -0
  60. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/ontology/shapes/connector.shacl.ttl +0 -0
  61. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/skills/dockerhub-api-operations/SKILL.md +0 -0
  62. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/skills/dockerhub-api-operations/agents/openai.yaml +0 -0
  63. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/skills/dockerhub-api-operations/references/catalog.md +0 -0
  64. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/skills/dockerhub-image-registry-scout/WORKFLOW.md +0 -0
  65. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/skills/dockerhub-org-administration/WORKFLOW.md +0 -0
  66. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api/skills/dockerhub-repository-management/WORKFLOW.md +0 -0
  67. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api.egg-info/SOURCES.txt +0 -0
  68. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api.egg-info/dependency_links.txt +0 -0
  69. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/dockerhub_api.egg-info/top_level.txt +0 -0
  70. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/setup.cfg +0 -0
  71. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_api_audit.py +0 -0
  72. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_api_org.py +0 -0
  73. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_api_registry.py +0 -0
  74. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_api_scim.py +0 -0
  75. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_api_scout.py +0 -0
  76. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_api_teams.py +0 -0
  77. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_api_tokens.py +0 -0
  78. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_api_wrapper.py +0 -0
  79. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_dockerhub_a2a_validation.py +0 -0
  80. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_init_dynamics.py +0 -0
  81. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_models.py +0 -0
  82. {dockerhub_api-1.3.7 → dockerhub_api-1.3.9}/tests/test_startup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dockerhub-api
3
- Version: 1.3.7
3
+ Version: 1.3.9
4
4
  Summary: Docker Hub API + MCP Server
5
5
  Author-email: Repository Maintainers <maintainers@knuckles.team>
6
6
  License: MIT
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3
12
12
  Requires-Python: <3.15,>=3.12
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
- Requires-Dist: agent-connector-sdk[mcp]<0.6.0,>=0.5.4
15
+ Requires-Dist: scion-sdk[mcp]<0.7.0,>=0.6.4
16
16
  Requires-Dist: httpx>=0.28.1
17
17
  Requires-Dist: python-dotenv>=1.2.4
18
18
  Provides-Extra: test
@@ -91,7 +91,7 @@ multi-arch inspection, OCI referrers, and gated push/remove) and **Docker Scout*
91
91
  - **Integrated Graph Agent:** Built-in Pydantic AI agent (`dockerhub-agent`) with
92
92
  A2A and AG-UI web interfaces.
93
93
  - **Native Telemetry & Tracing:** Out-of-the-box OpenTelemetry exports and Langfuse
94
- tracing via agent-connector-sdk.
94
+ tracing via scion-sdk.
95
95
 
96
96
  ---
97
97
 
@@ -105,8 +105,8 @@ pip install "dockerhub-api[all]" # everything
105
105
 
106
106
  | Extra | Adds |
107
107
  |---|---|
108
- | `mcp` | FastMCP server (`dockerhub-mcp`) via `agent-connector-sdk` |
109
- | `agent` | Pydantic-AI A2A agent (`dockerhub-agent`) + Logfire via `agent-connector-sdk` |
108
+ | `mcp` | FastMCP server (`dockerhub-mcp`) via `scion-sdk` |
109
+ | `agent` | Pydantic-AI A2A agent (`dockerhub-agent`) + Logfire via `scion-sdk` |
110
110
  | `all` | `mcp` + `agent` |
111
111
  | `test` | pytest toolchain for development |
112
112
 
@@ -136,7 +136,7 @@ agent (`immutable agent digest`) with a co-located `:mcp` sidecar.
136
136
 
137
137
  ### Knowledge-graph database (`epistemic-graph`)
138
138
 
139
- Agent Connector SDK core dependency (`epistemic-graph[full]`). The `[mcp]` extra keeps
139
+ Scion SDK core dependency (`epistemic-graph[full]`). The `[mcp]` extra keeps
140
140
  deployments can use the bundled engine. For production or shared state, run
141
141
  **epistemic-graph as a dedicated database service** and configure the runtime to use it.
142
142
  Deployment recipes (single-node + Raft HA), connection configuration, and architecture
@@ -258,7 +258,7 @@ _9 action-routed tool(s) (default) · 54 verbose 1:1 tool(s). Each is enabled un
258
258
  <!-- MCP-CONFIG-EXAMPLES:START -->
259
259
 
260
260
  > **Install the connector-focused `[mcp]` extra.** Examples use `dockerhub-api[mcp]` to add
261
- > FastMCP / FastAPI through `agent-connector-sdk`; the required Agent Connector SDK core
261
+ > FastMCP / FastAPI through `scion-sdk`; the required Scion SDK core
262
262
  > still carries `epistemic-graph[full]`. The `[agent-runtime]` extra additionally
263
263
  > enables model orchestration.
264
264
 
@@ -500,7 +500,7 @@ network transport, connector ingestion, Arbora delegation, or trace export.
500
500
  | `SCOUTTOOL` | `True` | |
501
501
  | `KGTOOL` | `True` | |
502
502
 
503
- #### Inherited agent-connector-sdk variables (apply to every connector)
503
+ #### Inherited scion-sdk variables (apply to every connector)
504
504
 
505
505
  | Variable | Example | Description |
506
506
  |----------|---------|-------------|
@@ -521,5 +521,5 @@ network transport, connector ingestion, Arbora delegation, or trace export.
521
521
  | `MODEL_ID` | `gpt-4o` | Model id for the agent |
522
522
  | `ENABLE_WEB_UI` | `True` | Serve the AG-UI web interface |
523
523
 
524
- _36 package + 16 inherited variable(s). Auto-generated from `.env.example` + the shared agent-connector-sdk set — do not edit._
524
+ _36 package + 16 inherited variable(s). Auto-generated from `.env.example` + the shared scion-sdk set — do not edit._
525
525
  <!-- ENV-VARS-TABLE:END -->
@@ -67,7 +67,7 @@ multi-arch inspection, OCI referrers, and gated push/remove) and **Docker Scout*
67
67
  - **Integrated Graph Agent:** Built-in Pydantic AI agent (`dockerhub-agent`) with
68
68
  A2A and AG-UI web interfaces.
69
69
  - **Native Telemetry & Tracing:** Out-of-the-box OpenTelemetry exports and Langfuse
70
- tracing via agent-connector-sdk.
70
+ tracing via scion-sdk.
71
71
 
72
72
  ---
73
73
 
@@ -81,8 +81,8 @@ pip install "dockerhub-api[all]" # everything
81
81
 
82
82
  | Extra | Adds |
83
83
  |---|---|
84
- | `mcp` | FastMCP server (`dockerhub-mcp`) via `agent-connector-sdk` |
85
- | `agent` | Pydantic-AI A2A agent (`dockerhub-agent`) + Logfire via `agent-connector-sdk` |
84
+ | `mcp` | FastMCP server (`dockerhub-mcp`) via `scion-sdk` |
85
+ | `agent` | Pydantic-AI A2A agent (`dockerhub-agent`) + Logfire via `scion-sdk` |
86
86
  | `all` | `mcp` + `agent` |
87
87
  | `test` | pytest toolchain for development |
88
88
 
@@ -112,7 +112,7 @@ agent (`immutable agent digest`) with a co-located `:mcp` sidecar.
112
112
 
113
113
  ### Knowledge-graph database (`epistemic-graph`)
114
114
 
115
- Agent Connector SDK core dependency (`epistemic-graph[full]`). The `[mcp]` extra keeps
115
+ Scion SDK core dependency (`epistemic-graph[full]`). The `[mcp]` extra keeps
116
116
  deployments can use the bundled engine. For production or shared state, run
117
117
  **epistemic-graph as a dedicated database service** and configure the runtime to use it.
118
118
  Deployment recipes (single-node + Raft HA), connection configuration, and architecture
@@ -234,7 +234,7 @@ _9 action-routed tool(s) (default) · 54 verbose 1:1 tool(s). Each is enabled un
234
234
  <!-- MCP-CONFIG-EXAMPLES:START -->
235
235
 
236
236
  > **Install the connector-focused `[mcp]` extra.** Examples use `dockerhub-api[mcp]` to add
237
- > FastMCP / FastAPI through `agent-connector-sdk`; the required Agent Connector SDK core
237
+ > FastMCP / FastAPI through `scion-sdk`; the required Scion SDK core
238
238
  > still carries `epistemic-graph[full]`. The `[agent-runtime]` extra additionally
239
239
  > enables model orchestration.
240
240
 
@@ -476,7 +476,7 @@ network transport, connector ingestion, Arbora delegation, or trace export.
476
476
  | `SCOUTTOOL` | `True` | |
477
477
  | `KGTOOL` | `True` | |
478
478
 
479
- #### Inherited agent-connector-sdk variables (apply to every connector)
479
+ #### Inherited scion-sdk variables (apply to every connector)
480
480
 
481
481
  | Variable | Example | Description |
482
482
  |----------|---------|-------------|
@@ -497,5 +497,5 @@ network transport, connector ingestion, Arbora delegation, or trace export.
497
497
  | `MODEL_ID` | `gpt-4o` | Model id for the agent |
498
498
  | `ENABLE_WEB_UI` | `True` | Serve the AG-UI web interface |
499
499
 
500
- _36 package + 16 inherited variable(s). Auto-generated from `.env.example` + the shared agent-connector-sdk set — do not edit._
500
+ _36 package + 16 inherited variable(s). Auto-generated from `.env.example` + the shared scion-sdk set — do not edit._
501
501
  <!-- ENV-VARS-TABLE:END -->
@@ -100,7 +100,7 @@ def __dir__() -> list[str]:
100
100
  return sorted(list(globals().keys()) + __all__)
101
101
 
102
102
 
103
- from agent_connector_sdk.connector import Connector
103
+ from scion_sdk.connector import Connector
104
104
 
105
105
  from dockerhub_api.api.api_client_registry import RegistryApi
106
106
  from dockerhub_api.api.api_client_scout import ScoutApi
@@ -1,4 +1,4 @@
1
- from agent_connector_sdk import run
1
+ from scion_sdk import run
2
2
 
3
3
  if __name__ == "__main__":
4
4
  run()
@@ -69,7 +69,7 @@ class DockerHubApiAuth(DockerHubApiBase):
69
69
  return envelope
70
70
 
71
71
  def _raise_for_status_envelope(self, envelope: dict[str, Any]) -> None:
72
- from agent_connector_sdk.exceptions import ApiError, AuthError
72
+ from scion_sdk.exceptions import ApiError, AuthError
73
73
 
74
74
  status_code = envelope["status_code"]
75
75
  detail = ""
@@ -19,14 +19,14 @@ import time
19
19
  from typing import Any
20
20
 
21
21
  import httpx
22
- from agent_connector_sdk.exceptions import (
22
+ from scion_sdk.exceptions import (
23
23
  ApiError,
24
24
  AuthError,
25
25
  ParameterError,
26
26
  UnauthorizedError,
27
27
  )
28
- from agent_connector_sdk.tls.profile import ResolvedTLSProfile
29
- from agent_connector_sdk.tls.resolve import resolve_tls_profile
28
+ from scion_sdk.tls.profile import ResolvedTLSProfile
29
+ from scion_sdk.tls.resolve import resolve_tls_profile
30
30
 
31
31
  logger = logging.getLogger(__name__)
32
32
 
@@ -14,7 +14,7 @@ from dataclasses import dataclass
14
14
  from typing import Any
15
15
 
16
16
  import httpx
17
- from agent_connector_sdk.tls.profile import ResolvedTLSProfile
17
+ from scion_sdk.tls.profile import ResolvedTLSProfile
18
18
 
19
19
  from dockerhub_api.api.api_client_base import (
20
20
  JSON_CONTENT_TYPE,
@@ -299,7 +299,7 @@ class RegistryApiBase(DockerHubApiBase):
299
299
  return envelope
300
300
 
301
301
  def _raise_for_status_only(self, repo: str, suffix: str, status_code: int) -> None:
302
- from agent_connector_sdk.exceptions import (
302
+ from scion_sdk.exceptions import (
303
303
  ApiError,
304
304
  AuthError,
305
305
  UnauthorizedError,
@@ -26,10 +26,10 @@ from dataclasses import dataclass
26
26
  from typing import Any
27
27
 
28
28
  import httpx
29
- from agent_connector_sdk.config import setting
30
- from agent_connector_sdk.exceptions import AuthError
31
- from agent_connector_sdk.tls.profile import ResolvedTLSProfile
32
- from agent_connector_sdk.tls.resolve import resolve_tls_profile
29
+ from scion_sdk.config import setting
30
+ from scion_sdk.exceptions import AuthError
31
+ from scion_sdk.tls.profile import ResolvedTLSProfile
32
+ from scion_sdk.tls.resolve import resolve_tls_profile
33
33
 
34
34
  logger = logging.getLogger(__name__)
35
35
 
@@ -59,15 +59,15 @@ _token_managers: dict[tuple, "TokenManager"] = {}
59
59
  def _entitled(namespace: str, names: list[str]) -> list[str]:
60
60
  """Filter ``names`` to the subset the calling identity's Okta/Keycloak groups
61
61
  entitle (CONCEPT:AU-OS.identity.identity-scoped-resource-autoload). Degrades
62
- to the full list if agent-connector-sdk predates the resolver, or if no caller
62
+ to the full list if scion-sdk predates the resolver, or if no caller
63
63
  identity is bound at all (SYSTEM_ACTOR / unauthenticated-local sees all —
64
64
  unchanged from pre-feature behavior, same as every other fleet caller of
65
65
  ``identity_scoped_resources``). A *bound-but-unauthorized* actor still
66
66
  fails closed — only the "nothing to check" case degrades.
67
67
  """
68
68
  try:
69
- from agent_connector_sdk.entitlements import identity_scoped_resources
70
- from agent_connector_sdk.identity import IdentityRequiredError
69
+ from scion_sdk.entitlements import identity_scoped_resources
70
+ from scion_sdk.identity import IdentityRequiredError
71
71
  except Exception:
72
72
  return list(names)
73
73
  try:
@@ -6,7 +6,7 @@ Served live as ``connector://resources``. Regenerate by editing the declarations
6
6
  # ruff: noqa: E501
7
7
  from __future__ import annotations
8
8
 
9
- from agent_connector_sdk.ingest.live_declaration import source_meta
9
+ from scion_sdk.ingest.live_declaration import source_meta
10
10
 
11
11
  SOURCES = (
12
12
  source_meta(
@@ -5,7 +5,7 @@ pushes its data into the ONE epistemic-graph knowledge graph as **typed OWL node
5
5
  (``:Repository``, ``:ContainerImage``, ``:Namespace``, …) + links, matching the classes
6
6
  federated by ``dockerhub_api.ontology``.
7
7
 
8
- This is a thin mapper over ``agent_connector_sdk.ingest`` -- the generated ``SourceIngest``
8
+ This is a thin mapper over ``scion_sdk.ingest`` -- the generated ``SourceIngest``
9
9
  client, not a local ingestion helper. Node ids follow ``dockerhub:<class>:<externalId>``;
10
10
  ``node_type`` on each entity matches a class in ``dockerhub.ttl``.
11
11
  """
@@ -14,7 +14,7 @@ from __future__ import annotations
14
14
 
15
15
  from typing import Any
16
16
 
17
- from agent_connector_sdk.ingest import (
17
+ from scion_sdk.ingest import (
18
18
  ChangeSet,
19
19
  Document,
20
20
  Entity,
@@ -8,7 +8,7 @@ resolution, parameter parsing, secret redaction, and error-envelope helpers.
8
8
  import json
9
9
  from typing import Any
10
10
 
11
- from agent_connector_sdk.exceptions import (
11
+ from scion_sdk.exceptions import (
12
12
  ApiError,
13
13
  AuthError,
14
14
  MissingParameterError,
@@ -3,7 +3,7 @@
3
3
 
4
4
  CONCEPT:DH-OS.audit.action-routed-mcp-surface — action-routed MCP surface. Registers the consolidated,
5
5
  togglable tool modules (hub_auth, hub_repos, hub_org, hub_teams, hub_audit,
6
- hub_scim, hub_admin, hub_registry, hub_scout) on an agent-connector-sdk FastMCP
6
+ hub_scim, hub_admin, hub_registry, hub_scout) on an scion-sdk FastMCP
7
7
  server.
8
8
  """
9
9
 
@@ -1,7 +1,7 @@
1
1
  """Dockerhub ontology contribution (CONCEPT:AU-KG.ontology.federation-provider-leg).
2
2
 
3
3
  Data-only subpackage: it carries ``dockerhub.ttl`` (the ``owl:Ontology``
4
- ``http://knuckles.team/kg/dockerhub`` module) which the agent-connector-sdk hub federates in via
5
- the ``agent_connector_sdk.ontology_providers`` entry-point. It holds no business logic
4
+ ``http://knuckles.team/kg/dockerhub`` module) which the scion-sdk hub federates in via
5
+ the ``scion_sdk.ontology_providers`` entry-point. It holds no business logic
6
6
  and no heavy imports so the hub can resolve it cheaply.
7
7
  """
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "api_version": "graphos.io/v1",
3
3
  "artifacts": {
4
- "dockerhub_api/ontology/dockerhub.ttl": "263d36a1d975b161eb0e479310dc8fe5ac7c6f8977a053479d8e70707af0d858",
4
+ "dockerhub_api/ontology/dockerhub.ttl": "50ec37c493d8f6f39daff410ef8843ef750db178198c8c68e323a05f9640b10d",
5
5
  "dockerhub_api/ontology/fixtures/records.json": "cdf24bdcd53b75daef789c05f93d55ced4ce4a138360a2ff9f1e34c55f8f6da8",
6
6
  "dockerhub_api/ontology/mappings/source.yaml": "84985121b0fe97a045b04a5c40183d434d3d7ca1bca29202080cb390955545a6",
7
7
  "dockerhub_api/ontology/migrations/manifest.json": "81a24f182615e83dc844c6e7f3a211d47705d2bfce4ee45b5c4b24134e64909f",
@@ -29,5 +29,5 @@
29
29
  "signer": "UNSIGNED-PREVIEW",
30
30
  "signing_public_key": "",
31
31
  "status": "source-validated",
32
- "validated_at": "2026-10-26T16:04:54Z"
32
+ "validated_at": "2026-10-31T03:00:02Z"
33
33
  }
@@ -133,7 +133,7 @@
133
133
  rdfs:comment """Docker Hub container-registry model — namespaces and organizations,
134
134
  image repositories, tags and the concrete container images they resolve to (digest,
135
135
  architecture, size), teams and their repository permissions, access tokens, and Docker
136
- Scout vulnerabilities — federated into the agent-connector-sdk knowledge-graph hub.""" .
136
+ Scout vulnerabilities — federated into the scion-sdk knowledge-graph hub.""" .
137
137
 
138
138
  # ontology-codemod R3
139
139
  <http://knuckles.team/kg#ContainerImage> rdfs:subClassOf <http://knuckles.team/kg/infrastructure#ContainerImage> .
@@ -9,7 +9,7 @@ description: >-
9
9
  license: MIT
10
10
  tags: [dockerhub, connector, development, testing, pages, specs]
11
11
  metadata:
12
- author: Genius
12
+ author: Knuckles-Team
13
13
  version: '0.1.0'
14
14
  ---
15
15
  # Docker Hub API Development
@@ -13,7 +13,7 @@ description: >-
13
13
  license: MIT
14
14
  tags: [dockerhub, registry, oci, docker-scout, vulnerabilities, mcp]
15
15
  metadata:
16
- author: Genius
16
+ author: Knuckles-Team
17
17
  version: '0.1.0'
18
18
  ---
19
19
  # Docker Hub Image Registry & Scout
@@ -13,7 +13,7 @@ description: >-
13
13
  license: MIT
14
14
  tags: [dockerhub, organization, teams, tokens, scim, audit, mcp]
15
15
  metadata:
16
- author: Genius
16
+ author: Knuckles-Team
17
17
  version: '0.1.0'
18
18
  ---
19
19
  # Docker Hub Organization Administration
@@ -14,7 +14,7 @@ description: >-
14
14
  license: MIT
15
15
  tags: [dockerhub, repositories, tags, container-registry, mcp]
16
16
  metadata:
17
- author: Genius
17
+ author: Knuckles-Team
18
18
  version: '0.1.0'
19
19
  ---
20
20
  # Docker Hub Repository Management
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dockerhub-api
3
- Version: 1.3.7
3
+ Version: 1.3.9
4
4
  Summary: Docker Hub API + MCP Server
5
5
  Author-email: Repository Maintainers <maintainers@knuckles.team>
6
6
  License: MIT
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3
12
12
  Requires-Python: <3.15,>=3.12
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
- Requires-Dist: agent-connector-sdk[mcp]<0.6.0,>=0.5.4
15
+ Requires-Dist: scion-sdk[mcp]<0.7.0,>=0.6.4
16
16
  Requires-Dist: httpx>=0.28.1
17
17
  Requires-Dist: python-dotenv>=1.2.4
18
18
  Provides-Extra: test
@@ -91,7 +91,7 @@ multi-arch inspection, OCI referrers, and gated push/remove) and **Docker Scout*
91
91
  - **Integrated Graph Agent:** Built-in Pydantic AI agent (`dockerhub-agent`) with
92
92
  A2A and AG-UI web interfaces.
93
93
  - **Native Telemetry & Tracing:** Out-of-the-box OpenTelemetry exports and Langfuse
94
- tracing via agent-connector-sdk.
94
+ tracing via scion-sdk.
95
95
 
96
96
  ---
97
97
 
@@ -105,8 +105,8 @@ pip install "dockerhub-api[all]" # everything
105
105
 
106
106
  | Extra | Adds |
107
107
  |---|---|
108
- | `mcp` | FastMCP server (`dockerhub-mcp`) via `agent-connector-sdk` |
109
- | `agent` | Pydantic-AI A2A agent (`dockerhub-agent`) + Logfire via `agent-connector-sdk` |
108
+ | `mcp` | FastMCP server (`dockerhub-mcp`) via `scion-sdk` |
109
+ | `agent` | Pydantic-AI A2A agent (`dockerhub-agent`) + Logfire via `scion-sdk` |
110
110
  | `all` | `mcp` + `agent` |
111
111
  | `test` | pytest toolchain for development |
112
112
 
@@ -136,7 +136,7 @@ agent (`immutable agent digest`) with a co-located `:mcp` sidecar.
136
136
 
137
137
  ### Knowledge-graph database (`epistemic-graph`)
138
138
 
139
- Agent Connector SDK core dependency (`epistemic-graph[full]`). The `[mcp]` extra keeps
139
+ Scion SDK core dependency (`epistemic-graph[full]`). The `[mcp]` extra keeps
140
140
  deployments can use the bundled engine. For production or shared state, run
141
141
  **epistemic-graph as a dedicated database service** and configure the runtime to use it.
142
142
  Deployment recipes (single-node + Raft HA), connection configuration, and architecture
@@ -258,7 +258,7 @@ _9 action-routed tool(s) (default) · 54 verbose 1:1 tool(s). Each is enabled un
258
258
  <!-- MCP-CONFIG-EXAMPLES:START -->
259
259
 
260
260
  > **Install the connector-focused `[mcp]` extra.** Examples use `dockerhub-api[mcp]` to add
261
- > FastMCP / FastAPI through `agent-connector-sdk`; the required Agent Connector SDK core
261
+ > FastMCP / FastAPI through `scion-sdk`; the required Scion SDK core
262
262
  > still carries `epistemic-graph[full]`. The `[agent-runtime]` extra additionally
263
263
  > enables model orchestration.
264
264
 
@@ -500,7 +500,7 @@ network transport, connector ingestion, Arbora delegation, or trace export.
500
500
  | `SCOUTTOOL` | `True` | |
501
501
  | `KGTOOL` | `True` | |
502
502
 
503
- #### Inherited agent-connector-sdk variables (apply to every connector)
503
+ #### Inherited scion-sdk variables (apply to every connector)
504
504
 
505
505
  | Variable | Example | Description |
506
506
  |----------|---------|-------------|
@@ -521,5 +521,5 @@ network transport, connector ingestion, Arbora delegation, or trace export.
521
521
  | `MODEL_ID` | `gpt-4o` | Model id for the agent |
522
522
  | `ENABLE_WEB_UI` | `True` | Serve the AG-UI web interface |
523
523
 
524
- _36 package + 16 inherited variable(s). Auto-generated from `.env.example` + the shared agent-connector-sdk set — do not edit._
524
+ _36 package + 16 inherited variable(s). Auto-generated from `.env.example` + the shared scion-sdk set — do not edit._
525
525
  <!-- ENV-VARS-TABLE:END -->
@@ -0,0 +1,5 @@
1
+ [console_scripts]
2
+ dockerhub-mcp = scion_sdk.cli:serve
3
+
4
+ [scion_sdk.connector]
5
+ dockerhub-mcp = dockerhub_api:connector
@@ -1,4 +1,4 @@
1
- agent-connector-sdk[mcp]<0.6.0,>=0.5.4
1
+ scion-sdk[mcp]<0.7.0,>=0.6.4
2
2
  httpx>=0.28.1
3
3
  python-dotenv>=1.2.4
4
4
 
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dockerhub-api"
7
- version = "1.3.7"
7
+ version = "1.3.9"
8
8
  description = "Docker Hub 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",]
11
11
  requires-python = ">=3.12, <3.15"
12
- dependencies = [ "agent-connector-sdk[mcp]>=0.5.4,<0.6.0", "httpx>=0.28.1", "python-dotenv>=1.2.4",]
12
+ dependencies = [ "scion-sdk[mcp]>=0.6.4,<0.7.0", "httpx>=0.28.1", "python-dotenv>=1.2.4",]
13
13
  [[project.authors]]
14
14
  name = "Repository Maintainers"
15
15
  email = "maintainers@knuckles.team"
@@ -22,10 +22,10 @@ test = [
22
22
  "pytest-xdist>=3.8.0", "pytest>=9.1.1", "pytest-asyncio>=1.4.0", "pytest-cov>=7.1.0",]
23
23
 
24
24
  [project.scripts]
25
- dockerhub-mcp = "agent_connector_sdk.cli:serve"
25
+ dockerhub-mcp = "scion_sdk.cli:serve"
26
26
 
27
- # The one declared connector identity: the fleet name (SDK-CONNECTOR-CONTROL-R071).
28
- [project.entry-points."agent_connector_sdk.connector"]
27
+ # The one declared connector identity: the fleet name (SCION-CONNECTOR-CONTROL-R071).
28
+ [project.entry-points."scion_sdk.connector"]
29
29
  dockerhub-mcp = "dockerhub_api:connector"
30
30
 
31
31
  [tool.uv.workspace]
@@ -3,7 +3,7 @@
3
3
  import json
4
4
 
5
5
  import pytest
6
- from agent_connector_sdk.exceptions import ParameterError
6
+ from scion_sdk.exceptions import ParameterError
7
7
 
8
8
  from dockerhub_api.dockerhub_input_models import RepositoryCreateModel
9
9
 
@@ -4,7 +4,7 @@ import time
4
4
 
5
5
  import httpx
6
6
  import pytest
7
- from agent_connector_sdk.exceptions import AuthError
7
+ from scion_sdk.exceptions import AuthError
8
8
 
9
9
  from dockerhub_api.auth import TokenManager, decode_jwt_claims, get_client
10
10
  from tests.conftest import BASE_URL, MockHub, make_api, make_jwt
@@ -50,7 +50,7 @@ def mcp_instance(hub, registry, scout, monkeypatch):
50
50
  hub_auth_module, "get_scout_client", lambda **_k: make_scout_api(scout)
51
51
  )
52
52
  monkeypatch.setattr(sys, "argv", ["dockerhub-mcp"])
53
- from agent_connector_sdk.connector import build_server
53
+ from scion_sdk.connector import build_server
54
54
 
55
55
  _, mcp = build_server("dockerhub_api", command_args=[])
56
56
  return mcp
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from agent_connector_sdk.connector_identity import connector_name
5
+ from scion_sdk.connector_identity import connector_name
6
6
  import ast
7
7
  import tomllib
8
8
  from pathlib import Path
@@ -34,7 +34,7 @@ def _call_connectors(path: Path) -> list[str]:
34
34
  @pytest.mark.spec("CONN-DOCKERHUB-API-CONNECTOR-IDENTITY-R001")
35
35
  def test_connector_name_is_the_fleet_name() -> None:
36
36
  pyproject = tomllib.loads((ROOT / "pyproject.toml").read_text(encoding="utf-8"))
37
- assert pyproject["project"]["entry-points"]["agent_connector_sdk.connector"] == {
37
+ assert pyproject["project"]["entry-points"]["scion_sdk.connector"] == {
38
38
  FLEET: "dockerhub_api:connector"
39
39
  }
40
40
  assert connector_name("dockerhub_api") == FLEET
@@ -4,7 +4,7 @@
4
4
  A resolved Docker Hub ``username`` (personal account or org) the caller's
5
5
  identity is not entitled to is denied before ``get_client``/``get_registry_client``
6
6
  mint any token. Tests the enforcement logic with the entitlement source
7
- mocked (the resolver itself is tested in agent-connector-sdk).
7
+ mocked (the resolver itself is tested in scion-sdk).
8
8
  """
9
9
 
10
10
  import pytest
@@ -70,7 +70,7 @@ def test_missing_resolver_degrades_to_allow(monkeypatch):
70
70
  real_import = builtins.__import__
71
71
 
72
72
  def _blocked_import(name, *args, **kwargs):
73
- if name == "agent_connector_sdk.entitlements":
73
+ if name == "scion_sdk.entitlements":
74
74
  raise ImportError("simulated: resolver not available")
75
75
  return real_import(name, *args, **kwargs)
76
76
 
@@ -1,8 +1,8 @@
1
1
  """Native epistemic-graph typed-node ingestion -- Wire-First coverage for dockerhub-api.
2
2
 
3
3
  Exercises the real ``ingest_entities`` / ``ingest_repositories`` / ``ingest_tags`` seam
4
- against a fake ``agent_connector_sdk.ingest`` transport (no engine required). The real
5
- SDK request builder (``agent_connector_sdk.ingest.request.build_request``) still runs,
4
+ against a fake ``scion_sdk.ingest`` transport (no engine required). The real
5
+ SDK request builder (``scion_sdk.ingest.request.build_request``) still runs,
6
6
  so a malformed change set is still caught by the SDK's own contract, not re-derived
7
7
  here; only the final network commit is faked.
8
8
  CONCEPT:AU-KG.ingest.enterprise-source-extractor.
@@ -14,7 +14,7 @@ from types import SimpleNamespace
14
14
  from typing import Any
15
15
 
16
16
  import pytest
17
- from agent_connector_sdk.ingest import IngestError, KnowledgeIngest
17
+ from scion_sdk.ingest import IngestError, KnowledgeIngest
18
18
  from epistemic_graph.generated.source_ingestion import SourceIngestionRequest
19
19
 
20
20
  from dockerhub_api.kg_ingest import (
@@ -31,7 +31,9 @@ class _FakeTransport:
31
31
  self.requests: list[SourceIngestionRequest] = []
32
32
 
33
33
  async def source_status(self, _connector: str, _stream: str) -> Any:
34
- return SimpleNamespace(accepted_checkpoint=None)
34
+ return SimpleNamespace(
35
+ connector=_connector, stream=_stream, accepted_checkpoint=None
36
+ )
35
37
 
36
38
  async def submit(self, request: SourceIngestionRequest) -> Any:
37
39
  self.requests.append(request)
@@ -117,7 +119,9 @@ async def test_ingest_repositories_maps_repo_namespace_and_images(ingest):
117
119
  img_record = next(r for r in request.records if r.record_id == img_id)
118
120
  assert img_record.payload["digest"] == "sha256:abc"
119
121
  assert img_record.payload["architecture"] == "amd64"
120
- relation_refs = {rel.relation_reference.rsplit("/", 1)[-1] for rel in request.relationships}
122
+ relation_refs = {
123
+ rel.relation_reference.rsplit("/", 1)[-1] for rel in request.relationships
124
+ }
121
125
  assert relation_refs == {"inNamespace", "imageOf", "hasImage"}
122
126
 
123
127
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  import httpx
4
4
  import pytest
5
- from agent_connector_sdk.exceptions import (
5
+ from scion_sdk.exceptions import (
6
6
  ApiError,
7
7
  AuthError,
8
8
  ParameterError,
@@ -1,5 +0,0 @@
1
- [agent_connector_sdk.connector]
2
- dockerhub-mcp = dockerhub_api:connector
3
-
4
- [console_scripts]
5
- dockerhub-mcp = agent_connector_sdk.cli:serve
File without changes
File without changes