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,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
|
+
[](https://pypi.org/project/clawhub/) [](https://pypi.org/project/clawhub/) [](https://github.com/commandoperator/cmdop-sdk-python/blob/main/LICENSE)
|
|
28
|
+
|
|
29
|
+

|
|
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
|
+
[](https://pypi.org/project/clawhub/) [](https://pypi.org/project/clawhub/) [](https://github.com/commandoperator/cmdop-sdk-python/blob/main/LICENSE)
|
|
4
|
+
|
|
5
|
+

|
|
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
|