Streamlit project-local config.toml resolution and STREAMLIT_CONFIG
0 reputation · 21 Apr 2023, 05:38 UTC
A repeatable local development setup is desired where server settings such as port, headless mode, and file watcher behavior are defined alongside the repository and behave consistently across macOS, Linux, and Windows contributors.
Streamlit resolves configuration from a user home directory by default, ~/.streamlit/config.toml on macOS and Linux and %USERPROFILE%\.streamlit\config.toml on Windows. A .streamlit/config.toml committed inside the application repository is not used automatically. Configuration can be redirected with STREAMLIT_CONFIG, and values may be overridden by STREAMLIT_SECTION_OPTION environment variables and by flags passed to streamlit run.
The permission boundary between user-level defaults and project-level intent is unclear, and the interaction of OS-specific default paths with a shared repository makes repeatability uncertain.
Does Streamlit provide a documented way to prefer a repo-local .streamlit/config.toml without requiring each developer to set STREAMLIT_CONFIG? What is the documented precedence between user home config, STREAMLIT_CONFIG, environment variables, and CLI flags? How should cross-platform teams keep configuration repeatable given differing OS default paths?