Skip to content

Configuration

Configuration values are loaded from pyproject.toml under [tool.auto_workflow] merged with defaults and overridable via environment variables prefixed with AUTO_WORKFLOW_.

Defaults

Key Default Description
log_level INFO Baseline logging level (middleware dependent)
max_dynamic_tasks 2048 Guardrail for dynamic expansion
artifact_store memory Artifact backend (memory/filesystem)
artifact_store_path .aw_artifacts Directory for file store
artifact_serializer pickle Serializer for filesystem artifacts (pickle/json)
result_cache memory Result cache backend
result_cache_path .aw_cache Directory for file cache
result_cache_max_entries None Optional LRU bound for in-memory cache
process_pool_max_workers None Max workers for process pool

Example pyproject.toml

[tool.auto_workflow]
artifact_store = "filesystem"
artifact_store_path = ".data/artifacts"
result_cache = "filesystem"
result_cache_path = ".data/cache"
max_dynamic_tasks = 4096

Environment Overrides

export AUTO_WORKFLOW_RESULT_CACHE=filesystem
export AUTO_WORKFLOW_RESULT_CACHE_PATH=/tmp/aw_cache
# Logging controls
export AUTO_WORKFLOW_DISABLE_STRUCTURED_LOGS=1
export AUTO_WORKFLOW_LOG_LEVEL=DEBUG

# Process pool tuning
export AUTO_WORKFLOW_PROCESS_POOL_MAX_WORKERS=8

# Cache bounding
export AUTO_WORKFLOW_RESULT_CACHE_MAX_ENTRIES=1000

Reloading Config

from auto_workflow.config import reload_config
reload_config()

Caches are cleared (using lru_cache invalidation).