K i\XTddlmZddlZddlZddlZ ddlZddlZ ddl m cm Z ddlmZ ddlZdZdZej(j dZej(j ej(j,dZdZd Zd Zd Zd Zd Zej(j dZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/d Z0ej(j d!Z1d"Z2d#Z3d$Z4y#e$rdZYwxYw#e$rYwxYw)%) OrderedDictN)Versioncd}tjt|5tjdddy#1swYyxYw)NzGDo not call Schema's constructor directly, use `pyarrow.schema` instead)match)pytestraises TypeErrorpaSchema)msgs _/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pyarrow/tests/test_schema.pytest_schema_constructor_errorsr&s5 C y , s <Achgd}|D])}tt|}|}t||k(r)Jy)N)int8int16int32int64uint8uint16uint32uint64)getattrr str)dtypesnamefactoryts r test_type_integersr-s=5F"d# I1v~~ctjd}ttjtdkrtjd}t j tjft jtjft jtjft jtjft jtjft jtjft jtjft jtjft jtjft j tj ft j"tj"ft j$tj$ft j&tj&ft j(|ft j*|ft j,d|ft j.tjft j0tjft j2tjft j.dtjft j4tjft j6tjft j8tjft j:t jtjft j<t jt j&tjfg}|D]\}}|j?|k(rJy)Ndatetime64[ms]z2.0.0datetime64[ns]ms ) npdtyperpd __version__r nullobject_bool_rrrrrrrrfloat16float32float64date32date64 timestampbinary large_binary binary_viewstring large_string string_viewlist_map_to_pandas_dtype)M8cases arrow_type numpy_types r test_type_to_pandas_dtyper?7sC " #Br~~!11 XX& ' BJJ RXX BGG RXX RXX RXX RXX bii bii bii rzz" rzz" rzz" b b d R bjj!  BJJ'  2::& 2 # bjj!  BJJ'  2::& "'') bjj) RZZ\ *BJJ75 E8#(: J))+z999:rc.tjdy)Nz arrow_7980.py) test_util invoke_scriptrr &test_type_to_pandas_dtype_check_importrD\sO,rctj}tj|}t|dk(sJtjdtj }tj|}t|dk(sJy)Nzlistmy_itemzlist)r rr8rfieldr5) value_type list_typerGl2s r test_type_listrKcsdJ$I y>0 00 0 HHY ,E %B r7- -- -rcztj}|tjk(sJ|dk(sJ|dk7sJy)Nr)r r)vals r test_type_comparisonsrOms8 ((*C "((*   '>> !8O8rcgdtjfdtjfdtjfdtjfdtjfdtjfdtjfdtjfd tj fd tj fd tj fd tj fd tjfdtjfdtjfdtjfdtjfdtjfdtjfdtjfdtjfdtjfdtjfdtjfdtjfdtjdfdtjdfdtj dfd tj d!fd"tj"dfd#tj"dfd$tj"dfd%tj"d!fd&tj$dfd'tj$dfd(tj$dfd)tj$d!fd*tj&f}|D]\}}tj(||k(rJy)+Ni1ri2ri4ri8ru1ru2ru4ru8rf4r-f8r.r/r0r5rr2 time32[s]sz time32[ms]r#z time64[us]us time64[ns]nsz timestamp[s]z timestamp[ms]z timestamp[us]z timestamp[ns]z duration[s]z duration[ms]z duration[us]z duration[ns]month_day_nano_interval)r rrrrrrrrr-r.r/r0r5r2time32time64r1durationr`type_for_alias)r<rNexpecteds r test_type_for_aliasrfts'  rwwy'  '  rxxz'  "((* '  rxxz '  "((* '  rxxz'  "((*'  rxxz'  "((*'  ryy{'  299;'  ryy{'  299;'  ryy{'  299;!' " rzz|#' $ BJJL!%' & rzz|'' ( BJJL!)' * 299;+' , 299;-' . 299;/' 0  1' 2 299;3' 4 biin%5' 6 ryy'7' 8 ryy'9' : ryy';' < c*+=' > ",,t,-?' @ ",,t,-A' B ",,t,-C' D  C()E' F T*+G' H T*+I' J T*+K' L #B$>$>$@AM' ER2 X  %1112rcLtj}t|dk(sJy)Nr5)r r5r)rs r test_type_stringrhs A q6X  rczd}tjd|}|jdk(sJ|j|k(sJy)NzAmerica/Los_Angelesr_)tz)r r1unitrj)rjrs r test_type_timestamp_with_tzrls7 B Tb!A 66T>> 442::rctjd}tjd}tjd}tjd}|jdk(sJ|jdk(sJ|jdk(sJ|jdk(sJt |dk(sJt |dk(sJt j t5tjddddt j t5tjddddy#1swYAxYw#1swYyxYw)Nr\r#r]r_r[r^)r rarbrkrrr ValueError)t1t2t3t4s r test_time_typesrss 3B 4B 4B 4B 77c>> 77d?? 77d?? 77d?? r7k !! ! r7l "" " z " $ z " #sD( D4(D14D=c tjdtjftjdtjftjdtj ftjdtj ftjdtjftjdtjftjdtjftjdtjftjd tjftjd tjftjd tjftjd tjftjd tjftjdtj dftjdtj dftjdtj dftjdtj dftjdtj"dftjdtj"dftjdtj"dftjdtj"dfg}|D]!\}}tj$|}||k(r!Jtj$d tjk(sJtj$tj&tjk(sJtj$dtj k(sJtj$t(tjk(sJt+j,t.5tj$tjddddt+j,t05tj$ddddy#1swYAxYw#1swYyxYw)Nboolrrrrrrrr,r-r.USz datetime64[s]r\r!r#zdatetime64[us]r]r"r_ztimedelta64[s]ztimedelta64[ms]ztimedelta64[us]ztimedelta64[ns]Onot_convertible_to_dtype)r%r&r r+rrrrrrrr,r-r.r5r2r1rcfrom_numpy_dtypestr_rurrNotImplementedErrorr )r<dtptresults r test_from_numpy_dtypers- & 288:& & 2779% ' BHHJ' ' BHHJ' ' BHHJ' ' BHHJ' ( RYY[) ( RYY[) ) bjjl+ ) bjjl+ ) bjjl+ # $ # $ / "BLL$56 " #R\\$%78 " #R\\$%78 " #R\\$%78 " #R[[%56 # $bkk$&78 # $bkk$&78 # $bkk$&78+ E0B$$R(||   s #ryy{ 22 2  rww '299; 66 6  w '288: 55 5  t $ 22 2 * ++ BHHSM*+ y !8 6788++88s)R=S =S Sc tjdtjtjdtjtjdtjtj g}tj |}|jgdk(sJ|jtjtjtjtj gk(sJt|dk(sJ|djdk(sJ|dj|djk(sJ|jdjdk(sJ|jdj|djk(sJt|dk(sJtjt5tj dgdddy#1swYyxYw)NfoobarbazrrrrBfoo: int32 bar: string baz: list child 0, item: int8)r rGrr5r8rschemanamestypeslenrtypereprrrr fieldsschs r test_schemarsw  #  $ +,F ))F C 99- -- - 99RYY["((27792EF FF F s8q== q6;;%   q6;;&).. (( ( 99U  E )) ) 99U  F1INN 22 2 9   y ! 4&s G++G4c tjdtjtjdtjtjdtjtj g}tj |}tj|}|J~|Jy)Nrrr) r rGrr5r8rrweakrefref)rrwrs r test_schema_weakrefr s  #  $ +,F YYv F V B 4   4<foo: int32 not null bar: string -- schema metadata -- lorem: '*))rshow_schema_metadatazofoo: int32 not null -- field metadata -- key1: 'value1' bar: string -- field metadata -- key3: 'value3')rrrzfoo: int32 not null bar: string)r rrG to_stringr)r my_schemars r #test_schema_to_string_with_metadatars 8E 288E7E.4h-?A88E8T.4h-?AB%,U#3 5I    )  s DUb)%- -- -YY(!&(: ;==FY[ & && &     7@  s F3u:?+?<> >> >   3824  6>  ws5zV45_ :H HH H   49  ;?     3849  ;?  rc~dtjfdtjfdtjtjfg}tj |}|j gdk(sJ|jtjtjtjtjgk(sJt|dk(sJt|dk(sJtjt5tj dgdddy#1swYyxYwNrrrrrr)rN) r rr5r8rrrrrrrrr rs r test_schema_from_tuplesr^s     #$F ))F C 99- -- - 99RYY["((27792EF FF F s8q== 9   y !# =/"###s D33D<c tdtjfdtjfdtjtj fg}tj |}|jgdk(sJ|jtjtjtjtj gk(sJt|dk(sJt|dk(sJtdg}tjt5tj |dddy#1swYyxYwr)rr rr5r8rrrrrrrrr rs r test_schema_from_mappingrrs      #$F ))F C 99- -- - 99RYY["((27792EF FF F s8q== 9   - )F y ! &s (EEc tjdtjtjdtjtjdtjtj g}tj |}|jgdk(sJ|jtjtjtjtj gk(sJt|dk(sJt|dk(sJ|djdk(sJ|dj|djk(sJtjt5|j!d|dk(sJ dddtjt5|j!dJ dddtjt"tf5|j!dJ ddd|j%dd k(sJ|j'ddd gk(sJy#1swYxYw#1swYxYw#1swYPxYw) Nrr)rrrrzBfoo: int32 bar: string foo: list child 0, item: int8rxxx)r rGrr5r8rrrrrrrrrwarns FutureWarning field_by_name UserWarningget_field_indexget_all_field_indicesrs r test_schema_duplicate_fieldsrs  #  $ +,F ))F C 99- -- - 99RYY["((27792EF FF F s8q== 9   q6;;%   q6;;&).. (( ( m $5  '6!94445 m $0  '///0 {M2 30  '///0   u % ++ +  $ $U +1v 55 5550000s$>I:I6II II#cLtjdtjjddi}|j |gk(sJtjdtj d}tjdtj ||gd}|j tjdtjjdditjd tj dgk(sJtjdtj ||g}|j tjdtjjdditjd tj gk(sJtjd tj |g}|j tjd tj ||ggk(sJy) NrfoobarrFnullableffzff.foozff.barfffzfff.ff)r rGr with_metadataflattenr.struct)rf1rrs r test_field_flattenrs % $ 2 2FF3C DB ::>' "" "rc8tjtjdtjg}ddtjddgfD]5}t j t5|j|ddd7y#1swYBxYw)Nrr5rr) r rrGrarrayrrr r)rrNs r test_schema_equals_invalid_typer sy YYbhhj12 3Fh!Q 01 ]]9 %  MM#     s 3BB c 4tjdtjtjdtjtjdtjtj g}ddd}tj |}tj |}tj ||}tj ||}||k(sJ||k(sJ||k(sJ||k7rJ||k(sJ|gk7sJ|dk7sJy)Nrrrrrrr)r rGrr5r8rrrs r test_schema_equality_operatorsrs  #  $ +,F 95H 99V D 99V D 99Vh /D 99Vh /D 4<< 4<< 4<<t|  4<< 2:: 5==rc |tjdtjtjdtjtjdtjtj g}tj |}|jdjdk(sJ|jdjdk(sJ|jdjdk(sJtjt5|jddddtjt5|jddddtjt5|jddddy#1swYpxYw#1swYIxYw#1swYyxYw) Nrrrrrotherg) r rGrr5r8rrrrrKeyErrorr IndexErrorrrs r test_schema_get_fieldsr/s?  #  $ +,F YYv F <<  # #u ,, , <<?  5 (( ( <<  E )) ) x  W y ! S z " Q s$F F&?F2F#&F/2F;c tjdtjtjdtjtjdtjtj g}tj |}|dj|dsJ|dj|dsJ|dj|d sJtjt5|d dddtjt5|d dddy#1swY1xYw#1swYyxYw) Nrrrrrrrr) r rGrr5r8rrrrrrrs r test_schema_negative_indexingrDs   #  $ +,F YYv F ":  VAY '' ' ":  VAY '' ' ":  VAY '' ' z "r  z "q sD:+E:EEc>tjdtjtjtjtjdtj g}tj |}d}t||k(sJy)NonetwozCone: dictionary two: int32)r rG dictionaryrr5rrr)rrres r "test_schema_repr_with_dictionariesrXsp  bhhj"))+>?  #F ))F C  9  rctjtjtjtjdtjtjtj tjtjtj tjddtjddgtjtjdtjtjdtjgtjjtjtjdtjtjdtjgtjjtjdtjdtjtj tj"dtj"d tj$d d tj&d d tj(ddtj*ddtjdddditjtjdtj,tj.tjdtj,tj tjdtjdtjdtjg}|D])}|j1|j3|}||k(r)Jg}t5|D]Y\}}t7|tj8r|j;|2|j;tjd||[tj<|ddi}|j1|j3|}||k(sJy)N rrbr5r\r]r#r_ r rr$rL&rrrelementrFrvalue_f)r rr5r2r8r9rrGunionrlibUnionMode_SPARSEUnionMode_DENSErarbr/r0r1 decimal32 decimal64 decimal128 decimal256r large_listloadsdumps enumerate isinstanceFieldappendr) pickle_moduler<rN roundtrippedrifrs r test_type_schema_picklingrgs     "    RWWY' HHS& ! HHS( #    HHS"'') $ HHS"((* %  66 " " $  HHS"'') $ HHS"((* %  66 ! ! # # $   T T Q R b! b" h&&)9: )RXXZ01 bhhy"((*56  e<"''), .A" EH#$**=+>+>s+CD l"""#F% 11 a " MM!  MM"((Rs8Q/ 0 1 YYv(8 9F &&}':':6'BCL \ !! !rc (tjtjdtjtjdtjtj tj tjdtjtjtjg}tjtjdtjdtjdtjg}||fD]P}|j}t|tjsJ|jdk(sJ|j|k(rPJy) Nrrf2rFrrr) r rrGrrrr5r8 empty_tablerTablenum_rows)rrrtables r test_empty_tabler$sii rxxz" r}}RXXZ=> rxx 456G ii bhhj51 bhhj!G G$&""$%***~~"""||v%%% &rc ddl}ttd|jttdgdt j gdd|j gd|j g}|D]g}|jd|i| }tjj|}tjj|j}||k(rgJy) Nrr)rrNrqux)z2007-07-13T01:23:34.123456789z2006-01-13T12:34:56.432539784z2010-08-13T05:46:57.437699912r")r&)rrNr)index) pandaslistrange Categoricalr%r Int32Dtype DataFramer r from_pandasr!r)r'inputsdatadfrres r test_schema_from_pandasr2s U2YtE"I'*  "  # ]R]]_5 F" R\\3+T 2&&r*88''+22!!! "rc(tjtjdtjtjdtjg}t j |t jdkDrdndkDsJ|jddi}t j |t j |kDsJ|jddi}t j |t j |kDsJy) Nrrlrz some metadatazsome more metadata) r rrGrr5sys getsizeofmaxsizer)rrschema3s r test_schema_sizeofr:s YY  #  $F == #++*=B2 FF F""E?#;?!F s6{ "" " s6{ "" "r)5 collectionsrr6rrnumpyr% ImportErrorpyarrowr pyarrow.tests.utiltestsutilrApyarrow.vendored.versionrr(r'rrmarkr? processesrDrKrOrfrhrlrsrrrrrrrrrrrrrrrrrrr$r2r:rCrJrCrr rUs$$  &&,  !:!:H-- .+2\ *'8'8T6 EP#(*6@F(0)$!0 #6*( !2"j&&""( ;(!V#K B  s"DDDDD'&D'