Team Ai
Apppublic

Shivam249/function-gemma

sourceHugging Faceupdated 10mo agoView on Hugging Face
0likes
utils.cpython-312.pyc230 linesDownload Raw Back to __pycache__
1�

2jUIi�b���ddlZddlZddlZddlZddlZddlmZmZddlmZddl	m3Z4ddlmZddl
Z
ddlZddlZddlmZerddlmZddlmZgd	�Ze5e�j4d6zZdeeeffd�Zd
eede eeeffd�Z!de"fd�Z#de7fd�Z$e$�Z%e%dzZ&e%dzZ'dedefd�Z(dFdeededzdefd�Z)d�Z*d�Z+deedeeeffd�Z,deddfd�Z-dedzdedzde edzedzffd�Z.d�Z/d �Z0gd!�Z1deefd"�Z2	dFd#eed$e"d%eedzdeeeffd&�Z3	dFd'ejhd(ed)ed*edzd+e e5dze5dzfdzde ejhe e5e5fdzffd,�Z6d
eedeefd-�Z7d
eedeeeeffd.�Z8d/d0de9dzfd1�Z:dFded
ed2edefd3�Z;d4�Z<d5�Z=	dGd6ededzd7ed8e"def8d9�Z>d:eddfd;�Z?d<�Z@dedzfd=�ZAd>eed?eedzdeefd@�ZBdefdA�ZCedB�C�dDedzdefdE��ZDy)H�N)�datetime�timezone)�	lru_cache)�Path)�
TYPE_CHECKING)�HF_HOME)�CommitScheduler)�DummyCommitScheduler)�project�run�	timestamp�step�time�metrics�assets�returnc��tjjddt�d��}tjjddt�d��}||d�S)z9Get logo URLs from environment variables or use defaults.�TRACKIO_LOGO_LIGHT_URLz/gradio_api/file=z(/trackio_logo_type_light_transparent.png�TRACKIO_LOGO_DARK_URLz'/trackio_logo_type_dark_transparent.png)�light�dark)�os�environ�get�TRACKIO_LOGO_DIR)�	light_url�dark_urls  �8/usr/local/lib/python3.12/dist-packages/trackio/utils.py�
get_logo_urlsrsY���9�10��� �11�,�-�-U�V��I��z�z�~�~��12�,�-�-T�U��H���1�1�rc���
�tjjdd�}|j�sg�
n>|j	d�D�cgc]#}|j�s�|j���%c}�
dt13dtttt14ff�
fd�}i}|D]�}d|vr$d|vrgid	�|d<|dd15j|��+|j	d�}|d}||vrgid	�||<t|�dk(r||d16j|��s|d
}|||dvrg||d|<||d|j|���|j�D]9}	|	d17j|��|	dD]}18|	d|19j|����;d|vr|dd20s|d=dt21dttt22ff�
fd�}t|j�|��}||fScc}w)z�23    Order metrics based on TRACKIO_PLOT_ORDER environment variable and group them.24 25    Args:26        metrics: List of metric names to order and group27 28    Returns:29        Tuple of (ordered_group_names, grouped_metrics_dict)30    �TRACKIO_PLOT_ORDER��,�metricrc����	std�td�|fSd|vr|jd�dnd}t�	�}|}t�	�D](\}}d|vr|jd�dnd}||k(s�&|}n|}t�	�D]N\}}||k(r|}nB|j	d�s�!||k(s�'|dd}|j|dz�s�A|t�	�z}�P|||fS)N�inf�/r�chartsz/*�����)�float�split�len�	enumerate�endswith�31startswith)32r%�group_prefix�no_match_priority�group_priority�i�pattern�
pattern_group�within_group_priority�pattern_prefix�33plot_orders34         �r�get_metric_priorityz=order_metrics_by_plot_preference.<locals>.get_metric_priority8s�����%�L�%��,��7�7�/2�f�}�v�|�|�C�(��+�(���35�O��*��#�J�/�J�A�w�58�G�^�G�M�M�#�.�q�1��M���,�!"���	0�!2��#�J�/�J�A�w��&� �()�%���!�!�$�'�,A�EV�,V�!(��"����$�$�^�c�%9�:�,-��J��,?�)�0�� 5�v�>�>r r(r))�direct_metrics�	subgroupsr;r��r<)�key�36group_namec����s
td�|fSt��}t��D]1\}}d|vr|jd�dnd}||k(s�&t	||�}�3||fS)Nr'r(rr))r+r-r.r,�min)r@�min_priorityr4r5r6r9s     �r�get_group_priorityz<order_metrics_by_plot_preference.<locals>.get_group_prioritymsm�����%�L�*�-�-��:���#�J�/�J�A�w�58�G�^�G�M�M�#�.�q�1��M��37�*�"�<��3��0��j�)�)r )rrr�stripr,�str�tuple�int�appendr-�values�sort�sorted�keys)r�plot_order_env�itemr:�resultr%�parts�main_prefix�	subprefix�38group_data�
subgroup_namerD�ordered_groupsr9s             @r� order_metrics_by_plot_preferencerW&s����Z�Z�^�^�$8�"�=�N����!��39�&4�%9�%9�#�%>�40�%>�T�$�*�*�,�D�J�J�L�%>�41�42�?�C�?�E�#�s�C�-�,@�?�4�F����f���v�%�68�r�#J��x� ��8��-�.�5�5�f�=��L�L��%�E���(�K��&�(�9;�"�&M��{�#��5�z�Q���{�#�$4�5�<�<�V�D�!�!�H�	��F�;�$7��$D�D�BD�F�;�'��4�Y�?��{�#�K�0��;�B�B�6�J�!�$�m�m�o�43��#�$�)�)�.A�)�B�'��4�M��{�#�M�2�7�7�<O�7�P�5�&�44�6��&��"2�3C�"D��8��	*�s�	*�u�S�#�X��	*��F�K�K�M�/A�B�N��6�!�!��M45s�G�Gc�F�tjjd�dk(S)N�PERSISTANT_STORAGE_ENABLED�true�rrr�r r�persistent_storage_enabledr]}s��46�47�48���3�4��>�r c���t�rtd�Stjj	d�r(ttjj	d��Stt49�dzS)Nz
/data/trackio�TRACKIO_DIR�trackio)r]rrrrrr\r r�_get_trackio_dirra�sJ��!�#��O�$�$�	�����
�	&��B�J�J�N�N�=�1�2�2���=�9�$�$r �media�filesrc���t|�d�z}|j�r|j�j�St	j50d�}tj
dd��|j|�|S)Nz.hash�T)�parents�exist_ok)r_�exists�	read_textrE�secrets�
token_urlsafe�mkdir�51write_text)r�	hash_path�52hash_values   r�get_or_create_project_hashrp�sn����	��/�/�I������"�"�$�*�*�,�,��&�&�q�)�J����d�T��2�
����$��r �53used_names�space_idc��|�.t�}ttj��}|�d|��Sgd�}gd�}d}|d�d|d�d|��}||vr6|dz
}||t|�z}||t|�z}	|�d|	�d|��}||vr�6|S)z�54    Generates a random, readable name like "dainty-sunset-0".55    If space_id is provided, generates username-timestamp format instead.56    �-)[�dainty�brave�calm�eager�fancy�gentle�happy�jolly�kind�lively�merry�nice�proud�quick�hugging�silly�tidy�witty�zealous�bright�shy�bold�clever�daring�elegant�faithful�graceful�honest�	inventive�jovial�keen�lucky�modest�noble�57optimistic�patient�quirky�resourceful�sincere�58thoughtful�upbeat�valiant�warm�youthful�zesty�adventurous�breezy�cheerful�59delightful�	energetic�fearless�glad�hopeful�imaginative�joyful�kindly�luminous�60mysterious�neat�outgoing�playful�radiant�spirited�tranquil�unique�vivid�wise�zany�artful�bubbly�charming�dazzling�earnest�festive�gentlemanly�hearty�intrepid�jubilant�knightlyr~�magnetic�nimble�orderly�peacefulzquick-witted�robust�sturdy�trusty�61upstanding�vibrant�	whimsical)\�sunset�forest�river�mountain�breeze�meadow�ocean�valley�sky�field�cloud�star�rain�leaf�stone�flower�bird�tree�wave�trail�island�desert�hill�lake�pond�grove�canyon�reef�bay�peak�glade�marsh�cliff�dune�spring�brook�cave�plain�ridge�wood�blossom�petal�root�branch�seed�acorn�pine�willow�cedar�elm�falcon�eagle�sparrow�robin�owl�finch�heron�crane�duck�swan�fox�wolf�bear�deer�moose�otter�beaver�lynx�hare�badger�	butterfly�bee�ant�beetle�	dragonfly�firefly�ladybug�moth�spider�worm�coral�kelp�shell�pebble�face�boulder�cobble�sand�wavelet�tide�current�mistrr>)�_get_default_namespacerHrr-)62rqrr�usernamer
�63adjectives�nouns�number�name�	adjective�nouns64          r�generate_readable_namer2�s���65��)�+����	�	��$�	���1�Y�K�(�(�\�J�z]
�E�|�F���m�_�A�e�A�h�Z�q���1�D�66�*�67��!����v��J��7�8�	��V�c�%�j�(�)����A�d�V�1�V�H�-��	�*�68�69�Kr c��	ddlm}|��1|�jjdvxsdt	|��vS	y#t70$rYywxYw)zU71    Detect if code is running in a notebook environment (Jupyter, Colab, etc.).72    r��get_ipython)�ZMQInteractiveShell�Shellzgoogle.colabF)�IPythonr5�	__class__�__name__rF�ImportErrorr4s r�is_in_notebookr<hsi��	
�'��=�$��=�*�*�3�3�8��6� �3�{�}�#5�5�
6�%����
���
�s�=A�	A�
Ac�r�		tjd��#ttf$rt	d�YywxYw)Ng�������?z:Keyboard interruption in main thread... closing dashboard.)r�sleep�KeyboardInterrupt�OSError�printr\r r�*block_main_thread_until_keyboard_interruptrBys:��L���J�J�s�O����w�'�L�
�J�K�L�s��6�6�columnsc���i}t�}|D]]}tjdd|�}|r|ddn
dt|���}|}d}||vr|�d|��}|dz
}||vr�|||<|j	|��_|S)z�73    Simplifies column names to first 10 alphanumeric or "/" characters with unique suffixes.74 75    Args:76        columns: List of original column names77 78    Returns:79        Dictionary mapping original column names to simplified names80    z
[^a-zA-Z0-9/]r#N�81�col_r>�_)�set�re�subr-�add)rC�simplified_namesrq�col�alphanumeric�	base_name�82final_name�suffixs        r�simplify_column_namesrR�s�������J����v�v�.��C�8��)5�L��"�%�T�#�j�/�AR�;S�	��83����J�&�%�;�a��x�0�J��a�K�F��J�&�!+�������z�"���r c�n�d}d}d}td�t|�|�d|�d|���td|�d��y	)84z�85    Prints instructions for viewing the Trackio dashboard.86 87    Args:88        project: The name of the project to show dashboard for.89    zzzz-* View dashboard by running in your terminal:ztrackio show --project "�"z1* or by running in Python: trackio.show(project="z")N)rA)r�ORANGE�BOLD�RESETs    r�print_dashboard_instructionsrX�sL���F��D��E�	�909�:�	�T�F�6�(�2�7�)�1�U�G�91D�E�	�=�g�Y�b�92I�Jr �93dataset_idc�x�|�d|vrt�}|�d|��}|�d|vrt�}|�d|��}|�|�|�d�}||fS)z�94    Preprocesses the Space and Dataset names to ensure they are valid "username/space_id" or "username/dataset_id" format.95    r(z-dataset)r*)rrrYr+s   r� preprocess_space_and_dataset_idsr[�sp�����8� 3�)�+���Z�q��96�+����#�Z�"7�)�+�� �z��:�,�/�97���98� 2� �z��*�99��Z��r c#�.K�d\}}	|��|||z}}��w)z6Generator for Fibonacci backoff: 1, 1, 2, 3, 5, 8, ...)r>r>r\)�a�bs  r�fibor_�s)�����D�A�q�100����!�a�%�1���s�c��|rtj|�ry	tj|j	dd��}|j101� |j	tj��}tjtj�}||z102}t|j��}|dkry|dkr|dz}|�d|d	k7rd103nd�d�S|d
kr|dz}|�d|d	k7rd104nd�d�S|d
z}|�d|d	k7rd105nd�d�S#t$rYywxYw)zDConvert ISO timestamp to human-readable format like '3 minutes ago'.�Unknown�Zz+00:00)�tzinfo�<zJust nowiz minuter>�sr#z agoi�Qz hourz day)�pd�isnar�
fromisoformat�replacercr�utc�nowrH�
total_seconds�	Exception)�
timestamp_str�created_timerk�diff�seconds�minutes�hours�dayss        r�format_timestampru�s!���B�G�G�M�2����-�-�m�.C�.C�C��.R�S�����&�'�/�/�x�|�|�/�D�L��l�l�8�<�<�(���\�!���d�(�(�*�+���R�<��
�t�^���m�G��Y�g�W��\�c�r�%B�$�G�G�
�u�_��t�O�E��W�E��!��#��!<�D�A�A��e�#�D��V�4�t�q�y��b�9��>�>������s$�BC8�2C8�C8�$C8�8	D�D)106z#A8769Bz#E89957z#3B82F6z#10B981z#EF4444z#8B5CF6z#14B8A6z#F59E0Bz#EC4899z#06B6D4c��tjjd�}|r-|jd�D�cgc]}|j	���c}St107Scc}w)z?Get the color palette from environment variable or use default.�TRACKIO_COLOR_PALETTEr$)rrrr,rE�DEFAULT_COLOR_PALETTE)�env_palette�colors  r�get_color_paletter{�sL���*�*�.�.�!8�9�K��+6�+<�+<�S�+A�B�+A�%����
�+A�B�B� � ��Cs�A�runs�	smoothing�
color_palettec��|�108t�}i}t|�D].\}}||t|�z}|r|dz||<|||�d�<�*|||<�0|S)z_Generate color mapping for runs, with transparency for original data when smoothing is enabled.�4D�	_smoothed)r{r.r-)r|r}r~�	color_mapr4r�109base_colors       r�get_color_mappingr��sp����)�+�
��I��D�/���3�"�1�s�=�'9�#9�:�110��'�$�.�I�c�N�+5�I���Y�'�(�'�I�c�N�"��r �df�x�yrz�x_limc����|jr|�|dxsd|dxsdf}||fS�|g}|�||jvr|j|�||j�}|�j	�}|�j�}|�|\}}	|�|}|	�|}	||	f}111nd}112d}|� ||jvr|j
|�}nd|fg}g}
|D�]o\}}|jr�|j��}|113�N|114\}}	||�|kjd�}||�|	kDjd�}||�|k\|�|	kz}n*dx}}|�j	�}|�j�}	|�5|js)|
j|jj��|�5|js)|
j|jj��|jr��||	k(rR||j�}||j�}||k7r|
j||g�n|
j|���rt|�dkr+|
j|jj�����t!j"||	|dz�}t%j&|�|dd��|d	<|d	j)�j+�D]h}||d	|k(}|jr�||j�}||j�}|
j|�||k7s�X|
j|��j��rt-t/|
��}|j0|j�}|�C|j
|d�115�|jj3�fd��j5d��}n!|j��j5d��}|j7d	gd
��}||116fS)a117    Downsample the dataframe to reduce the number of points plotted.118    Also updates the x-axis limits to the data min/max if either of the x-axis limits are None.119 120    Args:121        df: The dataframe to downsample.122        x: The column name to use for the x-axis.123        y: The column name to use for the y-axis.124        color: The column name to use for the color.125        x_lim: The x-axis limits to use.126 127    Returns:128        A tuple containing the downsampled dataframe and the updated x-axis limits.129    Nrr>�di�FT)�bins�labels�include_lowest�bin)rKc�&��|j��S�N)�sort_values)�groupr�s �r�<lambda>zdownsample.<locals>.<lambda>�s����!2�!2�1�!5r )�drop�ignore)rC�errors)�emptyrCrI�copyrB�max�groupbyr��tail�head�extend�index�tolist�idxmin�idxmaxr-�np�linspacerf�cut�dropnar��listrH�loc�apply�reset_indexr�)r�r�r�rzr��columns_to_keep�130data_x_min�131data_x_max�x_min�x_max�
updated_x_lim�n_bins�groups�downsampled_indicesrG�group_df�before_point�after_point�	min_y_idx�	max_y_idxr��bin_idx�bin_data�unique_indices�downsampled_dfs `                       r�132downsampler�s����*133�x�x����1�X�]��E�!�H�M��2�E��5�y���!�f�O���U�b�j�j�0����u�%�	�O�	�	!�	!�	#�B��A�����J��A�����J������u��=��E��=��E����
��
�
�F���U�b�j�j�0����E�"����*��������8��>�>���'�'��*���$�(�L�E�5�#�H�Q�K�%�$7�8�=�=�a�@�L�"�8�A�;��#6�7�<�<�Q�?�K���!���!5�(�1�+��:N� O�P�H�)-�-�L�;��Q�K�O�O�%�E��Q�K�O�O�%�E��#�L�,>�,>��&�&�|�'9�'9�'@�'@�'B�C��"�;�+<�+<��&�&�{�'8�'8�'?�'?�'A�B��>�>���E�>� ���*�*�,�I� ���*�*�,�I��I�%�#�*�*�I�y�+A�B�#�*�*�9�5���x�=�3���&�&�x�~�~�'<�'<�'>�?���{�{�5�%��!��4���&�&��Q�K�d�5��134���� ���-�-�/�6�6�8�G�����7� :�;�H��~�~�� ���*�*�,�I� ���*�*�,�I��&�&�y�1��I�%�#�*�*�9�5�9�U�l�#�1�2�3�N��V�V�N�+�0�0�2�N����"�"�5�u�"�5�n�6L�6L�M�
�U�5�
6�
�[�d�[�
#�	�(�3�3�A�6�B�B��B�M��#�(�(�%���(�J�N��=�(�(r c���t|�}g}d|vr|j|d�t|j��D]}|dk7s�	|j||��|S)a�135    Sort metrics by grouping prefixes together for dropdown/list display.136    Metrics without prefixes come first, then grouped by prefix.137 138    Args:139        metrics: List of metric names140 141    Returns:142        List of metric names sorted by prefix143 144    Example:145    Input: ["train/loss", "loss", "train/acc", "val/loss"]146    Output: ["loss", "train/acc", "train/loss", "val/loss"]147    r))�group_metrics_by_prefixr�rLrM)rr�rPr@s    r�sort_metrics_by_prefixr��sa��%�W�
-�F�
�F��6���
�
�f�X�&�'��V�[�[�]�+�148���!��M�M�&��,�-�,��Mr c��g}g}|D])}d|vr|j|��|j|��+|j�i}|D]3}|jd�d}||vrg||<||j|��5|D]}||j��i}|r||d<t|j	��D]149}||||<�|S)a�150    Group metrics by their prefix. Metrics without prefix go to 'charts' group.151 152    Args:153        metrics: List of metric names154 155    Returns:156        Dictionary with prefix names as keys and lists of metrics as values157 158    Example:159        Input: ["loss", "accuracy", "train/loss", "train/acc", "val/loss"]160        Output: {161            "charts": ["loss", "accuracy"],162            "train": ["train/loss", "train/acc"],163            "val": ["val/loss"]164        }165    r(rr))rIrKr,rLrM)r�	no_prefix�with_prefixr%�
prefix_groups�prefixr�s       rr�r��s���$�I��K����&�=����v�&����V�$�	��N�N���M������c�"�1�%����&�$&�M�&�!��f��$�$�V�,�	� ���f��"�"�$� ��F��$��x����+�+�-�.��&�v�.��v��/��Mr �	schedulerz&CommitScheduler | DummyCommitSchedulerc�|�t|dd�r/tj�|jz166}t|dz�Sy)zhGet the sync status from the CommitScheduler in an integer number of minutes, or None if not synced yet.�last_push_timeNrd)�getattrrr�rH)r��	time_diffs  r�get_sync_statusr��s<����#�T���I�I�K�)�":�":�:�	��9�r�>�"�"�r �
selected_runsc��tjjdd�}|syg}|r|jd|���|r$|j	�r|jd|���|r%dj|�}|jd|���|jd�|jd�d	j|�}d167|�d|��}d|�d
�S)z9Generate the embed iframe code based on current settings.�168SPACE_HOSTr#�project=zmetrics=r$zruns=zsidebar=hiddenz
navbar=hidden�&zhttps://�?z
<iframe src="z9" style="width:1600px; height:500px; border:0;"></iframe>)rrrrIrE�join)rrr��169space_host�params�170runs_param�query_string�	embed_urls        r�generate_embed_coder��s���������b�1�J���
�F���
�
���	�*�+��7�=�=�?��
�
���	�*�+���X�X�m�,�171��
�
��j�\�*�+�172�M�M�"�#�173�M�M�/�"��8�8�F�#�L��:�,�a��~�6�I�
�9�+�%^�_�_r c���t|t�s|Si}|j�D]�\}}t|t�rCt	j174|�r
|dkDrdnd||<�8t	j|�rd||<�S|||<�Yt|tj�rNt|�}t	j175|�r
|dkDrdnd||<��t	j|�rd||<��|||<��|||<��|S)aW176    Serialize infinity and NaN values in metrics dict to make it JSON-compliant.177    Only handles top-level float values.178 179    Converts:180    - float('inf') -> "Infinity"181    - float('-inf') -> "-Infinity"182    - float('nan') -> "NaN"183 184    Example:185        {"loss": float('inf'), "accuracy": 0.95} -> {"loss": "Infinity", "accuracy": 0.95}186    r�Infinity�	-Infinity�NaN)	�187isinstance�dict�itemsr+�math�isinf�isnanr��floating)rrPr?�value�	float_vals     r�serialize_valuesr��s����g�t�$���
�F��m�m�o�188��U��e�U�#��z�z�%� �,1�A�I�j�;��s�����E�"�#��s��#��s��
��r�{�{�
+��e��I��z�z�)�$�,5��M�j�{��s�����I�&�#��s��'��s���F�3�K�#&�$�Mr c���t|t�s|Si}|j�D]F\}}|dk(rtd�||<�|dk(rtd�||<�.|dk(rtd�||<�B|||<�H|S)aS189    Deserialize infinity and NaN string values back to their numeric forms.190    Only handles top-level string values.191 192    Converts:193    - "Infinity" -> float('inf')194    - "-Infinity" -> float('-inf')195    - "NaN" -> float('nan')196 197    Example:198        {"loss": "Infinity", "accuracy": 0.95} -> {"loss": float('inf'), "accuracy": 0.95}199    r�r'r�z-infr��nan)r�r�r�r+)rrPr?r�s    r�deserialize_valuesr�%sz���g�t�$���
�F��m�m�o�200��U��J����,�F�3�K�
�k�
!���-�F�3�K�
�e�^���,�F�3�K��F�3�K�&��Mr �base_url�write_token�footerc��g}|r|jd|���|jd|���|s|jd�|dzdj|�zS)Nr�zwrite_token=zfooter=falser�r�)rIr�)r�rr�r�r�s     r�get_full_urlr�BsY���F���
�
���	�*�+�201�M�M�L��
�.�/���
�
�n�%��c�>�C�H�H�V�,�,�,r �urlc�\�	ddlm}m}|d|�d��}||�y#t$rYywxYw)Nr)�HTML�displayz<div><iframe src="z�" width="100%" height="1000px" allow="autoplay; camera; microphone; clipboard-read; clipboard-write;" frameborder="0" allowfullscreen></iframe></div>)�IPython.displayr�r�r;)r�r�r��202embed_codes    r�embed_url_in_notebookr�NsC��
�1�� ���&{�
|�203�204�	�205����
��
�s��	+�+c206��t|tttttd�f�r|St|tj�r|j�St|t�r6|j�D��cic]\}}t|�t|���c}}St|tttf�r|D�cgc]
}t|���c}St|d�r.t!|j"�rt|j#��St|d�rPt%|�j�D��cic]+\}}|j'd�st|�t|���-c}}St|�Scc}}wcc}wcc}}w)N�to_dict�__dict__rG)r�rFrHr+�bool�typer��genericrOr�r��to_json_safer�rGrH�hasattr�callabler��varsr0)�obj�k�vs   rr�r�Zs-���#��S�%��t�D�z�:�;��207��#�r�z�z�"��x�x�z���#�t��47�I�I�K�@�K�D�A�q��A���Q��'�K�@�@��#��e�S�)�*�),�-��A��Q���-�-��s�I��8�C�K�K�#8��C�K�K�M�*�*��s�J���S�	���)�208�)���1��<�<��$�
��F�L��O�#�)�209�	210�211�s�8�O��A��-��212s�:E2�<E8�30E=c�@�tjjd�S)z[213    Get the space ID ("user/space") if Trackio is running in a Space, or None if not.214    �SPACE_IDr[r\r r�	get_spacerns���:�:�>�>�*�%�%r r��subsetc�T�t|xsg�}|D�cgc]	}||vs�|��c}Scc}wr�)rH)r�r�215subset_setrOs    r�ordered_subsetrus/���V�\�r�"�J�"�9�U�T�d�j�&8�D�U�9�9��9s�	%�%c�F�tj�}t|�dS)zuGet the default namespace (username).216 217    This function uses caching to avoid repeated API calls to /whoami-v2.218    r/)�huggingface_hub�	get_token�_cached_whoami��tokens rr*r*zs"��219
�%�%�'�E��%� ��(�(r � )�maxsizerc�.�tj|��S)Nr
)r220�whoamir
s rrr�s���!�!��.�.r r�)T)Er�rrIrjrrr�	functoolsr�pathlibr�typingrr221�numpyr��pandasrf�huggingface_hub.constantsr�trackio.commit_schedulerr	�trackio.dummy_commit_schedulerr222�
RESERVED_KEYS�__file__�parentrr�rFrr�rGrWr�r]rar_�	MEDIA_DIR�	FILES_DIRrpr2r<rBrRrXr[r_rurxr{r��	DataFramer+r�r�r�rHr�r�r�r�r�r�r�rrr*rr\r r�<module>r!s����	�	���'��� ����-��8�C�J�
���>�(�(�8�3��2232�t�C��H�~�2242�T"�d�3�i�T"�E�$�s�)�T�/�<R�T"�n�D��%�$�%�� ���'�!�	��'�!�	������K�t�C�y�K�C�$�J�K�RU�K�\�"L��4��9���c�3�h���:
K�#�
K�$�
K�  ��D�j� �&)�D�j� �225�3��:�s�T�z�!�"� �"��:��!�4��9�!�IM��226�s�)�� $��59�#�Y��5E��	�#�s�(�^��47;�z)�227���z)�228�z)��z)���:�	z)�229����u�t�|�+�,�t�3�z)��2�<�<��u�e�|�,�t�3�3�4�
z)�z�D��I��$�s�)��8.�T�#�Y�.�4��T�#�Y��3G�.�b�G��C�RV�J��`��`�s�`�4�`�SV�`�6#�L�<JN�	-��	-��$�J�	-�58�	-�BF�	-��	-�	
�s�	
�t�	
��(&�3��:�&�:�$�s�)�:�T�#�Y��-=�:�$�s�)�:�230)��)��2��/�#��*�/��/��/r