Newer
Older
TIASDataHub / docs / 02_ENV / ENV_04_開発コマンド.md

開発コマンド (Development Commands)

日常の開発で使うコマンドの一覧.コマンドを推測せず,ここに書かれたものを使う.

セットアップ (Setup)

コマンド用途
uv sync依存を .venv/ に入れる(開発用の依存を含む)
uv sync --no-dev --extra import実行時の依存と,取り込み用の openpyxl だけを入れる(研究室 PC)

テスト・lint (Test & Lint)

コマンド用途
uv run pytestテストを実行する(ダミーデータのみ)
uv run ruff check .lint
uv run ruff format .整形(確認だけなら uv run ruff format --check .).docs/ は pyproject.toml で対象外にしている(Markdown のコード例を整形させないため)

CLI

コマンド用途
uv run tiasdata --version版を表示する
uv run tiasdata init設定ファイルに従って目録(catalog.sqlite)・store/・bundles/・backups/・対応表(identity.sqlite)を作り,スキーマのマイグレーションを適用する.何度実行してもよい(不足分だけ適用する)
uv run tiasdata import <取り込み元の名前>設定ファイルの [sources.<名前>] を取り込む(要確認リスト reviews/<名前>.toml が必要.空でよい.要確認の番号も印を付けて登録する).--show-source-names で問題のあったファイルの名前・対応表の行番号を表示する
uv run tiasdata stats症例・撮影・ファイル・所見の件数を表示する
uv run tiasdata checkストア・目録の点検(凍結した版の manifest の照合を含む).問題が 1 件以上なら終了コード 1
uv run tiasdata dataset listデータセットと版の一覧
uv run tiasdata dataset show <名前>版ごとの件数・作成日時・hub_commit・manifest の SHA-256・備考
uv run tiasdata dataset freeze <名前> [--note TEXT]datasets/<名前>.toml を目録に当てはめて新しい版を作る(構成が同じなら作らない).リポジトリに未コミットの変更があると止まる(研究室 PC は pull するだけなので通常は問題ない)
uv run tiasdata backup目録と対応表をそれぞれのフォルダの backups/ に複製し,整合性を点検する(取り込み・版の作成・編集の後に実行する)
uv run tiasdata export <名前> --version <版>凍結した版をバンドル(bundles/<名前>/v<版>/)に書き出す.既にあれば照合して使う
  • 設定ファイルは環境変数 TIASDATA_CONFIG のパス,無ければ ~/.config/tiasdata/config.toml(キーは SPEC_01「設定ファイル」)
  • 手元で試すときは一時フォルダに設定ファイルを作って指す(例: TIASDATA_CONFIG="$TMPDIR/tiasdata-try/config.toml" uv run tiasdata init.臨床データは使わない)
  • 研究室 PC では ssh labpc "cd C:\Users\Papin\source\TIASDataHub && C:\Users\Papin\.local\bin\uv.exe run tiasdata init" の形で実行する(ENV_02)
  • 失敗時は標準エラーに 1 行を出し,終了コード 1(入力・データの問題)または 2(引数の誤り)で終わる
  • import は openpyxl が要る(手元は uv sync で入る.研究室 PC は uv sync --no-dev --extra import).リポジトリの clone から実行する(要確認リストを読むため)
  • 使う側(Python)は tiasdata.load("<名前>", version=<版>) でバンドルを開く.置き場所は環境変数 TIASDATA_BUNDLES(既定 ~/data/tiasdata)
  • 残りのサブコマンド(受け渡し・バックアップ等)は実装した Step で追記する

依存の追加 (Dependencies)

コマンド用途
uv add <パッケージ>実行時の依存を追加する(使う側に入るため最小限にする)
uv add --dev <パッケージ>開発用の依存を追加する