Spaces:
Sleeping
Sleeping
| 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() | |