Skip to content

Commit daf68a5

Browse files
committed
add from_hub method to base EnvClient
1 parent e7e1928 commit daf68a5

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/core/http_env_client.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,24 @@ def from_docker_image(
105105
# 3. Create and return client instance with provider reference
106106
return cls(base_url=base_url, provider=provider)
107107

108+
@classmethod
109+
def from_hub(cls: Type[EnvClientT], repo_id: str, provider: Optional["ContainerProvider"] = None, **kwargs: Any) -> EnvClientT:
110+
"""
111+
Create an environment client by pulling from a Hugging Face model hub.
112+
"""
113+
114+
if provider is None:
115+
provider = LocalDockerProvider()
116+
117+
if "tag" in kwargs:
118+
tag = kwargs["tag"]
119+
else:
120+
tag = "latest"
121+
122+
base_url = f"registry.hf.space/{repo_id.replace('/', '-')}:{tag}"
123+
124+
return cls.from_docker_image(image=base_url, provider=provider)
125+
108126
@abstractmethod
109127
def _step_payload(self, action: ActT) -> dict:
110128
"""Convert an Action object to the JSON body expected by the env server."""

0 commit comments

Comments
 (0)