Raspberry PiをHDMIで接続したモニターそのまま天気情報ディスプレイとして使いたいと思っても、デスクトップ環境の構築やブラウザの常駐は意外に手間がかかる。「StormShell」はその手間を省くために作られたPythonツールだ。Pythonの標準ライブラリだけで動作し、追加のパッケージインストールもAPIキーも不要。GitHubでMITライセンスのもと公開されている。
ターミナル上にASCIIアートで天気情報をリアルタイム描画する仕組みで、気温・体感温度・湿度・風速・4時間予報を表示する。天気の状態に応じたアニメーション(晴れ・曇り・雨・雪・霧・嵐など11種類)が自動で切り替わり、日没後は星空と月の満ち欠けアニメーションに移行する夜間モードも備えている。月の満ち欠けはAPIなしでローカル計算する。気圧トレンドや大気質指数(AQI)、花粉情報も表示できる。
Raspberry Piでは--kioskオプションを付けるとデスクトップ環境なしにHDMI出力を直接乗っ取り、フルスクリーンの天気キオスクとして動作する。SSH経由のリモートターミナルや、macOS・Linuxのデスクトップターミナルエミュレータでもそのまま使える。
インストールはcurlワンライナーで完結し、都市名・郵便番号(US/UK/カナダ)どちらでも場所を指定できる。最小ターミナルサイズは97×27で、Python 3.9以降が必要だ。天気データはAPIキー不要のOpen-Meteoを使用する。