Skip to content

コマンドライン機能について

init: スタートアッププロジェクトの作成

以下のコマンドで、RDE構造化処理のスタートアッププロジェクトを作成することができます。

1
python3 -m rdetoolkit init
1
py -m rdetoolkit init

以下のディレクトリとファイル群が生成されます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
container
├── data
│   ├── inputdata
│   ├── invoice
│      └── invoice.json
│   └── tasksupport
│       ├── invoice.schema.json
│       └── metadata-def.json
├── main.py
├── modules
└── requirements.txt

各ファイルの説明は以下の通りです。

  • requirements.txt
    • 構造化プログラム構築で使用したいPythonパッケージを追加してください。必要に応じてpip installを実行してください。
  • modules
    • 構造化処理で使用したいプログラムを格納してください。別セクションで説明します。
  • main.py
    • 構造化プログラムの起動処理を定義
  • data/inputdata
    • 構造化処理対象データファイルを配置してください。
  • data/invoice
    • ローカル実行させるためには空ファイルでも必要になります。
  • data/tasksupport
    • 構造化処理の補助するファイル群を配置してください。

Tip

すでに存在するファイルは上書きや生成がスキップされます。

ExcelInvoiceの生成機能について

make_excelinvoiceで、invoic.schema.jsonからExcelinvoiceを生成可能です。利用可能なオプションは以下の通りです。

オプション 説明 必須
-o(--output) 出力ファイルパス。ファイルパスの末尾は_excel_invoice.xlsxを付与すること。 o
-m モードの選択。登録モードの選択。ファイルモードfileかフォルダモードfolderを選択可能。 -
1
python3 -m rdetoolkit make_excelinvoice <invoice.schema.json path> -o <save file path> -m <file or folder>
1
py -m rdetoolkit make_excelinvoice <invoice.schema.json path> -o <save file path> -m <file or folder>

Tip

-oを指定しない場合は、template_excel_invoice.xlsxというファイル名で、実行ディレクトリ配下に作成されます。

version: バージョン確認

以下のコマンドで、rdetoolkitのバージョンを確認することができます。

1
python3 -m rdetoolkit version
1
py -m rdetoolkit version

artifact: RDE提出用アーカイブの作成

artifactコマンドを使用して、RDEに提出するためのアーカイブ(.zip)を作成することができます。指定したソースディレクトリを圧縮し、除外パターンに一致するファイルやディレクトリを除外します。

1
python3 -m rdetoolkit artifact --source-dir <ソースディレクトリ> --output-archive <出力アーカイブファイル> --exclude <除外パターン>
1
py -m rdetoolkit artifact --source-dir <ソースディレクトリ> --output-archive <出力アーカイブファイル> --exclude <除外パターン>

利用可能なオプションは以下の通りです。

オプション 説明 必須
-s(--source-dir) 圧縮・スキャン対象のソースディレクトリ o
-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
25
26
# Execution Report

**Execution Date:** 2025-04-08 02:58:44

- **Dockerfile:** [Exists]: 🐳 container/Dockerfile
- **Requirements:** [Exists]: 🐍 container/requirements.txt

## Included Directories

- container/requirements.txt
- container/Dockerfile
- container/vuln.py
- container/external.py

## Code Scan Results

### container/vuln.py

**Description**: Usage of eval() poses the risk of arbitrary code execution.

```python
def insecure():

    value = eval("1+2")

    print(value)

External Communication Check Results

container/external.py

1
2
3
4
5
1:
2: import requests
3: def fetch():
4:     response = requests.get("https://example.com")
5:     return response.text
```

Tip

--output-archiveを指定しない場合、デフォルトのファイル名でアーカイブが作成されます。 --excludeオプションは複数回指定することができます(例:--exclude venv --exclude .git)。