A module that supports the workflow of the RDE2.0 dataset construction program
Project description
RDEToolKit
RDEToolKitは、RDE2.0構造化プログラムのワークフローを作成するための基本的なPythonパッケージです。 RDEToolKitの各種モジュールを使うことで、RDEへの研究・実験データの登録処理を簡単に構築できます。 また、ユーザーが研究や実験データに対して使用されているPythonモジュールと組み合わせることで、データの登録から加工、グラフ化などより多様な処理を実現できます。
Documents
See documentation for more details.
Contributing
変更を加える場合、以下のドキュメントを一読お願いします。
Install
インストールは、下記コマンドを実行してください。
pip install rdetoolkit
Usage
RDE構造化プログラム構築の一例です。
プロジェクトを作成する
まず、RDE構造化プログラムに必要なファイルを準備します。以下のコマンドをターミナルやシェル上で実行してください。
python3 -m rdetoolkit init
コマンドが正しく動作すると、下記で示したファイル・ディレクトリが生成されます。
この例では、container
というディレクトリを作成して、開発を進めます。
- requirements.txt
- 構造化プログラム構築で使用したいPythonパッケージを追加してください。必要に応じて
pip install
を実行してください。
- 構造化プログラム構築で使用したいPythonパッケージを追加してください。必要に応じて
- modules
- 構造化処理で使用したいプログラムを格納してください。別セクションで説明します。
- main.py
- 構造化プログラムの起動処理を定義
- data/inputdata
- 構造化処理対象データファイルを配置してください。
- data/invoice
- ローカル実行させるためには空ファイルでも必要になります。
- data/tasksupport
- 構造化処理の補助するファイル群を配置してください。
container
├── data
│ ├── inputdata
│ ├── invoice
│ │ └── invoice.json
│ └── tasksupport
│ ├── invoice.schema.json
│ └── metadata-def.json
├── main.py
├── modules
└── requirements.txt
構造化処理の実装
入力データに対してデータ加工・グラフ化・機械学習用のcsvファイルの作成など処理を実行し、RDEへデータを登録できます。下記の書式に従っていただければ、独自の処理をRDEの構造化処理のフローに組み込み込むことが可能です。
dataset()
は、以下の2つの引数を渡してください。
- srcpaths (RdeInputDirPaths): 処理のための入力リソースへのパス
- resource_paths (RdeOutputResourcePath): 処理結果を保存するための出力リソースへのパス
def dataset(srcpaths: RdeInputDirPaths, resource_paths: RdeOutputResourcePath):
...
今回の例では、modules
以下に、def display_messsage()
というダミー処理を定義し、独自の構造化処理を定義したいと思います。modules/process.py
というファイルを作成します。
# modules/process.py
def display_messsage(path):
print(f"Test Message!: {path}")
def dataset(srcpaths, resource_paths):
display_messsage(srcpaths)
display_messsage(resource_paths)
起動処理について
続いて、rdetoolkit.workflow.run()
を使って、起動処理を定義します。起動処理で主に実行処理は、
- 入力ファイルのチェック
- 入力ファイルとRDE構造化で規定する各種ディレクトリパスを取得する
- ユーザーごとで定義した具体的な構造化処理を実行
from modules import process #独自で定義した構造化処理関数
import rdetoolkit
#独自で定義した構造化処理関数を引数として渡す
rdetoolkit.workflows.run(custom_dataset_function=process.dataset)
もし、独自の構造化処理を渡さない場合、以下のように定義してください。
import rdetoolkit
rdetoolkit.workflows.run()
ローカル環境で動作させる場合
各自のローカル環境で、デバッグやテスト的にRDEの構造化処理を実行したい場合、data
ディレクトリに必要な入力データを追加することで、ローカル環境でも実行可能です。ディレクトリ構造は、以下のように、main.pyと同じ階層にdataディレクトリを配置していただければ動作します。
container/
├── main.py
├── requirements.txt
├── modules/
│ ├── process.py
└── data/
├── inputdata/
│ └── <処理したい実験データ>
├── invoice/
│ └── invoice.json
└── tasksupport/
├── metadata-def.json
├── invoice.schema.json
└── invoice.json
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for rdetoolkit-0.9.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c581eec6c933135738e4bdbe784b2d9a4c35480884c573017e4d4f2203209df3 |
|
MD5 | e9e0014584cdbeac0f41d60b9d385951 |
|
BLAKE2b-256 | 24910d32014380dd76625dbf4b9ae0699a78b4087a33595e09cbfb5ec422ec55 |