Skip to main content

Kanameishi(要石)

ターミナル上で動作するリアルタイム地震情報モニターアプリケーション。

P2P地震情報 API v2 を利用して、地震情報・津波予報をリアルタイムに表示します。

機能

  • 🗾 ASCIIアート日本地図上に震源を表示
  • 🚨 緊急地震速報〔警報〕の受信時、地図上にP波・S波の到達予想円をアニメーション表示
  • ⏱️ 予報区ごとの主要動到達カウントダウン (「あと N 秒」)
  • 📊 震度分布をカラーバーチャートで表示
  • 📍 震度ごと・都道府県ごとの観測地点名 (市区町村レベル) を一覧表示
  • 📋 地震履歴の一覧表示
  • 🌊 津波予報の警告表示
  • 🔄 WebSocket によるリアルタイム更新
  • 🔔 OS通知・音アラート (震度しきい値を設定可能)
  • 📍 「自分の地域」の震度をヘッダーに常時表示。緊急地震速報では自分の地域を最優先で表示し、しきい値未満でも通知
  • ⚙️ TUI 上から編集できる設定画面
  • ⌨️ キーボードショートカットによる操作

インストール

PyPI からインストール (推奨)

パッケージ名は kanameishi、起動コマンドは kaname です。依存関係を専用の仮想環境に隔離したまま、どのディレクトリからでも実行できます。

# pipx が未導入の場合 (初回のみ)
brew install pipx
pipx ensurepath  # PATH 追加。反映されない場合はターミナルを再起動

pipx install kanameishi

uv を使っている場合:

uv tool install kanameishi

インストールせず一度だけ試す (コマンド名が違うため --from が必要):

uvx --from kanameishi kaname

更新・アンインストール:

pipx upgrade kanameishi
pipx uninstall kanameishi

Release の wheel を指定する

バージョンを固定したい場合は、Releases に添付された wheel を直接指定できます。

# X.Y.Z は Releases ページで最新のバージョンに置き換えてください
pipx install https://github.com/yamato3010/kanameishi/releases/download/vX.Y.Z/kanameishi-X.Y.Z-py3-none-any.whl

ソースからインストール

# リポジトリのルートで実行
pipx install .

# 更新する場合 (コードを変更/pull した後)
pipx install . --force

pipx を使わない場合

pip install --user .

開発用インストール (editable)

コードを編集しながら動作確認したい場合はこちら。

pip install -e .

使い方

# モジュールとして実行 (editable インストール時など)
python -m kanameishi

# グローバルインストール後はどこからでも実行可能
kaname

キーバインド

キー 動作
Q アプリ終了
R データ更新
(K J) 履歴スクロール
D 選択した地震の詳細 (Esc / D で閉じる)
, 設定 (Esc で閉じる)
? このアプリについて (Esc で閉じる)
E 緊急地震速報のデモ表示 (動作確認用)

詳細画面 (D)

履歴で選んだ地震について、メイン画面のパネルに収まらない情報をまとめて表示します。

  • 震源の座標・発生時刻・発表時刻・発表種別・情報ID
  • 「自分の地域」でこの地震が観測された震度
  • 全観測地点を震度の大きい順・都道府県ごとに一覧 (メイン画面の震度分布パネルは件数を絞って表示しています)
キー 動作
(K J) 観測地点リストをスクロール
Esc D 閉じる

設定画面 (,)

マウスでも操作できますが、キーボードだけで完結します。

キー 動作
(K J) 項目を移動
Tab Shift+Tab 項目を移動
Space スイッチの ON/OFF を切り替え
Enter ドロップダウンを開く / 決定
S 保存して閉じる
Esc 保存せずに閉じる

自分の地域

都道府県をひとつ登録しておくと、自分に関係する揺れを優先して扱います。設定画面 (,) の「自分の地域」で選びます (既定は未設定)。

  • ヘッダーに「📍東京都 震度3 12分前」のように、その地域を最後に揺らした地震の震度を常時表示します (履歴に無ければ「揺れなし」)
  • 緊急地震速報では、自分の地域の予報区を予報区一覧の上に大きく取り出して、予想震度と主要動到達までの秒数を表示します
  • 通知しきい値 (「通知する最小震度」) 未満でも、自分の地域が揺れたら通知します。うるさい場合は「自分の地域が揺れたら震度によらず通知」を切ってください
  • 通知の本文には自分の地域の震度も併記します (例: 千葉県北西部 M5.2(📍東京都 震度2))

