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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file rdetoolkit-0.9.0.tar.gz.

File metadata

  • Download URL: rdetoolkit-0.9.0.tar.gz
  • Upload date:
  • Size: 10.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for rdetoolkit-0.9.0.tar.gz
Algorithm Hash digest
SHA256 d4a9b679fbf0442d7803a8e431ac5e4a3b1818defb65dd6b402c291c5b81af64
MD5 16729b6c03d39d933a5e4fd20e07b68b
BLAKE2b-256 62b860fea7ad6488fbfb17b21069a7052e3dcecbf2b0d044f383db5be9faf3c3

See more details on using hashes here.

File details

Details for the file rdetoolkit-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: rdetoolkit-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 110.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for rdetoolkit-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c581eec6c933135738e4bdbe784b2d9a4c35480884c573017e4d4f2203209df3
MD5 e9e0014584cdbeac0f41d60b9d385951
BLAKE2b-256 24910d32014380dd76625dbf4b9ae0699a78b4087a33595e09cbfb5ec422ec55

See more details on using hashes here.

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