OpenEnv / openenv /scripts /cli.py
mahammadaftab's picture
Initial OpenEnv Email Triage Submission
4b77608
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()