震度は都道府県単位の判定です。同じ都道府県に複数の観測点・予報区がある場合は、そのうち最も大きい震度を採用します。

通知

ターミナルを見ていないときでも地震に気づけるよう、OS のデスクトップ通知と音アラートを出せます。 , キーの設定画面から変更でき、内容は設定ファイルに保存されます。

設定 既定値 説明
自分の地域 (都道府県) 未設定 優先して扱う都道府県 (自分の地域)
OS通知 有効 OS のデスクトップ通知を出す
通知する最小震度 震度4 この震度以上の地震のみ通知する
音アラート 有効 通知と同時に端末ベルを鳴らす
緊急地震速報は震度によらず通知 有効 EEW をしきい値に関係なく通知する
津波予報は震度によらず通知 有効 津波予報をしきい値に関係なく通知する
自分の地域が揺れたら震度によらず通知 有効 自分の地域の揺れをしきい値に関係なく通知する
  • OS通知は macOS (osascript) と Linux (notify-send) に対応します。notify-send が未インストールの Linux やその他の環境では、OS通知は出ず音アラートのみになります
  • 音アラートは端末ベル (\a) を鳴らします。端末側でベルを無効化している場合は鳴りません (ターミナルの設定を確認してください)
  • macOS では初回の通知時にシステムの通知許可が必要です。届かない場合は「システム設定 → 通知」でお使いのターミナルアプリを確認してください

設定ファイル

~/.config/kanameishi/config.json に保存されます (XDG_CONFIG_HOME を設定している場合はそちらに従います)。

{
  "notify": {
    "enabled": true,
    "min_scale": 40,
    "sound": true,
    "eew_always": true,
    "tsunami_always": true,
    "region_always": true
  },
  "region": "東京都"
}

min_scale は P2P地震情報 API の震度値で、10=震度1, 20=震度2, 30=震度3, 40=震度4, 45=震度5弱, 50=震度5強, 55=震度6弱, 60=震度6強, 70=震度7 です。 region は都道府県名 ("東京都" "大阪府" "北海道" など) で、"" なら未設定です。 ファイルが無い場合や壊れている場合は既定値で起動します。region に都道府県名以外を書いた場合は未設定として扱います。

緊急地震速報について

  • P2P地震情報の code 556 (緊急地震速報〔警報〕) を受信して表示します。警報級 (予想最大震度5弱以上) のみ配信されるため、実際に受信する機会はまれです
  • P波 (○) ・S波 (●) の到達予想円は定数速度 (P: 7km/s, S: 4km/s) による近似で、気象庁の走時表とは数秒ずれることがあります
  • E キーでデモ用のEEWを表示して動作を確認できます
  • 環境変数 KANAME_SANDBOX=1 を設定して起動すると、P2P地震情報の開発サンドボックスAPI (過去データの繰り返し配信) に接続します

時刻の扱い

画面に出る時刻・相対表記 (「n分前」) ・カウントダウンはすべて日本標準時 (JST) 基準です。端末のタイムゾーンがJST以外でもずれません。

データソース

P2P地震情報 - 商用・非商用問わず無償利用可能

ライセンス

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kanameishi-0.3.0.tar.gz (43.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kanameishi-0.3.0-py3-none-any.whl (49.4 kB view details)

Uploaded Python 3

File details

Details for the file kanameishi-0.3.0.tar.gz.

File metadata

  • Download URL: kanameishi-0.3.0.tar.gz
  • Upload date:
  • Size: 43.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for kanameishi-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e7dc00580785e41e0abc290bc8970ece0ee7d87ff283e9039854eefbdb2bdb3a
MD5 2b0285935866126e67ec97ac306474b7
BLAKE2b-256 257f204df66418d1e1e5cfb303668c3c8f7c2c81129bea20a4a4291bc8da141b

See more details on using hashes here.

Provenance

The following attestation bundles were made for kanameishi-0.3.0.tar.gz:

Publisher: release-please.yml on yamato3010/kanameishi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kanameishi-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: kanameishi-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 49.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for kanameishi-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 76966811e1c46b02c0d7b75d6cb082820ad43d70a8e7e02970cc4a0e9a77d371
MD5 0a8308a1d4b8983a3385a0175032bd85
BLAKE2b-256 4005b8691e7d558d99181d8f5de495325963e25757b9a137b6cba42a77b14e53

See more details on using hashes here.

Provenance

The following attestation bundles were made for kanameishi-0.3.0-py3-none-any.whl:

Publisher: release-please.yml on yamato3010/kanameishi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page