Don't allow config.get_option to be called on file import #3235
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This makes some things harder to write, but it's necessary because
otherwise, config options that are accessed on file import may ignore
options set via flag or environment variable (as those haven't been parsed
yet). Thankfully, there are only two places where code had to be reworked,
and both of these changes were relatively straightforward.
To prevent this from accidentally happening in the future, we added an
assertion in conftest.py that explodes if config options have been
populated after importing streamlit.
Closes #2257
Closes #2989
Closes #2990