Files
Guido.Tech/hpcsim/__pycache__/api.cpython-312.pyc

32 lines
4.1 KiB
Plaintext
Raw Normal View History

2025-10-18 19:15:41 -05:00
<EFBFBD>
2025-10-18 21:38:44 -05:00
<00>+<2B>hV <00><01><><00>UddlmZddlZddlmZmZmZmZddlm Z m
2025-10-18 19:15:41 -05:00
Z
m Z ddl m Z ddlmZddlZddlmZdd lmZe d
d <0B> <0C>Ze<12>ZgZd ed<dZej4d<10>ZGd<11>de<0F>Zej;d<13>e
d<14>fdd<15><05>Zej;d<16>dd<17><04>ZejAd<16>ddd<18><05>Z!ejAd<19>d<1A><00>Z"y)<1F>)<01> annotationsN)<04>Any<6E>Dict<63>List<73>Optional)<03>FastAPI<50>Body<64> HTTPException)<01> JSONResponse)<01> BaseModel<65>)<01>Enricher)<01>normalize_telemetryzHPCSim Enrichment APIz0.1.0)<02>title<6C>versionzList[Dict[str, Any]]<5D>_recent<6E><74><00>NEXT_STAGE_CALLBACK_URLc<01>T<00>eZdZUded<ded<ded<ded<ded<ded<d ed
<y ) <0C>EnrichedRecord<72>int<6E>lap<61>float<61>aero_efficiency<63>tire_degradation_index<65>
ers_charge<EFBFBD>fuel_optimization_score<72>driver_consistency<63>str<74>weather_impactN)<04>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__annotations__<5F><00><00>3/Users/karandubey/projects/hpcsimsite/hpcsim/api.pyrrs+<00><00> <0C>H<EFBFBD><1A><1A>!<21>!<21><15><15>"<22>"<22><1D><1D><17>r&rz/ingest/telemetry.c<00><01>\K<00> t|<00>}tj|<01>}t
j |<02>tt
<00>tkDrt
dtt
<00>tz
<00>=trZ tjd<05><06>4<00>d{<00><03><03>}|jt|<02><07><00>d{<00><04><03>ddd<04><00>d{<00><03><03>t|<02>St|<02>S#t$r}t dd|<03><00><02><03><00>d}~wwxYw7<00>j7<00>M7<00>?#1<00>d{<00><04><03>7swY<00>OxYw#t$r Yt|<02>SwxYw<01>w)z<>Receive raw telemetry (from Pi), normalize, enrich, return enriched.
Optionally forwards to NEXT_STAGE_CALLBACK_URL if set.
i<>zFailed to enrich: )<02> status_code<64>detailNg@)<01>timeout)<01>json)r<00> _enricher<65>enrich<63> Exceptionr
r<00>append<6E>len<65> _MAX_RECENT<4E> _CALLBACK_URL<52>httpx<70> AsyncClient<6E>postr )<05>payload<61>
2025-10-18 21:38:44 -05:00
normalized<EFBFBD>enriched<65>e<>clients r'<00>ingest_telemetryr<%s<00><00><><00> N<01>(<28><17>1<>
2025-10-18 19:15:41 -05:00
<EFBFBD><1C>#<23>#<23>J<EFBFBD>/<2F><08> <0C>N<EFBFBD>N<EFBFBD>8<EFBFBD><1C>
2025-10-18 21:38:44 -05:00
<EFBFBD>7<EFBFBD>|<7C>k<EFBFBD>!<21> <13>0<>c<EFBFBD>'<27>l<EFBFBD>[<5B>0<>0<> 1<><15> <11><1C>(<28>(<28><13>5<> @<01> @<01><16><1C>k<EFBFBD>k<EFBFBD>-<2D>h<EFBFBD>k<EFBFBD>?<3F>?<3F>?<3F> @<01> @<01> <18><08> !<21>!<21><<3C><08> !<21>!<21><>! <15>N<01><1B><03>6H<36><11><03>4L<34>M<>M<><4D>N<01><> @<01><>?<3F><> @<01><> @<01> @<01> @<01><><18> <11> <10> <17><08> !<21>!<21>  <11>s<EFBFBD><00>D,<01> C<00>AD,<01>3D<00> C8<06>D<00>C><03>,C:<06>-C><03>1 D<00><C<<04>=D<00>D,<01> C5<03> C0<03>0C5<03>5D,<01>8D<00>:C><03><D<00>>D<07>D <0C>D<07> D<00> D)<03> D,<01>(D)<03>)D,z /enrichedc<00><01><>K<00>|j<00>}tj|<01>tt<00>tkDrtdtt<00>tz
2025-10-18 19:15:41 -05:00
<00>=t |<01>S<00>w)zEAllow posting externally enriched records (bypass local computation).N)<06>
model_dumprr0r1r2r )r9<00>recs r'<00> post_enrichedr@AsP<00><00><><00> <13>
<1D>
<1D>
<1F>C<EFBFBD> <0B>N<EFBFBD>N<EFBFBD>3<EFBFBD><17>
<EFBFBD>7<EFBFBD>|<7C>k<EFBFBD>!<21> <13>0<>c<EFBFBD>'<27>l<EFBFBD>[<5B>0<>0<> 1<> <17><03> <1C><1C>s<00>A$A&c<00><01>\K<00>tdtd|<00><00>}tt| d<00>S<00>w)Nr r)<04>max<61>minr r)<01>limits r'<00> list_enrichedrEKs,<00><00><><00> <0F><01>3<EFBFBD>s<EFBFBD>E<EFBFBD>?<3F> #<23>E<EFBFBD> <17><07><15><06><07>(<28> )<29>)<29>s<00>*,z/healthzc<00><01>.K<00>dtt<00>d<02>S<00>w)N<>ok)<02>status<75>stored)r1rr%r&r'<00>healthzrJQs<00><00><><00><1A>c<EFBFBD>'<27>l<EFBFBD> 3<>3<>s<00>)r7zDict[str, Any])r9r)<01>2)rDr)#<23>
__future__r<00>os<6F>typingrrrr<00>fastapirr r
<00>fastapi.responsesr <00>pydanticr r4<00>
enrichmentr<00>adapterr<00>appr-rr$r2<00>getenvr3rr6r<r@<00>getrErJr%r&r'<00><module>rWs<><00><01>"<22> <09>,<2C>,<2C>0<>0<>*<2A><1E> <0C> <20>(<28> <0A>+<2B>W<EFBFBD>=<3D><03> <15>J<EFBFBD> <09>!#<23><07> <1D>"<22><11> <0B><1A><02> <09> <09>3<>4<> <0A><18>Y<EFBFBD><18><05><18><18>
<1D><1E>59<35>#<23>Y<EFBFBD>"<22><1F>"<22>6<05><18><18>+<2B><16><1D><17><1D><05><17><17><1B><15>*<2A><16>*<2A>
<05><17><17><1A><14>4<><15>4r&