OpenEnv / openenv /scripts /cli.py
mahammadaftab's picture
Initial OpenEnv Email Triage Submission
4b77608
Raw History Blame Contribute Delete
1.57 kB
import argparse
import sys
from openenv.core.env import OpenEnv
from openenv.core.config import EnvConfig
from openenv.core.models import Observation, Action, Reward, EnvState
def main():
parser = argparse.ArgumentParser(description="OpenEnv CLI")
subparsers = parser.add_subparsers(dest="command")
val_parser = subparsers.add_parser("validate", help="Validate the OpenEnv implementation")
args = parser.parse_args()
if args.command == "validate":
print("Validating OpenEnv Spec Compliance...")
try:
config = EnvConfig(task_level="easy", verbose=False)
env = OpenEnv(config=config)
# 1. Test reset
obs, info = env.reset()
assert isinstance(obs, Observation), "reset() must return an Observation model"
# 2. Test step
act = Action(action_type=0)
obs, reward, terminated, truncated, info = env.step(act)
assert isinstance(obs, Observation), "step() must return an Observation model"
assert isinstance(reward, float), "step() must return float reward"
# 3. Test state
state = env.state()
assert isinstance(state, EnvState), "state() must return an EnvState model"
print("Validation Passed! Environment is OpenEnv-compliant.")
sys.exit(0)
except Exception as e:
print(f"Validation Failed: {e}")
sys.exit(1)
if __name__ == "__main__":
main()