clawhub 2026.3.2__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.
@@ -0,0 +1,3 @@
1
+
2
+ files/*
3
+ volumes/*
@@ -0,0 +1,78 @@
1
+ Metadata-Version: 2.4
2
+ Name: clawhub
3
+ Version: 2026.3.2
4
+ Summary: ClawHub — skill registry and agent marketplace plugin for CMDOP
5
+ Project-URL: Homepage, https://cmdop.com
6
+ Project-URL: Documentation, https://cmdop.com/docs/sdk/python/
7
+ Project-URL: Repository, https://github.com/commandoperator/cmdop-sdk-python
8
+ Project-URL: Bug Tracker, https://github.com/commandoperator/cmdop-sdk-python/issues
9
+ License: MIT
10
+ Keywords: agent,clawhub,cmdop,marketplace,mcp,openclaw,registry,skills
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
+ Requires-Python: >=3.9
21
+ Requires-Dist: cmdop
22
+ Requires-Dist: pydantic>=2.0
23
+ Description-Content-Type: text/markdown
24
+
25
+ # ClawHub — AI Agent Skill Registry & Marketplace for Python
26
+
27
+ [![PyPI](https://img.shields.io/pypi/v/clawhub.svg)](https://pypi.org/project/clawhub/) [![Python](https://img.shields.io/pypi/pyversions/clawhub.svg)](https://pypi.org/project/clawhub/) [![license](https://img.shields.io/pypi/l/clawhub.svg)](https://github.com/commandoperator/cmdop-sdk-python/blob/main/LICENSE)
28
+
29
+ ![CMDOP Architecture](https://cmdop.com/images/architecture/vs-personal-agent.png)
30
+
31
+ ClawHub serves as an agent skill registry Python developers can leverage as an AI skill marketplace, offering OpenClaw skills and facilitating MCP tool discovery. Unlike alternatives like OpenClaw, ClawHub CLI, MCP, LangChain Hub, and CrewAI Tools, ClawHub focuses on providing a comprehensive agent plugin store for streamlined skill management and integration.
32
+
33
+ ## Features
34
+
35
+ - Browse the agent skill registry Python to find pre-built functionalities.
36
+ - Discover and integrate OpenClaw skills into your AI agents.
37
+ - Utilize the AI skill marketplace to extend agent capabilities.
38
+ - Simplify MCP tool discovery for enhanced agent workflows.
39
+ - Manage agent plugins through a centralized agent plugin store.
40
+
41
+ ## Use Cases
42
+
43
+ - Search and install agent skills from the ClawHub registry
44
+ - Publish custom skills and share them across teams
45
+ - Discover MCP-compatible tools and integrate them into agent workflows
46
+
47
+ ## Installation
48
+
49
+ ```bash
50
+ pip install clawhub
51
+ ```
52
+
53
+ ## Quick Start
54
+
55
+ ```python
56
+ from clawhub import ClawHub
57
+
58
+ client = ClawHub.remote(api_key="cmdop_live_xxx")
59
+
60
+ # Search for skills
61
+ results = client.search("code review")
62
+ print(results)
63
+
64
+ # Install a skill
65
+ client.install("coding-agent", version="latest")
66
+
67
+ # Publish your own skill
68
+ client.publish("./my-skill", private=False)
69
+
70
+ print(client.installed_skills)
71
+ ```
72
+
73
+ ## Links
74
+
75
+ - [CMDOP Homepage](https://cmdop.com)
76
+ - [Documentation](https://cmdop.com/docs/sdk/python/)
77
+ - [clawhub on PyPI](https://pypi.org/project/clawhub/)
78
+ - [GitHub](https://github.com/commandoperator/cmdop-sdk-python)
@@ -0,0 +1,54 @@
1
+ # ClawHub — AI Agent Skill Registry & Marketplace for Python
2
+
3
+ [![PyPI](https://img.shields.io/pypi/v/clawhub.svg)](https://pypi.org/project/clawhub/) [![Python](https://img.shields.io/pypi/pyversions/clawhub.svg)](https://pypi.org/project/clawhub/) [![license](https://img.shields.io/pypi/l/clawhub.svg)](https://github.com/commandoperator/cmdop-sdk-python/blob/main/LICENSE)
4
+
5
+ ![CMDOP Architecture](https://cmdop.com/images/architecture/vs-personal-agent.png)
6
+
7
+ ClawHub serves as an agent skill registry Python developers can leverage as an AI skill marketplace, offering OpenClaw skills and facilitating MCP tool discovery. Unlike alternatives like OpenClaw, ClawHub CLI, MCP, LangChain Hub, and CrewAI Tools, ClawHub focuses on providing a comprehensive agent plugin store for streamlined skill management and integration.
8
+
9
+ ## Features
10
+
11
+ - Browse the agent skill registry Python to find pre-built functionalities.
12
+ - Discover and integrate OpenClaw skills into your AI agents.
13
+ - Utilize the AI skill marketplace to extend agent capabilities.
14
+ - Simplify MCP tool discovery for enhanced agent workflows.
15
+ - Manage agent plugins through a centralized agent plugin store.
16
+
17
+ ## Use Cases
18
+
19
+ - Search and install agent skills from the ClawHub registry
20
+ - Publish custom skills and share them across teams
21
+ - Discover MCP-compatible tools and integrate them into agent workflows
22
+
23
+ ## Installation
24
+
25
+ ```bash
26
+ pip install clawhub
27
+ ```
28
+
29
+ ## Quick Start
30
+
31
+ ```python
32
+ from clawhub import ClawHub
33
+
34
+ client = ClawHub.remote(api_key="cmdop_live_xxx")
35
+
36
+ # Search for skills
37
+ results = client.search("code review")
38
+ print(results)
39
+
40
+ # Install a skill
41
+ client.install("coding-agent", version="latest")
42
+
43
+ # Publish your own skill
44
+ client.publish("./my-skill", private=False)
45
+
46
+ print(client.installed_skills)
47
+ ```
48
+
49
+ ## Links
50
+
51
+ - [CMDOP Homepage](https://cmdop.com)
52
+ - [Documentation](https://cmdop.com/docs/sdk/python/)
53
+ - [clawhub on PyPI](https://pypi.org/project/clawhub/)
54
+ - [GitHub](https://github.com/commandoperator/cmdop-sdk-python)
@@ -0,0 +1,36 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "clawhub"
7
+ version = "2026.3.2"
8
+ description = "ClawHub — skill registry and agent marketplace plugin for CMDOP"
9
+ readme = "README.md"
10
+ license = { text = "MIT" }
11
+ requires-python = ">=3.9"
12
+ keywords = ["clawhub", "cmdop", "openclaw", "skills", "registry", "marketplace", "agent", "mcp"]
13
+ classifiers = [
14
+ "Development Status :: 4 - Beta",
15
+ "Intended Audience :: Developers",
16
+ "License :: OSI Approved :: MIT License",
17
+ "Programming Language :: Python :: 3",
18
+ "Programming Language :: Python :: 3.9",
19
+ "Programming Language :: Python :: 3.10",
20
+ "Programming Language :: Python :: 3.11",
21
+ "Programming Language :: Python :: 3.12",
22
+ "Topic :: Software Development :: Libraries :: Python Modules",
23
+ ]
24
+ dependencies = [
25
+ "cmdop",
26
+ "pydantic>=2.0",
27
+ ]
28
+
29
+ [project.urls]
30
+ Homepage = "https://cmdop.com"
31
+ Documentation = "https://cmdop.com/docs/sdk/python/"
32
+ Repository = "https://github.com/commandoperator/cmdop-sdk-python"
33
+ "Bug Tracker" = "https://github.com/commandoperator/cmdop-sdk-python/issues"
34
+
35
+ [tool.hatch.build.targets.wheel]
36
+ packages = ["src/clawhub"]
@@ -0,0 +1,101 @@
1
+ """
2
+ ClawHub — skill registry and agent marketplace plugin.
3
+
4
+ Themed wrapper around the CMDOP Python SDK (cmdop).
5
+ Docs: https://cmdop.com/docs/sdk/python/
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ from cmdop import CMDOPClient, AsyncCMDOPClient
11
+ from cmdop.exceptions import (
12
+ CMDOPError,
13
+ ConnectionError,
14
+ AuthenticationError,
15
+ TimeoutError,
16
+ )
17
+
18
+ __version__ = "2026.3.2"
19
+ __all__ = ["ClawHub", "AsyncClawHub", "SkillMeta", "InstallResult"]
20
+
21
+
22
+ from pydantic import BaseModel
23
+ from typing import Optional
24
+
25
+
26
+ class SkillMeta(BaseModel):
27
+ """Metadata for a skill retrieved from the registry."""
28
+ name: str
29
+ version: str
30
+ description: str
31
+ author: Optional[str] = None
32
+ downloads: int = 0
33
+
34
+
35
+ class InstallResult(BaseModel):
36
+ """Result of installing a skill from the registry."""
37
+ skill: str
38
+ version: str
39
+ installed: bool
40
+ path: Optional[str] = None
41
+
42
+
43
+ class ClawHub(CMDOPClient):
44
+ """ClawHub — skill registry and agent marketplace plugin.
45
+
46
+ Extends CMDOPClient with themed methods for skill registry and agent marketplace with discovery and publishing.
47
+
48
+ Example::
49
+
50
+ client = ClawHub.remote(api_key="cmdop_live_xxx")
51
+ # ... use themed methods below
52
+ """
53
+
54
+ def __init__(self, *args, **kwargs):
55
+ super().__init__(*args, **kwargs)
56
+ self._installed: list[str] = []
57
+
58
+ def search(self, query: str, limit: int = 10) -> list:
59
+ """Search skills in the registry by keyword."""
60
+ result = self.agent.run(
61
+ f"Search the skill registry for: {query}. Return top {limit} results."
62
+ )
63
+ return result.text
64
+
65
+ def install(self, skill_name: str, version: str = "latest") -> dict:
66
+ """Install a skill from the registry onto the connected machine."""
67
+ result = self.agent.run(
68
+ f"Install skill '{skill_name}@{version}' from the registry"
69
+ )
70
+ self._installed.append(skill_name)
71
+ return {"skill": skill_name, "version": version, "installed": True}
72
+
73
+ def publish(self, path: str, *, private: bool = False) -> dict:
74
+ """Publish a local skill directory to the registry."""
75
+ visibility = "private" if private else "public"
76
+ result = self.agent.run(
77
+ f"Publish skill from '{path}' as {visibility} to the registry"
78
+ )
79
+ return {"path": path, "published": True}
80
+
81
+ @property
82
+ def installed_skills(self) -> list:
83
+ return list(self._installed)
84
+
85
+
86
+ class AsyncClawHub(AsyncCMDOPClient):
87
+ """Async variant of ClawHub.
88
+
89
+ Example::
90
+
91
+ async with AsyncClawHub.remote(api_key="cmdop_live_xxx") as client:
92
+ result = await client.agent.run("hello")
93
+ """
94
+ pass
95
+
96
+
97
+ # Re-export core SDK symbols for convenience
98
+ from cmdop import ( # noqa: F401, E402
99
+ CMDOPClient,
100
+ AsyncCMDOPClient,
101
+ )
File without changes