@morph.funcのアノテーションをつけることでmorphで実行できる関数として登録ができます。

@morph.func(
    name: str | None = None,
    description: str | None = None,
    output_paths: list[str] | None = None,
    output_type: Optional[
        Literal["dataframe", "csv", "visualization", "markdown", "json"]
    ] = None,
    **kwargs: dict[str, Any],
)
def func_name(context):
	# write your code here

Parameters

name
string
default: "関数名"

処理名, 他のファイルから呼び出す時のエイリアスとしても使える。

description
string

処理の説明を記述できる

output_paths
array: string
default: "['/tmp/morph/{name}/{now()}{ext()}']"

結果ファイルの出力先。

記述方法はこちらを参照してください。

output_type
string

出力結果の形式の指定。指定をしない場合はシステムで自動で推定をします。

Values: dataframe, visualization, markdown, json

使用例

@morph.func(
    name="example_python_cell",
    description="Example Python cell",
)
def get_data_from_database(context):
    # write your code here
	return pd.DataFrame({
        "name": ["John", "Doe"],
        "age": [20, 30],
    })