jadechoghari HF Staff commited on
Commit
98977eb
·
verified ·
1 Parent(s): 1836090

Create env.py

Browse files
Files changed (1) hide show
  1. env.py +37 -0
env.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gymnasium as gym
2
+ from envhub.envs.core.base_env import EnvHubEnv
3
+ from envhub.registry import register_env
4
+
5
+ # MiniWoB imports
6
+ try:
7
+ import miniwob
8
+ except ImportError:
9
+ raise ImportError("Please install MiniWoB: `pip install miniwob`")
10
+
11
+ @register_env("browser/miniwob_click_button")
12
+ def load_env(task: str = "click-button", max_episode_steps: int = 50, **kwargs):
13
+ """
14
+ Loader for a MiniWoB browser interaction environment.
15
+
16
+ Args:
17
+ task (str): MiniWoB task name (e.g., "click-button", "book-flight", "choose-date").
18
+ max_episode_steps (int): maximum number of steps per episode.
19
+ kwargs: additional arguments passed to gym.make()
20
+
21
+ Returns:
22
+ EnvHubEnv: unified environment wrapper.
23
+ """
24
+
25
+ # compose the MiniWoB env ID (e.g. "miniwob/click-button-v1")
26
+ env_id = f"miniwob/{task}-v1"
27
+
28
+ # Make the environment
29
+ env = gym.make(env_id, max_episode_steps=max_episode_steps, **kwargs)
30
+
31
+ # Wrap it as an EnvHubEnv
32
+ return EnvHubEnv(
33
+ env=env,
34
+ name=f"browser/{task}",
35
+ observation_space=env.observation_space,
36
+ action_space=env.action_space,
37
+ )