コマンドライン¶
SOPRANをインストールすると、次のコマンドが使えます。どれもpython -m <モジュール>の形でも呼べます。
| コマンド | モジュール | 用途 |
|---|---|---|
sopran-store |
sopran.core.sync |
Storeの同期・検証・索引の作り直し |
sopran-env-check |
sopran.env_check |
ソースからビルドするための環境と、外部のデータ配布元への接続の確認 |
sopran-schema-docs |
sopran.schema_docs |
スキーマのリファレンスの生成 |
| — | sopran.experimental.kaguya.er_batch |
ERの全期間バッチ(ER全期間バッチ) |
sopran-store¶
sopran-store [--data-root DATA_ROOT] {sync-list,verify,rebuild,excludes} ...
--data-rootを省くと、設定に従うStoreを使います。
| サブコマンド | 動作 | オプション |
|---|---|---|
sync-list |
rsync --files-fromに渡すファイルの一覧を標準出力に書く。既定はmanagedのデータセットだけ |
--dataset ID(IDかその先頭部分)、--layer、--variant、--all(managedでないものも含める)、--raw PREFIX(raw/の下を加える) |
verify |
シャードをカタログと付属JSONに照らして確かめる | --dataset、--layer、--variant、--all |
rebuild |
付属JSONからカタログと索引を作り直す。付属JSONの無い古いデータセットには作る | --layer |
excludes |
同期しないファイルのパターンを書く(rsync --exclude-from用) |
手順の例はStoreを別マシンへ運ぶにあります。
sopran-env-check¶
sopran-env-check [--native] [--sources] [--timeout SECONDS]
ソースからインストールするのに必要なものがそろっているかを確かめます。--nativeは、Rust拡張sopran._nativeをビルドするための
Rustのツールチェーンと、WindowsではMSVCのビルドツールを確かめます。
--sourcesは、SOPRANが取得に使う外部の配布元(JAXA DARTS、京都大学のPACE校正表、NASA NAIF、NASA SPDF、NASA PDS PPI、USGS)に、
既知のファイルを1つずつ問い合わせます。URLは読み込みと同じ関数で作り、ヘッダーだけを受け取るので、ダウンロードもStoreへの書き込みもしません。
配布元は並列に確かめ、サーバーエラーとタイムアウトは5秒おいて2回まで再試行します。--timeoutは1回の問い合わせを待つ秒数(既定60)です。
| 表示 | 意味 | 次にすること |
|---|---|---|
OK |
ファイルに届いた。リダイレクトされたときは移転先も表示する | なし |
MISSING |
配布元は応答したがファイルが無い(404・410) | 配布元が移転したか構成を変えた可能性が高い。配布元のサイトを確かめ、SOPRANのURLを直す |
UNAVAILABLE |
サーバーエラー(5xx・429)、タイムアウト、接続の失敗 | 多くは一時的。時間をおいて再実行し、続くならこのマシンのネットワークを確かめる |
ERROR |
アクセスを拒否された(403など) | アクセス制限やプロキシを確かめる |
どれか1つでもOKでなければ0以外で終わります。計算ノードのように外部へ通信できるか分からないマシンでは、
長い取得を始める前にこのコマンドで確かめてください。通信できない場合はSOPRAN_OFFLINE=1を設定します(設定)。
sopran-schema-docs¶
sopran-schema-docs [--check] [--language {ja,en}] [path]
コードのスキーマ定義からスキーマのページを生成します。pathの既定はdocs/ja/reference/schemas.mdです。
--checkは書き込まずに、ファイルが最新でなければ0以外で終わります(CIで使います)。
python -m sopran.schema_docs docs/ja/reference/schemas.md
python -m sopran.schema_docs --language en docs/en/reference/schemas.md