
    bi                    |   d Z ddlmZ ddlmZmZmZmZ ddlm	Z	m
Z
 erddlmZ ddlmZ ddlmZmZ  ed      Zg d	Z G d
 de
e	   ee	         Z G d dee	   ee	         Z G d de
e	   ee	         Z G d de
e	   ee	         Z G d de
e	   ee	         Z G d de
e   ee         Z G d de
e	   ee	         Zy)z1`Expr` and `Series` namespace accessor protocols.    )annotations)TYPE_CHECKINGClassVarProtocolTypeVar)CompliantT_co_StoresCompliant)Callable)Accessor)NonNestedLiteralTimeUnitT)CatNamespaceDateTimeNamespaceListNamespaceNameNamespaceNamespaceAccessorStringNamespaceStructNamespacec                      e Zd ZU ded<   y)r   ClassVar[Accessor]	_accessorN)__name__
__module____qualname____annotations__     \/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/narwhals/_compliant/any_namespace.pyr   r      s    !!r   r   c                  $    e Zd ZU dZded<   ddZy)r   catr   r   c                     y Nr   selfs    r   get_categorieszCatNamespace.get_categories#       r   Nreturnr   )r   r   r   r   r   r&   r   r   r   r   r       s    $)I!)2r   r   c                      e Zd ZU dZded<   ddZddZddZddZd dZ	d d	Z
d d
Zd dZd dZd dZd dZd dZd dZd dZd dZd dZd dZd dZd dZd dZd dZd!dZd"dZy)#r   dtr   r   c                     y r#   r   r%   formats     r   	to_stringzDateTimeNamespace.to_string)   r'   r   c                     y r#   r   r%   	time_zones     r   replace_time_zonez#DateTimeNamespace.replace_time_zone*   r'   r   c                     y r#   r   r1   s     r   convert_time_zonez#DateTimeNamespace.convert_time_zone+   r'   r   c                     y r#   r   )r%   	time_units     r   	timestampzDateTimeNamespace.timestamp,   r'   r   c                     y r#   r   r$   s    r   datezDateTimeNamespace.date-   r'   r   c                     y r#   r   r$   s    r   yearzDateTimeNamespace.year.   r'   r   c                     y r#   r   r$   s    r   monthzDateTimeNamespace.month/   r'   r   c                     y r#   r   r$   s    r   dayzDateTimeNamespace.day0   r'   r   c                     y r#   r   r$   s    r   hourzDateTimeNamespace.hour1   r'   r   c                     y r#   r   r$   s    r   minutezDateTimeNamespace.minute2   r'   r   c                     y r#   r   r$   s    r   secondzDateTimeNamespace.second3   r'   r   c                     y r#   r   r$   s    r   millisecondzDateTimeNamespace.millisecond4   r'   r   c                     y r#   r   r$   s    r   microsecondzDateTimeNamespace.microsecond5   r'   r   c                     y r#   r   r$   s    r   
nanosecondzDateTimeNamespace.nanosecond6   r'   r   c                     y r#   r   r$   s    r   ordinal_dayzDateTimeNamespace.ordinal_day7   r'   r   c                     y r#   r   r$   s    r   weekdayzDateTimeNamespace.weekday8   r'   r   c                     y r#   r   r$   s    r   total_minuteszDateTimeNamespace.total_minutes9   r'   r   c                     y r#   r   r$   s    r   total_secondszDateTimeNamespace.total_seconds:   r'   r   c                     y r#   r   r$   s    r   total_millisecondsz$DateTimeNamespace.total_milliseconds;   r'   r   c                     y r#   r   r$   s    r   total_microsecondsz$DateTimeNamespace.total_microseconds<   r'   r   c                     y r#   r   r$   s    r   total_nanosecondsz#DateTimeNamespace.total_nanoseconds=   r'   r   c                     y r#   r   )r%   everys     r   truncatezDateTimeNamespace.truncate>   r'   r   c                     y r#   r   r%   bys     r   	offset_byzDateTimeNamespace.offset_by?   r'   r   N)r.   strr)   r   )r2   
str | Noner)   r   )r2   rb   r)   r   )r7   r   r)   r   r(   )r\   rb   r)   r   )r`   rb   r)   r   )r   r   r   r   r   r/   r3   r5   r8   r:   r<   r>   r@   rB   rD   rF   rH   rJ   rL   rN   rP   rR   rT   rV   rX   rZ   r]   ra   r   r   r   r   r   &   sR    $(I!(:LEB(()'(**//./+1166586r   r   c                  l    e Zd ZU dZded<   ddZddZddZddZddZ	dd	Z
dd
ZddZddZddZy)r   listr   r   c                     y r#   r   )r%   indexs     r   getzListNamespace.getE   r'   r   c                     y r#   r   r$   s    r   lenzListNamespace.lenF   r'   r   c                     y r#   r   r$   s    r   uniquezListNamespace.uniqueG   r'   r   c                     y r#   r   )r%   items     r   containszListNamespace.containsH   r'   r   c                     y r#   r   r$   s    r   minzListNamespace.minI   r'   r   c                     y r#   r   r$   s    r   maxzListNamespace.maxJ   r'   r   c                     y r#   r   r$   s    r   meanzListNamespace.meanK   r'   r   c                     y r#   r   r$   s    r   medianzListNamespace.medianL   r'   r   c                     y r#   r   r$   s    r   sumzListNamespace.sumM   r'   r   c                    y r#   r   )r%   
descending
nulls_lasts      r   sortzListNamespace.sortN   r'   r   N)rg   intr)   r   r(   )rn   r   r)   r   )r{   boolr|   r   r)   r   )r   r   r   r   r   rh   rj   rl   ro   rq   rs   ru   rw   ry   r}   r   r   r   r   r   B   s+    $*I!*3'*D''(*'Or   r   c                  L    e Zd ZU dZded<   ddZddZddZddZddZ	dd	Z
y
)r   namer   r   c                     y r#   r   r$   s    r   keepzNameNamespace.keepT   r'   r   c                     y r#   r   )r%   functions     r   mapzNameNamespace.mapU   r'   r   c                     y r#   r   r%   prefixs     r   r   zNameNamespace.prefixV   r'   r   c                     y r#   r   r%   suffixs     r   r   zNameNamespace.suffixW   r'   r   c                     y r#   r   r$   s    r   to_lowercasezNameNamespace.to_lowercaseX   r'   r   c                     y r#   r   r$   s    r   to_uppercasezNameNamespace.to_uppercaseY   r'   r   Nr(   )r   zCallable[[str], str]r)   r   )r   rb   r)   r   )r   rb   r)   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Q   s    $*I!*(G7700r   r   c                      e Zd ZU dZded<   ddZddZddZddZddZ	dd	Z
dd
ZddZddZddZddZddZddZddZddZy)r   rb   r   r   c                     y r#   r   r$   s    r   	len_charszStringNamespace.len_chars_   r'   r   c                    y r#   r   )r%   valuepatternliteralns        r   replacezStringNamespace.replace`   r'   r   c                    y r#   r   )r%   r   r   r   s       r   replace_allzStringNamespace.replace_alla   r'   r   c                     y r#   r   )r%   
characterss     r   strip_charszStringNamespace.strip_charsb   r'   r   c                     y r#   r   r   s     r   starts_withzStringNamespace.starts_withc   r'   r   c                     y r#   r   r   s     r   	ends_withzStringNamespace.ends_withd   r'   r   c                    y r#   r   )r%   r   r   s      r   ro   zStringNamespace.containse   r'   r   c                     y r#   r   )r%   offsetlengths      r   slicezStringNamespace.slicef   r'   r   c                     y r#   r   r_   s     r   splitzStringNamespace.splitg   r'   r   c                     y r#   r   r-   s     r   to_datetimezStringNamespace.to_datetimeh   r'   r   c                     y r#   r   r-   s     r   to_datezStringNamespace.to_datei   r'   r   c                     y r#   r   r$   s    r   r   zStringNamespace.to_lowercasej   r'   r   c                     y r#   r   r$   s    r   to_titlecasezStringNamespace.to_titlecasek   r'   r   c                     y r#   r   r$   s    r   r   zStringNamespace.to_uppercasel   r'   r   c                     y r#   r   )r%   widths     r   zfillzStringNamespace.zfillm   r'   r   N)r)   r   )
r   r   r   rb   r   r   r   r~   r)   r   )r   r   r   rb   r   r   r)   r   )r   rc   r)   r   )r   rb   r)   r   )r   rb   r)   r   )r   rb   r   r   r)   r   )r   r~   r   z
int | Noner)   r   )r`   rb   r)   r   )r.   rc   r)   r   )r   r~   r)   r   )r   r   r   r   r   r   r   r   r   r   r   ro   r   r   r   r   r   r   r   r   r   r   r   r   r   \   s:    $)I!)!QM;0.@>&73$$$)r   r   c                  $    e Zd ZU dZded<   ddZy)r   structr   r   c                     y r#   r   )r%   r   s     r   fieldzStructNamespace.fields   r'   r   N)r   rb   r)   r   )r   r   r   r   r   r   r   r   r   r   r   p   s    $,I!,4r   r   N)__doc__
__future__r   typingr   r   r   r   narwhals._utilsr   r	   r
   narwhals._compliant.typingr   narwhals.typingr   r   r   __all__r   r   r   r   r   r   r   r   r   r   <module>r      s    7 " = = ;3:CL"(7-9P "3$]3Xm5L 37(7-9P 78P$]3Xm5L P1$]3Xm5L 1*&q)8A; *(5&}5x7N 5r   