ó
    œþöhÒ	  ã                  ó~   • S SK Jr  S SKJrJr  S SKJr  S SKJ	r	  \(       a  S SKJ
r  SSS.       SS	 jjrSS
 jrg)é    )Úannotations)ÚTYPE_CHECKINGÚAny)Úpyarrow)Úget_first_non_none)ÚpandasNT)ÚlengthÚnan_to_nullc               óú  • [        U SS5      nUS:X  a¦  [        U R                  5      n[        U[        5      (       a)  [
        R                  " U [
        R                  " 5       US9$ Uc<  [
        R                  " U=(       d    [        U 5      [
        R                  " 5       5      $ [
        R                  " XS9$ U(       a  [
        R                  " XS9$ Sn[        UU R                  R                  5       < 5      e)a˜  
Convert a pandas Series to an Arrow Array.

Parameters
----------
values : :class:`pandas.Series` or :class:`pandas.Index`.
    Series to convert to arrow
nan_to_null : bool, default = True
    Interpret `NaN` as missing values.
length : int, optional
    in case all values are null, create a null array of this length.
    if unset, length is inferred from values.

Returns
-------
:class:`pyarrow.Array`
ÚdtypeNÚobject)Úfrom_pandaszduplicate column names found: )Úgetattrr   ÚvaluesÚ
isinstanceÚstrÚpaÚarrayÚ
large_utf8ÚnullsÚlenÚ
ValueErrorÚcolumnsÚtolist)r   r	   r
   r   Úfirst_non_noneÚmsgs         ÚZ/home/james-whalen/.local/lib/python3.13/site-packages/polars/_utils/construction/other.pyÚpandas_series_to_arrowr      s¿   € ô. F˜G TÓ*€EØÓÜ+¨F¯M©MÓ:ˆÜn¤c×*Ñ*Ü—8’8˜F¤B§M¢M£OÀÑMÐMØÑ#Ü—8’8˜F×1¤c¨&£k´2·=²=³?ÓCÐCÜxŠx˜Ñ8Ð8Þ	ÜxŠx˜Ñ8Ð8ð /ˆÜØØ~‰~×$Ñ$Ó&Ñ)ó
ð 	
ó    c                óœ  • SSK Jn  [        U S5      (       Ga³  U R                  S:”  Ga¢  [        R
                  R                  U R                  5      (       Gas  [        R
                  R                  U R                  R                  5      (       dà  [        R
                  R                  U R                  R                  5      (       d¨  [        R
                  R                  U R                  R                  5      (       dp  [        R
                  R                  U R                  R                  5      (       d8  [        R
                  R                  U R                  R                  5      (       a[  UR                  U [        R                  " [        R                   " 5       [        R"                  " 5       5      5      R%                  5       n U $ )z...r   NÚ
num_chunksé   )Úpyarrow.computeÚcomputeÚhasattrr!   r   ÚtypesÚis_dictionaryÚtypeÚis_int8Ú
index_typeÚis_uint8Úis_int16Ú	is_uint16Úis_int32ÚcastÚ
dictionaryÚuint32Úlarge_stringÚcombine_chunks)r   Úpcs     r   Úcoerce_arrowr5   7   s  € å äˆul×#Ò#¨×(8Ñ(8¸1Ô(<ô 8‰8×!Ñ! %§*¡*×-Ò-ÜH‰H×Ñ˜UŸZ™Z×2Ñ2×3Ñ3Üx‰x× Ñ  §¡×!6Ñ!6×7Ñ7Üx‰x× Ñ  §¡×!6Ñ!6×7Ñ7Üx‰x×!Ñ! %§*¡*×"7Ñ"7×8Ñ8Üx‰x× Ñ  §¡×!6Ñ!6×7Ñ7à—G‘GØ”r—}’}¤R§Y¢Y£[´"·/²/Ó2CÓDóç‰nÓð ð €Lr   )r   zpd.Series[Any] | pd.Index[Any]r	   z
int | Noner
   ÚboolÚreturnúpa.Array)r   r8   r7   r8   )Ú
__future__r   Útypingr   r   Úpolars._dependenciesr   r   Ú polars._utils.construction.utilsr   r   Úpdr   r5   © r   r   Ú<module>r?      sP   ðÝ "ç %å .Ý ?æÝ1ð Øñ	(
Ø*ð(
ð ð(
ð ð	(
ð
 õ(
õVr   