Changes in implicit namespace packages are currently not properly detected by LocalSourcesWatcher.update_watched_modules, as it can be evidenced by the following minimal example:
Download minimal_example.zip, and run the following on a Python 3.7 installation
cd minimal_example
streamlit run example.py
This should print a simple "Hello" on your browser.
If you change minimal_example/my_namespace_package/my_file.py to MESSAGE = "Hello again!" and click rerun on streamlit's webpage, the hello message will not get updated.