Skip to content

Commit 8a09200

Browse files
committed
Style
1 parent d72384c commit 8a09200

File tree

1 file changed

+30
-30
lines changed

1 file changed

+30
-30
lines changed

basic_app/app.py

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,58 @@
11
import datetime
2+
23
import pandas as pd
34
import plotly.graph_objects as go
45
import requests
5-
6-
from shiny import render, ui, reactive
6+
from shiny import reactive, render, ui
77
from shiny.express import input
88
from shinywidgets import render_widget
99

10-
1110
ui.panel_title("Weather App")
12-
ui.input_numeric("lat",
13-
"Latitude",
14-
value = 51.3167)
15-
ui.input_numeric("lon",
16-
"Longitude",
17-
value = 9.5)
11+
ui.input_numeric("lat", "Latitude", value=51.3167)
12+
ui.input_numeric("lon", "Longitude", value=9.5)
13+
1814

1915
@reactive.Calc
2016
def weather_dat():
21-
url = f"https://api.open-meteo.com/v1/forecast?latitude=%s&longitude=%s&hourly=temperature_2m,rain&past_days=3" %(input.lat(), input.lon())
17+
url = (
18+
f"https://api.open-meteo.com/v1/forecast?latitude=%s&longitude=%s&hourly=temperature_2m,rain&past_days=3"
19+
% (input.lat(), input.lon())
20+
)
2221
response = requests.get(url)
2322
data = response.json()["hourly"]
2423
df = pd.DataFrame(data)
2524
return df
2625

26+
2727
@render_widget
2828
def plot():
2929
df = weather_dat()
3030
fig = go.Figure()
31-
fig.add_trace(go.Scatter(x=df['time'], y=df['temperature_2m'], mode='lines', name='Temperature'))
32-
fig.add_trace(go.Bar(x=df['time'], y=df['rain'], name='Rain', yaxis='y2'))
33-
fig.add_vline(x = datetime.datetime.today())
31+
fig.add_trace(
32+
go.Scatter(
33+
x=df["time"], y=df["temperature_2m"], mode="lines", name="Temperature"
34+
)
35+
)
36+
fig.add_trace(go.Bar(x=df["time"], y=df["rain"], name="Rain", yaxis="y2"))
37+
fig.add_vline(x=datetime.datetime.today())
3438
fig.update_layout(
35-
xaxis_title='Date',
36-
yaxis_title='Temperature (°C)',
37-
yaxis2=dict(
38-
title='Rain (mm)',
39-
overlaying='y',
40-
side='right'
41-
),
42-
showlegend = False
39+
xaxis_title="Date",
40+
yaxis_title="Temperature (°C)",
41+
yaxis2=dict(title="Rain (mm)", overlaying="y", side="right"),
42+
showlegend=False,
4343
)
4444
return fig
4545

46-
@render.table(index= True)
46+
47+
@render.table(index=True)
4748
def table():
4849
df = weather_dat()
49-
df['time'] = pd.to_datetime(df['time'])
50-
df.set_index('time', inplace=True)
51-
daily_summary = df.resample('D').agg({
52-
'temperature_2m': ['min', 'max'],
53-
'rain': 'sum'
54-
})
50+
df["time"] = pd.to_datetime(df["time"])
51+
df.set_index("time", inplace=True)
52+
daily_summary = df.resample("D").agg(
53+
{"temperature_2m": ["min", "max"], "rain": "sum"}
54+
)
5555
daily_summary = daily_summary.T
56-
daily_summary.index = ['min. T (°C)', 'max. T (°C)', 'Rain (mm)']
57-
daily_summary.columns = [col.strftime('%d.%m') for col in daily_summary.columns]
56+
daily_summary.index = ["min. T (°C)", "max. T (°C)", "Rain (mm)"]
57+
daily_summary.columns = [col.strftime("%d.%m") for col in daily_summary.columns]
5858
return daily_summary

0 commit comments

Comments
 (0)