def get_morph_client_from_env()

in src/open_r1/utils/competitive_programming/morph_client.py [0:0]


def get_morph_client_from_env(session=None) -> MorphCloudExecutionClient:
    """
    Creates a MorphCloudExecutionClient instance using environment variables.

    Environment variables:
        MORPH_API_KEY: API key for MorphCloud

    Args:
        session: Optional aiohttp.ClientSession to use for HTTP requests

    Returns:
        MorphCloudExecutionClient: A configured MorphCloud execution client
    """
    if not is_morph_available():
        raise ImportError(
            "MorphCloud is not available and required for this function. Please install MorphCloud with "
            "`pip install morphcloud` and add an API key to a `.env` file."
        )

    load_dotenv()
    api_key = os.environ.get("MORPH_API_KEY")
    if not api_key:
        raise ValueError("MORPH_API_KEY environment variable is required")

    return MorphCloudExecutionClient(api_key=api_key)