L i;:ddlmZddlZddlZddlmZddlZddlZddlZ ddlm Z ddl m Z m Z ddlmZmZmZej$ej(ZGddej,ZGd d ej,Zdd ZGd d ej4ZddZy)) annotationsN)Any) TopLevelSpec)!compile_to_vegafusion_chart_stateusing_vegafusion)IndexSelectionIntervalSelectionPointSelectionc(eZdZdZfdZdZxZS)Paramsz/Traitlet class storing a JupyterChart's params.ct||jD]\}}t|tt frt j}nt|trt j}n^t|trt j}n9t|trt j}nt j}|jdi||it!|||y)N)super__init__items isinstanceintfloat traitletsFloatstrUnicodelistListdictDictr add_traitssetattr)self trait_valueskeyvalue traitlet_type __class__s b/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/altair/jupyter/jupyter_chart.pyrzParams.__init__s &,,. &JC%#u. ) 1 E3' ) 1 1 3 E4( ) 0 E4( ) 0 )   DOO 3sM2 3 D#u %! &c*d|jdS)NzParams()r rs r%__repr__zParams.__repr__-s**,-Q//r&)__name__ __module__ __qualname____doc__rr+ __classcell__r$s@r%r r s9&*0r&r c4eZdZdZfdZdZdZdZxZS) Selectionsz3Traitlet class storing a JupyterChart's selections.ct||jD]\}}t|trt j t}nmt|trt j t}nCt|trt j t}ndt|}t||jdi||it||||j|j|y)NzUnexpected selection type: namesr)rrrrrrInstancer r type ValueErrorrrobserve_make_read_only)rr r!r"r#msgr$s r%rzSelections.__init__4s &,,. :JC%0 ) 2 2> B E>2 ) 2 2> B E#45 ) 2 23D E 3DK=A o% DOO 3sM2 3 D#u % LL--SL 9% :r&c*d|jdS)Nz Selections(r(r)r*s r%r+zSelections.__repr__KsT..0133r&c|d|jvr#|d|dk7r|j|d|dd|d}t|)zSWork around to make traits read-only, but still allow us to change them internally.nameoldnewz@Selections may not be set from Python. Attempted to set select: )traits _set_valuer9)rchanger<s r%r;zSelections._make_read_onlyNs^ &>T[[] *ve}u /M OOF6NF5M : ((.v'7 9 or&c|j|j|t||||j|j|y)Nr5) unobserver;rr:)rr!r"s r%rCzSelections._set_valueXs: t++37c5! T)) 5r&) r,r-r.r/rr+r;rCr0r1s@r%r3r31s=:.46r&r3c6tdz dz jS)Njszindex.js)_here read_textrr&r% load_js_srcrK^s DL: % 0 0 22r&cPeZdZeZdZejedZ ejdjdZ ejdjdZejdjdZej"ddjdZejd ZejddjdZejZejjdZejjdZej0dZej0djdZej0djdZej0djdZd Zeddd Z d dfd Z ejBd d Z"ddZ#ejBddZ$ejBddZ%xZ&S) JupyterChartzj .vega-embed { /* Make sure action menu isn't cut off */ overflow: visible; } T) allow_none)sync ) default_valueN)rQrNFc\ddlm}m}|r |jry|}t j d}|rt |djdk(s(|djds|djdr]|jd|rJt |djdk(r3|djdrH|djdr]dj|}|j||}||_ d|_yt |_ d |_y) a Configure JupyterChart's offline behavior. Parameters ---------- offline: bool If True, configure JupyterChart to operate in offline mode where JavaScript dependencies are loaded from vl-convert. If False, configure it to operate in online mode where JavaScript dependencies are loaded from CDN dynamically. This is the default behavior. r)import_vl_convertvl_version_for_vl_convertN importz//) vl_versionTF) altair.utils._importersrSrT _is_offlinerKsplitlenstrip startswithpopjoinjavascript_bundle_esm)clsofflinerSrTvlc src_linessrc bundled_srcs r%enable_offlinezJupyterChart.enable_offlines Y #%C# ++D1IIaL&&()Q.Q<**84Q<**40 a IaL&&()Q.Q<**84Q<**40))I&C// 9 ;0K#CH"CO"}CH#COr&chartc pti|_ti|_t |d|||||d|y)a Jupyter Widget for displaying and updating Altair Charts, and retrieving selection and parameter values. Parameters ---------- chart: Chart Altair Chart instance debounce_wait: int Debouncing wait time in milliseconds. Updates will be sent from the client to the kernel after debounce_wait milliseconds of no chart interactions. max_wait: bool If True (default), updates will be sent from the client to the kernel every debounce_wait milliseconds even if there are ongoing chart interactions. If False, updates will not be sent until chart interactions have completed. debug: bool If True, debug messages will be printed embed_options: dict Options to pass to vega-embed. See https://github.com/vega/vega-embed?tab=readme-ov-file#options )ri debounce_waitmax_waitdebug embed_optionsNr)r paramsr3 selectionsrr)rrirkrlrmrnkwargsr$s r%rzJupyterChart.__init__sF:Rj $R.  ''    r&c|j}g}i}i}i}i}|6j5d_|_|_|_dddyt |dg}|tjur|jD]} t| jtjr*| jjjd} n | j} t | dtj} | tjk7rt| ts| j!} | d} | dk(rR| j#dds)| j#ddsd || <t%| gg || <nMd|| <t'| gg || <n6| d k(rd || <t)| ig || <nd | j*} t-| |j/| dgd || <Y| j0tjk7r | j0nd}||| <t3|D]}d||< t5|_ fd}jj7|t9|_j5t=rHj> d_fd}j7|dgn1jAj>n|j!_|_|_|_dddy#1swYyxYw#1swYyxYw)zRUpdates the JupyterChart's internal state when the wrapped Chart instance changes.Nro"selectr8pointfields encodingsindex)r?r"storeintervalzUnexpected selection type )r"rycTtj}|d||d<|_y)NrAr?)r_params) param_change new_paramsrs r%on_param_traitlet_changedz@JupyterChart._on_change_chart..on_param_traitlet_changed"s,dll+J/;E/BJ|F+ ,%DLr&c.j|dy)NrA)_init_with_vegafusion)rDrs r%on_local_tz_changez9JupyterChart._on_change_chart..on_local_tz_change2s226%=Ar&local_tz)!rA hold_syncspec_selection_types_vl_selectionsr|getattralt Undefinedrorr? ParameterNameto_jsonr\rto_dictgetrr r r8r9appendr"collect_transform_paramsr r:r3rprrr)rrD new_chartselection_watchesselection_typesinitial_paramsinitial_vl_selectionsempty_selectionsroparam clean_namert select_typer< clean_value param_namerrs` r%_on_change_chartzJupyterChart._on_change_chartsJJ  "  ! .  (7%&;#-  . Hb1  &"))( =ejj#*;*;.on_js_to_py_updatesKszz&*jjq&I I+W#//66ve}EGzz&*jj&C I+W.5D*r&_js_to_py_updates) rirrrrget_watch_plan_js_watch_planget_transformed_specrr:)rr vegalite_specrs` r%rz"JupyterChart._init_with_vegafusion>s :: ! JJ..7O.PM! I$E!8%!'+&7&7&F&F&H&'#!--BBD  5 03F2GH1 I I " I Is A+B11B:r|cv|jjD]\}}t|j||y)N)rArrro)rrDrr"s r%_on_change_paramszJupyterChart._on_change_params[s3!'!1!1!3 4 J DKKU 3 4r&rc |jjD]\}}|d}|d}|j|}|dk(r3|jj |t j |||W|dk(r3|jj |tj ||||dk(s|jj |tj |||y)zUpdates the JupyterChart's public selections traitlet in response to changes that the JavaScript logic makes to the internal _selections traitlet.r"ryrx)signalryrurzN) rArrrprCr from_vegar r )rrDselection_nameselection_dictr"ryselection_types r%_on_change_selectionsz"JupyterChart._on_change_selections`s/5jj.>.>.@  *NN"7+E"7+E!22>BN(**"",,^EQVW 7***"",,^EQVW :-**"%//&uE r&)T)rcbool)rPTFN) rirrkrrlrrmrrnz dict | Nonerqr)rr)'r,r-r.rKra_cssrr7rrirtagrrrkBoolrlrrrmrnrrr|rrrrrrY classmethodrhrr:rrrrr0r1s@r%rMrMbsb =D D I  | =E 9>>T * . .D . 9D#IOO"599t9DMy~~D15545@H y  tEIItITH INN /E"INN$GKKQUKVM&y~~'#Y^^%))t)4Ninn"""-G!9==D1L"Y]]d377T7BN% 6:::E% 6:::EK-$-$d %) & & &  &  & # & & PYw_* _*BI:Yy!4"4Y'()r&rMc&t}dD].}t||gD]}|jt|0t|dg}|tj k7r|ng}|D]*}t |ds|j|j,|S)z Collect the names of params that are defined by transforms. Parameters ---------- chart: Chart from which to extract transform params Returns ------- set of param names )layerconcathconcatvconcat transformr) setrrrrrhasattraddr)ritransform_paramspropchild transformstxs r%rrzsu:EUD"- EE  # #$rs" UT X%%0Y 08*6$$*6Z3U9&&Upr&