コマンドライン機能について
概要
RDEToolKitは、RDE構造化処理の開発と実行を支援する包括的なコマンドラインインターフェースを提供します。プロジェクトの初期化から、Excelインボイスの生成、アーカイブの作成まで、開発ワークフロー全体をサポートします。
前提条件
- Python 3.9以上
- rdetoolkitパッケージのインストール
利用可能なコマンド
init: スタートアッププロジェクトの作成
RDE構造化処理のスタートアッププロジェクトを作成します。
1 | |
1 | |
以下のディレクトリとファイル群が生成されます。
1 2 3 4 5 6 7 8 9 10 11 | |
各ファイルの説明は以下の通りです。
- requirements.txt: 構造化プログラム構築で使用したいPythonパッケージを追加してください。必要に応じて
pip installを実行してください。 - modules: 構造化処理で使用したいプログラムを格納してください。
- main.py: 構造化プログラムの起動処理を定義
- data/inputdata: 構造化処理対象データファイルを配置してください。
- data/invoice: ローカル実行させるためには空ファイルでも必要になります。
- data/tasksupport: 構造化処理の補助するファイル群を配置してください。
ファイル上書きについて
すでに存在するファイルは上書きや生成がスキップされます。
テンプレートを用いた初期化
--template <path> を付けると独自のスタータープロジェクトを流用できます。指定できるのは以下のいずれかです。
pyproject.tomlまたはrdeconfig.yaml/rdeconfig.ymlそのもの- 上記ファイルが格納されたディレクトリ(
--template .ならカレントディレクトリ内のpyproject.tomlを優先)
設定ファイルには [tool.rdetoolkit.init](pyproject)または init(rdeconfig)セクションを追加し、コピー元を記述します。
1 2 3 4 5 | |
キーの意味:
entry_point:container/main.pyとしてコピーされるファイル。modules:container/modules/配下に展開されるファイルまたはディレクトリ。tasksupport:container/data/tasksupport/とtemplates/tasksupport/の両方へ複製されるファイル/ディレクトリ。inputdata:container/data/inputdata/とinput/inputdata/に展開されるディレクトリ。
相対パスは設定ファイルが置かれたディレクトリから解決されるため、テンプレート用リポジトリを別環境でも共有できます。
PATHオプションで直接コピー元を指定する
設定ファイルにパスを書きたくない場合は、--template なしで次のPATHオプションを渡せます(複数併用可)。指定したパスは初期化に使われ、存在する pyproject.toml / rdeconfig.yaml(yml) があれば上書き追記されます(無ければ pyproject.toml を新規作成)。
| オプション | 役割・コピー先 |
|---|---|
--entry-point |
container/main.py としてコピー(ファイル限定) |
--modules |
container/modules/ 以下にコピー(ファイル/ディレクトリ対応) |
--tasksupport |
container/data/tasksupport/ と templates/tasksupport/ の両方にコピー(ファイル/ディレクトリ対応) |
--inputdata |
container/data/inputdata/ と input/inputdata/ にコピー(ディレクトリ推奨) |
--other (複数可) |
container/ 以下に任意のファイル/ディレクトリをコピー |
相対パスはカレントディレクトリ基準で保存されます。CLIオプションで渡したパスが設定ファイルより優先されます。
CLI出力例(PATHオプション使用時)
以下のように tpl/ 配下にテンプレートを置き、PATHオプションを付けて実行した場合の出力例です。
1 2 3 4 5 6 | |
出力(パスは実行環境に依存します):
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
処理後、pyproject.toml(または既存のrdeconfig.yaml)に [tool.rdetoolkit.init] が追記され、渡したパスが相対パスで保存されます。
make-excelinvoice: ExcelInvoiceの生成
invoice.schema.jsonからExcelインボイスを生成します。
1 | |
1 | |
オプション
| オプション | 説明 | 必須 |
|---|---|---|
| -o(--output) | 出力ファイルパス。ファイルパスの末尾は_excel_invoice.xlsxを付与すること。 |
○ |
| -m | モードの選択。登録モードの選択。ファイルモードfileかフォルダモードfolderを選択可能。 |
- |
デフォルト出力
-oを指定しない場合は、template_excel_invoice.xlsxというファイル名で、実行ディレクトリ配下に作成されます。
gen-config: rdeconfig.yamlテンプレートの生成
用意されているテンプレート、または対話形式の質問に基づいてrdeconfig.yamlを生成します。
1 | |
1 | |
利用できるテンプレートは以下の通りです。
minimal(デフォルト): システム設定とトレースバック設定のみを含む最小構成。full:multidata_tile設定を含む完全なテンプレート。multitile:extended_mode: "MultiDataTile"を有効化したテンプレート。rdeformat:extended_mode: "rdeformat"を有効化したテンプレート。smarttable: SmartTable設定を追加し、save_table_file: trueを設定。interactive: 対話形式で各設定項目を確認。--lang jaで日本語プロンプトに切り替え可能。
オプション
| オプション | 説明 | 必須 |
|---|---|---|
| OUTPUT_DIR | rdeconfig.yamlを出力するディレクトリ。省略時はカレントディレクトリに作成されます。 |
- |
| --template | テンプレート名(minimal, full, multitile, rdeformat, smarttable, interactive)。 |
- |
| --overwrite | 既存のrdeconfig.yamlがある場合に確認なしで強制上書きします。未指定なら既存時のみ確認を表示します。 |
- |
| --lang | プロンプトの言語(en または ja)。--template interactive選択時のみ利用できます。 |
- |
インタラクティブモード
--template interactiveを指定すると、システム設定、MultiDataTile設定、SmartTable設定、トレースバック設定について
対話形式で質問されます。回答はrdeconfig.yamlに反映され、プロジェクト開始時から整合した初期値を共有できます。
version: バージョン確認
rdetoolkitのバージョンを確認します。
1 | |
1 | |
artifact: RDE提出用アーカイブの作成
RDEに提出するためのアーカイブ(.zip)を作成します。指定したソースディレクトリを圧縮し、除外パターンに一致するファイルやディレクトリを除外します。
1 | |
1 | |
オプション
| オプション | 説明 | 必須 |
|---|---|---|
| -s(--source-dir) | 圧縮・スキャン対象のソースディレクトリ | ○ |
| -o(--output-archive) | 出力アーカイブファイル(例:rde_template.zip) | - |
| -e(--exclude) | 除外するディレクトリ名。デフォルトでは 'venv' と 'site-packages' が除外されます | - |
実行レポート
アーカイブが作成されると、以下のような実行レポートが生成されます:
- Dockerfileやrequirements.txtの存在確認
- 含まれるディレクトリとファイルのリスト
- コードスキャン結果(セキュリティリスクの検出)
- 外部通信チェック結果
実行レポートのサンプル:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
External Communication Check Results
container/external.py
1 2 3 4 5 | |
オプション詳細
--output-archiveを指定しない場合、デフォルトのファイル名でアーカイブが作成されます。--excludeオプションは複数回指定することができます(例:--exclude venv --exclude .git)。
シェル補完機能
コマンドやオプションの入力を補完するシェル補完機能を利用できます。Tabキーを押すことでコマンド名やオプション名の候補を表示できます。
対応シェル
- Bash
- Zsh
- Fish
- PowerShell
インストール方法
--install-completion オプションを使用して、現在使用中のシェルに補完機能をインストールできます:
1 | |
実行後、シェルを再起動することで補完機能が有効になります。
1 2 | |
手動インストール
補完スクリプトの内容を確認してから手動でインストールする場合は、--show-completion オプションを使用します:
1 | |
表示されたスクリプトを、シェルの設定ファイルに追加してください。
Bashの場合
1 2 | |
Zshの場合
1 2 | |
使用例
補完機能をインストールした後、Tabキーを押すことで候補を表示できます。
1 2 3 4 5 6 7 8 9 10 11 | |
アンインストール
補完機能を削除する場合は、シェルの設定ファイルから該当する行を削除してください。
Bashの場合は ~/.bashrc から、Zshの場合は ~/.zshrc から以下のような行を削除します:
1 | |
削除後、シェルを再起動してください。