Skip to main content

A module that supports the workflow of the RDE2.0 dataset construction program

Project description

GitHub Release python.org MIT License Issue workflow

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を実行してください。
  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rdetoolkit-0.9.0.tar.gz (10.0 MB view hashes)

Uploaded Source

Built Distribution

rdetoolkit-0.9.0-py3-none-any.whl (110.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page