diff --git a/mesop/utils/caller.py b/mesop/utils/caller.py index 2ad80094..83ab51c4 100644 --- a/mesop/utils/caller.py +++ b/mesop/utils/caller.py @@ -11,9 +11,14 @@ def get_app_caller_source_code_location() -> pb.SourceCodeLocation | None: caller_info = inspect.getframeinfo(current_frame) filename = caller_info.filename # "mesop/mesop" is the file path of the core Mesop framework when running under bazel. + # The exception is the examples subdir, which are Mesop apps and not actually part of + # the core Mesop framework. + # # "site-packages" is the file path of the Mesop framework when running under pip CLI. # If the file is neither of those paths, then we assume it is an app file. - if "mesop/mesop" not in filename and "site-packages" not in filename: + if ( + "mesop/mesop" not in filename or "mesop/mesop/examples" in filename + ) and "site-packages" not in filename: # Get module from filepath splitted_file = filename.split("runfiles/") if len(splitted_file) < 2: