my_open_env / scripts /interact_with_space.py
ykirpichev's picture
Upload folder using huggingface_hub
f97dc95 verified
Raw
History Blame Contribute Delete
1.53 kB
#!/usr/bin/env python3
"""
Interact with My Open Env running on a Hugging Face Space (or any server).
Usage:
# After pushing, set your Space URL (replace USER with your HF username):
export SPACE_URL="https://USER-my-open-env.hf.space"
uv run python scripts/interact_with_space.py
# Or pass URL as first argument:
uv run python scripts/interact_with_space.py https://USER-my-open-env.hf.space
# Local server:
uv run python scripts/interact_with_space.py http://localhost:8000
"""
import os
import sys
def main() -> None:
base_url = (
os.environ.get("SPACE_URL")
or (sys.argv[1] if len(sys.argv) > 1 else None)
or "http://localhost:8000"
)
if base_url == "http://localhost:8000":
print("Using default base_url: http://localhost:8000")
print("Set SPACE_URL or pass URL as first argument to use your HF Space.\n")
else:
print(f"Connecting to: {base_url}\n")
from my_open_env import MyOpenAction, MyOpenEnv
with MyOpenEnv(base_url=base_url) as env:
result = env.reset()
print(f"Reset: {result.observation.echoed_message}")
for msg in ["Hello from the client!", "Echo test", "Done."]:
result = env.step(MyOpenAction(message=msg))
print(
f" → Sent: '{msg}' → Echo: '{result.observation.echoed_message}' "
f"(length={result.observation.message_length}, reward={result.reward})"
)
print("\nDone.")
if __name__ == "__main__":
main()