with one click
flight-profiler-module
// Translate a file path to its Python module name in a running Python process. Use this when you know a file path but need the module name for commands like watch, trace, or reload.
// Translate a file path to its Python module name in a running Python process. Use this when you know a file path but need the module name for commands like watch, trace, or reload.
| name | flight-profiler-module |
| description | Translate a file path to its Python module name in a running Python process. Use this when you know a file path but need the module name for commands like watch, trace, or reload. |
Translate a file path to its corresponding Python module name. Most diagnostic commands (watch, trace, reload, getglobal) require a module name — use this to find it from a file path.
Prerequisites: Read the flight-profiler-attach skill first for platform requirements, installation, permissions, and connection details.
sys.modulesflight_profiler <pid> --cmd "module <filepath>" --no-color
filepath — Absolute or relative path to the Python source file. The path is resolved to an absolute path and checked for existence on the client side before sending to the target process.Success — returns the module name as plain text:
__main__
Failure (file not imported) — the file exists but is not loaded in the target process:
filepath: /path/to/file.py is not imported in target process.
Failure (file not found) — the path does not exist on disk (checked client-side):
✗ Parse module argument failed: filepath /path/to/file.py does not exist.
The entry-point script is always __main__:
flight_profiler <pid> --cmd "module /Users/zy/workspace/app/main_script.py" --no-color
__main__
flight_profiler <pid> --cmd "module /Users/zy/miniforge3/envs/py39/lib/python3.9/json/__init__.py" --no-color
json
os.path on POSIX is actually backed by posixpath.py. The module command returns the real module name:
flight_profiler <pid> --cmd "module /Users/zy/miniforge3/envs/py39/lib/python3.9/posixpath.py" --no-color
posixpath
This is why querying the target process is important — the module name depends on sys.modules, not the file path structure.
flight_profiler <pid> --cmd "module /Users/zy/workspace/app/unused_module.py" --no-color
filepath: /Users/zy/workspace/app/unused_module.py is not imported in target process.
This means the file was never imported — the module name cannot be resolved. Check if the code path that uses this file has been triggered.
flight_profiler <pid> --cmd "module /nonexistent/path.py" --no-color
✗ Parse module argument failed: filepath /nonexistent/path.py does not exist.
The module command is a prerequisite step for other diagnostic commands. Use it when you only have a file path:
# Step 1: Find the module name
flight_profiler <pid> --cmd "module /home/admin/myapp/services/order.py" --no-color
# → myapp.services.order
# Step 2: Use the module name with watch/trace/getglobal
flight_profiler <pid> --cmd "watch myapp.services.order OrderService process_order -n 1" --no-color
flight_profiler <pid> --cmd "trace myapp.services.order OrderService process_order -n 1" --no-color
flight_profiler <pid> --cmd "getglobal myapp.services.order config" --no-color
sys.path, which may differ from what you'd expectsys.modules, so it always gives the correct name__main__flight_profiler/plugins/module/cli_plugin_module.pyflight_profiler/plugins/module/module_parser.pyflight_profiler/plugins/module/server_plugin_module.pyPrerequisites and connection details for attaching to a live Python process with PyFlightProfiler. Read this skill first before using any other PyFlightProfiler command (watch, trace, stack, perf, etc.).
Inspect Python module global field or class static field value in a running Python process. Use this for safe, read-only inspection of global variables, configuration objects, or class-level state.
Hot-reload a Python function implementation from the latest file content without restarting the process. Use this to apply code fixes live after identifying a bug with watch/trace.
Inspect stack frames of a running Python process including thread stacks, native C-level frames, and async coroutine stacks. Use this to see what each thread is currently doing and diagnose hangs, deadlocks, or stuck async tasks.
Trace execution time of Python method invocations in a live process with call stack visualization. Use this to see a hierarchical call tree showing which sub-calls are slow and where time is spent within a function.
Inspect live Python class instances in a running process — find all instances of a class, examine their attributes/state, or invoke methods on them. Also supports forcing GC. Use this when you need to probe object-level runtime state beyond what watch/getglobal can provide.