morph_project.ymlは、Morphのフレームワークを実行時に使用される設定ファイルです。morph newコマンドを使用してMorphのプロジェクトを立ち上げると自動的にデフォルトの値が設定されたファイルが作成されます。

# Profile Section in `~/.morph/credentials`
profile: default

# Project ID
project_id: xxxxxx-xxxxx-xxxx-xxxxx

# Connection
default_connection: DUCKDB

# Source Directory
source_paths:
- src

# Result Cache (seconds)
result_cache_ttl: 0

# Python Package Manager
package_manager: pip

Parameters

profile
string
default:
"default"

使用するプロフィールを設定します。morph configコマンドで設定した~/.morph/credentialsに記載されたプロフィールのうちどれを使用するかを定義します。

project_id
string
default:
"null"

クラウドで作成したProjectのIDを設定します。クラウドのコネクターを使用する場合、デプロイを実行する場合は必須になります。

IDはクラウド上の個別プロジェクトページから取得することができます。

default_connection
string
default:
"DUCKDB"

デフォルトのDB接続を指定します。SQLファイルでconfig関数の中でconnectionを指定しなかった場合は自動的にこの接続が使用されます。

設定をする場合は、configのconnectionに設定と同様にコネクション名を設定してください。

予約語

以下の予約語は、コネクションを作成しなくても使用できます。

  • DUCKDB: DuckDBがデータベースエンジンとして使用されます。
  • MORPH_BUILTIN_DB: MorphのビルトインPostgreSQLがデータベースエンジンとして使用されます。
source_paths
string
default:
"src"

ソースパスを指定します。

ソースパスとして指定をしたディレクトリ以下にあるファイルがMorph上で実行可能なソースコードとして扱われます。

result_cache_ttl
integer
default:
"0"

データパイプラインの実行結果のキャッシュの有効期限を秒単位で指定します。 指定秒数以内に実行結果がある場合はキャッシュから結果を返却します。 morph serveコマンドの実行結果はこの値によってキャッシュされます。

  • result_cache_ttl: 0を指定した場合はキャッシュが無効化されます。
package_manager
string
default:
"pip"

プロジェクトで使用するPythonのパッケージマネジャー種別を設定します。
morph newコマンドを実行してプロジェクトを作成する際に、コマンドラインで選択されたパッケージマネジャーが設定されます。

使用可能なパッケージマネジャー

  • pip
  • poetry