Skip to content

Configuration matrix

Settings fields

59

Env-var bindings

52

Categories

8

GraceKelly reads its configuration from environment variables (with .env autoloaded outside pytest). Every GRACEKELLY_* variable maps to a frozen Settings dataclass field. Validation runs in Settings.validate() at startup; invalid combinations raise ValueError before the app accepts traffic.

Env varSettings fieldTypeDefault
GRACEKELLY_ENVenvstr”development”
GRACEKELLY_HOSThoststr”127.0.0.1”
GRACEKELLY_PORTportint8011
GRACEKELLY_LOG_LEVELlog_levelstr”INFO”
GRACEKELLY_API_KEYapi_key`strNone`
Env varSettings fieldTypeDefault
GRACEKELLY_EXECUTION_PROFILEexecution_profilestr”dry-run”
GRACEKELLY_ORCHESTRATE_TIMEOUT_SECONDSorchestrate_timeout_seconds`floatNone`
GRACEKELLY_ENABLE_MODEL_FALLBACKenable_model_fallbackboolFalse
GRACEKELLY_CONTEXT_WINDOW_TURNScontext_window_turnsint20
GRACEKELLY_MAX_CONTEXT_CHARSmax_context_charsint50_000
Env varSettings fieldTypeDefault
GRACEKELLY_MISTRAL_API_KEYmistral_api_key`strNone`
GRACEKELLY_MISTRAL_BASE_URLmistral_base_urlstrhttps://api.mistral.ai/v1
GRACEKELLY_MISTRAL_TIMEOUT_SECONDSmistral_timeout_secondsfloat30.0
GRACEKELLY_MISTRAL_MAX_RETRIESmistral_max_retriesint0
GRACEKELLY_MISTRAL_RETRY_BACKOFF_SECONDSmistral_retry_backoff_secondsfloat1.0
GRACEKELLY_OPENAI_API_KEYopenai_api_key`strNone`
GRACEKELLY_OPENAI_BASE_URLopenai_base_urlstrhttps://api.openai.com/v1
GRACEKELLY_OPENAI_TIMEOUT_SECONDSopenai_timeout_secondsfloat60.0
GRACEKELLY_OPENAI_MAX_RETRIESopenai_max_retriesint0
GRACEKELLY_OPENAI_RETRY_BACKOFF_SECONDSopenai_retry_backoff_secondsfloat1.0
GRACEKELLY_ANTHROPIC_API_KEYanthropic_api_key`strNone`
GRACEKELLY_ANTHROPIC_BASE_URLanthropic_base_urlstrhttps://api.anthropic.com
GRACEKELLY_ANTHROPIC_TIMEOUT_SECONDSanthropic_timeout_secondsfloat120.0
GRACEKELLY_ANTHROPIC_MAX_RETRIESanthropic_max_retriesint0
GRACEKELLY_ANTHROPIC_RETRY_BACKOFF_SECONDSanthropic_retry_backoff_secondsfloat1.0
Env varSettings fieldTypeDefault
GRACEKELLY_BROWSER_ENABLEDbrowser_enabledboolFalse
GRACEKELLY_BROWSER_AUTOMATION_BACKENDbrowser_automation_backendstr”null”
GRACEKELLY_BROWSER_PROFILE_DIRbrowser_profile_dir`strNone`
GRACEKELLY_BROWSER_BASE_URLbrowser_base_urlstrhttps://www.perplexity.ai
GRACEKELLY_BROWSER_PLAYWRIGHT_CHANNELbrowser_playwright_channelstr”chrome”
GRACEKELLY_BROWSER_PLAYWRIGHT_HEADLESSbrowser_playwright_headlessboolFalse
GRACEKELLY_BROWSER_CALL_TIMEOUT_SECONDSbrowser_call_timeout_secondsint120
browser_human_action_delay_secondsfloat1.0
GRACEKELLY_MAX_BROWSER_SUBMITS_PER_TASKmax_browser_submits_per_task`intNone`
GRACEKELLY_MAX_BROWSER_SUBMITS_PER_HOURmax_browser_submits_per_hour`intNone`
browser_circuit_breaker_enabledboolTrue
browser_circuit_breaker_failure_thresholdint3
browser_circuit_breaker_cooldown_secondsint60
browser_scripted_logged_inboolTrue
GRACEKELLY_BROWSER_SCRIPTED_MODEL_LABELbrowser_scripted_model_label`strNone`
browser_scripted_output_textstr”scripted browser result”
GRACEKELLY_BROWSER_SCREENSHOTS_DIRbrowser_screenshots_dir`strNone`
Env varSettings fieldTypeDefault
GRACEKELLY_STORAGE_BACKENDstorage_backendstr”memory”
GRACEKELLY_POSTGRES_DSNpostgres_dsn`strNone`
GRACEKELLY_POSTGRES_CONNECT_TIMEOUT_SECONDSpostgres_connect_timeout_secondsint5
GRACEKELLY_POSTGRES_POOL_ENABLEDpostgres_pool_enabledboolFalse
GRACEKELLY_POSTGRES_POOL_MIN_SIZEpostgres_pool_min_sizeint1
GRACEKELLY_POSTGRES_POOL_MAX_SIZEpostgres_pool_max_sizeint5
Env varSettings fieldTypeDefault
GRACEKELLY_REDIS_URLredis_url`strNone`
GRACEKELLY_RATE_LIMIT_RPMrate_limit_rpmint60
GRACEKELLY_RATE_LIMIT_BURSTrate_limit_burstint10
Env varSettings fieldTypeDefault
GRACEKELLY_SENTRY_DSNsentry_dsn`strNone`
GRACEKELLY_SENTRY_ENVIRONMENTsentry_environmentstr”production”
GRACEKELLY_OTEL_ENDPOINTotel_endpoint`strNone`
GRACEKELLY_OTEL_SERVICE_NAMEotel_service_namestr”gracekelly”
GRACEKELLY_HEALTH_EXPOSE_DETAILShealth_expose_detailsboolFalse
GRACEKELLY_USAGE_TELEMETRY_ENABLEDusage_telemetry_enabledboolFalse
GRACEKELLY_USAGE_TELEMETRY_PATHusage_telemetry_path`strNone`
Env varSettings fieldTypeDefault
model_catalog_refresh_interval_hoursfloat24.0