aoirint_jmapy
Unofficial JMA weather forecast API wrapper in Python
気象庁天気予報データの非公式Pythonラッパー
2022-05-27時点のAPIに対応
Install
pip3 install aoirint_jmapy
Usage
東京都 東京地方のデータを見る例
from aoirint_jmapy import JmaApi, Telops
jma = JmaApi(
jma_url='https://www.jma.go.jp',
app_name='MyWeatherApp',
app_version='0.1.0',
)
forecast = jma.forecast(area_id='130000')
print(forecast)
print(forecast[0])
print(forecast[0].timeSeries[0])
print(forecast[0].timeSeries[1])
overview_forecast = jma.overview_forecast(area_id='130000')
print(overview_forecast.text)
overview_week = jma.overview_week(area_id='130000')
print(overview_week.text)
weather_code = '101'
print(Telops[weather_code][3])
area_idを調べる
- ※ 単一の地点のみでいい場合、気象庁の天気予報ページから手動で選択して実際のリクエストURLから抽出する方が簡単
area = jma.area()
print(area.centers)
print(area.centers['010100'])
print(area.centers['010300'])
Supported data url list
Third party contents
「晴」「曇後雨」などのテキストは、API中でweatherCode
という数値IDで識別されます。
この数値IDに対応するテキストはAPIから取得できず、JavaScriptコードとして埋め込まれています。
利便性のため、この辞書をダンプしたものをライブラリに同梱し、コード中から参照できるようにしています。
aoirint_jmapy/static/const_telops.json
Update const_telops.json
https://www.jma.go.jp/bosai/forecast/を開く。
開発者ツールで以下を実行、出力をコピーして貼り付けする。
console.log(JSON.stringify(Forecast.Const.TELOPS))
Development
Environment
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
Lock dependencies
pip3 install pip-tools
pip-compile requirements.in
pip-compile requirements.test.in
Test
# Download some JMA API response for test
./get_testdata.sh
pip3 install -r requirements.test.txt
mypy aoirint_jmapy/
pytest tests/
Release
GitHub Releaseを作成するとGitHub Actionsにより自動でPyPIにリリースされる。