CoolFace
Apppublic

logic27/shipping-env

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
client.cpython-311.pyc100 linesDownload Raw Back to __pycache__
1�

2k��i�
���dZddlmZmZddlmZddlmZddlm	Z	ddl3mZmZGd�d	eeee	f��Z
e
Zd4S)z,Client helpers for the shipping environment.�)�Any�Dict)�	EnvClient)�5StepResult)�State�)�ShippingAction�ShippingObservationc�~�eZdZdZdedeeeffd�Zdeeefde	e6fd�Zdeeefdefd�Z
dS)	�ShippingEnva�7    Client for the shipping environment.8 9    This client maintains a persistent WebSocket connection to the environment server,10    enabling efficient multi-step interactions with lower latency.11    Each client instance has its own dedicated environment session on the server.12 13    Example:14        >>> # Connect to a running server15        >>> with ShippingEnv(base_url="http://localhost:8000") as client:16        ...     result = client.reset()17        ...     print(result.observation.summary)18        ...19        ...     result = client.step(ShippingAction(command="list_tasks"))20        ...     print(result.observation.artifacts)21 22    Example with Docker:23        >>> # Automatically start container and connect24        >>> client = ShippingEnv.from_docker_image("shipping-env:latest")25        >>> try:26        ...     result = client.reset()27        ...     result = client.step(ShippingAction(command="list_tasks"))28        ... finally:29        ...     client.close()30    �action�returnc�z�t|d��r|�d���S|�d���S)z�31        Convert ShippingAction to JSON payload for step message.32 33        Args:34            action: ShippingAction instance35 36        Returns:37            Dictionary representation suitable for JSON encoding38        �39model_dumpT)�exclude_none)�hasattrr�dict)�selfr
s  �-/Users/anmolkoul07/hail-mary/my_env/client.py�
_step_payloadzShippingEnv._step_payload/sA���6�<�(�(�	8��$�$�$�$�7�7�7��{�{��{�-�-�-��payloadc�4�|�di��}t|�dd��|�d��|�dd��|�dg��|�dg��|�d	i��|�d40d��|�d��|�d
i����	�	}t||�d��|�d41d�����S)z�42        Parse server response into StepResult[ShippingObservation].43 44        Args:45            payload: JSON response data from server46 47        Returns:48            StepResult with ShippingObservation49        �observation�summary��active_task_id�phase�task_selection�available_commands�	artifacts�metrics�doneF�reward�metadata)	rrrr r!r"r#r$r%)rr$r#)�getr50r)rr�obs_datars    r�
_parse_resultzShippingEnv._parse_result=s����;�;�}�b�1�1��)��L�L��B�/�/�#�<�<�(8�9�9��,�,�w�(8�9�9�'�|�|�,@�"�E�E��l�l�;��3�3��L�L��B�/�/����V�U�+�+��;�;�x�(�(��\�\�*�b�1�1�5152�5354�5556���#��;�;�x�(�(����V�U�+�+�57�58�59�	60rc�r�t|�d��|�dd�����S)z�61        Parse server response into State object.62 63        Args:64            payload: JSON response from state request65 66        Returns:67            State object with episode_id and step_count68        �69episode_id�70step_countr)r*r+)rr&)rrs  r�_parse_statezShippingEnv._parse_stateZs;����{�{�<�0�0��{�{�<��3�3�71�72�73�	74rN)�__name__�75__module__�__qualname__�__doc__r	r�strrrrr76r(rr,�rrrrs���������4.�N�.�t�C��H�~�.�.�.�.�77�T�#�s�(�^�78�79�CV�8W�80�81�82�83�:
84�D��c��N�
85�u�
86�
87�
88�
89�
90�
91rrN)r0�typingrr�openenv.corer�openenv.core.client_typesr�openenv.core.env_server.typesr�modelsr	r92r�MyEnvr2rr�<module>r9s���3�2���������"�"�"�"�"�"�0�0�0�0�0�0�/�/�/�/�/�/�7�7�7�7�7�7�7�7�U93�U94�U95�U96�U97�
�n�1�5�8�9�U98�U99�U100�r	���r