项目设置

应用设置

Kedro项目的settings.py文件包含该项目的应用设置,包括Hooks和库组件的注册。本页说明设置的工作原理以及可用的设置项。

注意

应用设置与运行时配置不同,后者存储在conf文件夹中,并可能因配置环境而异;也与pyproject.toml不同,该文件提供项目元数据和构建配置。

默认情况下,settings.py中的所有代码都被注释掉了。当未提供设置时,Kedro会选择合理的默认值。您只需要在希望更改默认值时才需要编辑settings.py

设置

默认值

用途

HOOKS

tuple()

通过项目钩子在执行时间线中注入额外行为。

DISABLE_HOOKS_FOR_PLUGINS

tuple()

禁用插件中Hooks的自动注册功能

SESSION_STORE_CLASS

kedro.framework.session.session.BaseSessionStore

自定义会话数据的存储方式。

SESSION_STORE_ARGS

dict()

SESSION_STORE_CLASS 构造函数的参数。

CONTEXT_CLASS

kedro.framework.context.KedroContext

自定义Kedro库组件的管理方式。

CONF_SOURCE

"conf"

存放配置的目录。

CONFIG_LOADER_CLASS

kedro.config.ConfigLoader

自定义项目配置的处理方式。

CONFIG_LOADER_ARGS

dict()

CONFIG_LOADER_CLASS 构造函数的参数。

DATA_CATALOG_CLASS

kedro.io.DataCatalog

自定义数据目录的处理方式。

项目元数据

pyproject.toml 文件是存储Python项目构建元数据和工具配置的标准方式。 每个Kedro项目在根目录下都会预先生成一个默认的pyproject.toml文件,其中在[tool.kedro]部分指定了以下键值:

[tool.kedro]
package_name = "package_name"
project_name = "project_name"
kedro_init_version = "kedro_version"
tools = ""
example_pipeline = "False"
source_dir = "src"

package_name 应当是一个 有效的Python包名称,而 project_name 应当是一个易于理解的名称。这两个都是项目中必需的键值。 kedro_init_version 指定了创建项目时使用的Kedro版本。当您升级到新版本Kedro时, 这个值也应当相应更新。

你也可以使用pyproject.toml来指定功能设置,例如微包管理。 你还可以存储项目中使用的其他工具的配置,比如pytest用于自动化测试。 请查阅所用工具的相应文档,了解如何通过pyproject.toml文件为你的项目配置设置。

使用Kedro时不包含src文件夹

Kedro默认使用src目录结构。如需更改(例如改用扁平化布局),可按以下方式修改pyproject.toml文件。

+++ source_dir = ""
--- source_dir = "src"