From 4192f796980948c09ce6827163ab5fab29311a1d Mon Sep 17 00:00:00 2001 From: Sam Phinizy Date: Tue, 29 Oct 2024 11:45:09 -0400 Subject: [PATCH 1/2] Adds in experiments settings module --- src/prefect/settings/models/experiments.py | 15 +++++++++++++++ src/prefect/settings/models/root.py | 6 ++++++ 2 files changed, 21 insertions(+) create mode 100644 src/prefect/settings/models/experiments.py diff --git a/src/prefect/settings/models/experiments.py b/src/prefect/settings/models/experiments.py new file mode 100644 index 000000000000..59dfdd85a9b9 --- /dev/null +++ b/src/prefect/settings/models/experiments.py @@ -0,0 +1,15 @@ +from prefect.settings.base import PrefectBaseSettings, PrefectSettingsConfigDict + + +class ExperimentsSettings(PrefectBaseSettings): + """ + Settings for configuring experimental features + """ + + model_config = PrefectSettingsConfigDict( + env_prefix="PREFECT_EXPERIMENTS_", + env_file=".env", + extra="ignore", + toml_file="prefect.toml", + prefect_toml_table_header=("experiments",), + ) diff --git a/src/prefect/settings/models/root.py b/src/prefect/settings/models/root.py index f424b1d6a630..6ae1be2f245a 100644 --- a/src/prefect/settings/models/root.py +++ b/src/prefect/settings/models/root.py @@ -24,6 +24,7 @@ from .client import ClientSettings from .cloud import CloudSettings from .deployments import DeploymentsSettings +from .experiments import ExperimentsSettings from .flows import FlowsSettings from .internal import InternalSettings from .logging import LoggingSettings @@ -89,6 +90,11 @@ class Settings(PrefectBaseSettings): description="Settings for configuring deployments defaults", ) + experiments: ExperimentsSettings = Field( + default_factory=ExperimentsSettings, + description="Settings for controlling experimental features", + ) + flows: FlowsSettings = Field( default_factory=FlowsSettings, description="Settings for controlling flow behavior", From 4bb348674808a6185b4399abdde14a0c6a3e4874 Mon Sep 17 00:00:00 2001 From: Sam Phinizy Date: Tue, 29 Oct 2024 11:56:05 -0400 Subject: [PATCH 2/2] Updates settings schema --- schemas/settings.schema.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/schemas/settings.schema.json b/schemas/settings.schema.json index b0f08a4a1983..240067ee1d25 100644 --- a/schemas/settings.schema.json +++ b/schemas/settings.schema.json @@ -245,6 +245,12 @@ "title": "DeploymentsSettings", "type": "object" }, + "ExperimentsSettings": { + "description": "Settings for configuring experimental features", + "properties": {}, + "title": "ExperimentsSettings", + "type": "object" + }, "FlowsSettings": { "description": "Settings for controlling flow behavior", "properties": { @@ -1571,6 +1577,10 @@ "deployments": { "$ref": "#/$defs/DeploymentsSettings" }, + "experiments": { + "$ref": "#/$defs/ExperimentsSettings", + "description": "Settings for controlling experimental features" + }, "flows": { "$ref": "#/$defs/FlowsSettings" },