1010
1111@app .cell
1212def _ ():
13+ import sys
1314 import datetime
1415 import os
1516
@@ -18,12 +19,18 @@ def _():
1819 import micropip
1920 import numpy as np
2021 import pandas as pd
21- return alt , datetime , micropip , mo , np , os , pd
22+ return alt , datetime , micropip , mo , np , os , pd , sys
2223
2324
2425@app .cell
25- async def _ (micropip ):
26- await micropip .install ("baec[aws]" )
26+ async def _ (micropip , sys ):
27+ if sys .platform == 'emscripten' :
28+ # running in Pyodide or other Emscripten based build
29+ await micropip .install (["pyodide-http" , "baec[aws]" , "ssl" ])
30+
31+ # Patch requests
32+ import pyodide_http
33+ pyodide_http .patch_all ()
2734
2835 from nuclei .client import NucleiClient
2936
@@ -58,7 +65,11 @@ def _(mo):
5865def _ (NucleiClient , jwt , os ):
5966 if jwt .value != "" :
6067 os .environ ["NUCLEI_TOKEN" ] = jwt .value
61- client = NucleiClient ()
68+
69+ if "NUCLEI_TOKEN" in os .environ :
70+ client = NucleiClient ()
71+ else :
72+ raise ValueError ("No JWT token provided" )
6273 return (client ,)
6374
6475
@@ -79,15 +90,18 @@ def _(mo):
7990
8091
8192@app .cell
82- def _ (Credentials , aws_access_key_id , aws_secret_access_key ):
83- credentials = Credentials (
84- aws_access_key_id = (
85- aws_access_key_id .value if aws_access_key_id .value != "" else None
86- ),
87- aws_secret_access_key = (
88- aws_secret_access_key .value if aws_secret_access_key .value != "" else None
89- ),
90- )
93+ def _ (Credentials , aws_access_key_id , aws_secret_access_key , os ):
94+ if aws_access_key_id .value != "" :
95+ os .environ ["BASETIME_KEY_ID" ] = aws_access_key_id .value
96+
97+ if aws_secret_access_key .value != "" :
98+ os .environ ["BASETIME_ACCESS_KEY" ] = aws_secret_access_key .value
99+
100+ if "BASETIME_KEY_ID" in os .environ and "BASETIME_ACCESS_KEY" in os .environ :
101+ credentials = Credentials ()
102+
103+ else :
104+ raise ValueError ("BaseTime AWS credentials provided" )
91105 return (credentials ,)
92106
93107
@@ -414,7 +428,9 @@ def _(days, end_time_delta, mo, np, series, settlements):
414428
415429
416430@app .cell
417- def _ (alt , df_settlements_preditions , end_time_delta , pd ):
431+ def _ (alt , df_settlements_preditions , end_time_delta , mo , np , pd , series ):
432+ mo .stop (predicate = all (np .isnan (series .settlements )))
433+
418434 _colors = alt .Scale (domain = ["fill_thicknesses" ,], range = ['blue' ])
419435
420436 _chart_1 = (
@@ -457,7 +473,8 @@ def _(alt, df_settlements_preditions, end_time_delta, pd):
457473
458474
459475@app .cell
460- def _ (alt , df_settlements_preditions , end_time_delta , pd ):
476+ def _ (alt , df_settlements_preditions , end_time_delta , mo , np , pd , series ):
477+ mo .stop (predicate = all (np .isnan (series .settlements )))
461478 _colors = alt .Scale (domain = ["settlements" , "predict" ], range = ['orange' , 'green' ])
462479
463480 _chart_2 = (
@@ -501,7 +518,8 @@ def _(alt, df_settlements_preditions, end_time_delta, pd):
501518
502519
503520@app .cell
504- def _ (df_settlements_preditions , mo ):
521+ def _ (df_settlements_preditions , mo , np , series ):
522+ mo .stop (predicate = all (np .isnan (series .settlements )))
505523 csv_download_lazy_prediction = mo .download (
506524 data = df_settlements_preditions .to_csv (sep = ";" ).encode ("utf-8" ),
507525 filename = "measurements.csv" ,
0 commit comments