# Application entry point


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

## Application dependencies

## Application startup

------------------------------------------------------------------------

<a
href="https://github.com/sayanbanerjee32/snooper_pkg/blob/main/snooper_pkg/main.py#L89"
target="_blank" style="float:right; font-size:smaller">source</a>

### main

``` python
def main():
```

*Start Snooper unless another instance is already running.*

- `snooper_pkg.config` is imported as `cf` but is not used anywhere in
  the current notebook.
- The wildcard tray import hides which tray APIs this module depends on.
  The current code uses
  [`open_last_session_report`](https://sayanbanerjee32.github.io/snooper_pkg/tray.html#open_last_session_report)
  and
  [`run_tray`](https://sayanbanerjee32.github.io/snooper_pkg/tray.html#run_tray);
  changing the import would affect executable code and is therefore not
  included here.
- The exported `if __name__ == "__main__":` cell may call
  [`main()`](https://sayanbanerjee32.github.io/snooper_pkg/main.html#main)
  when executed interactively because notebook kernels commonly set
  `__name__` to `"__main__"`. Confirm that launching the application
  during a notebook “Run All” is intended.
- Importing
  [`MonitorController`](https://sayanbanerjee32.github.io/snooper_pkg/monitoring_controller.html#monitorcontroller)
  transitively imports Windows-only modules such as `win32gui`. The
  notebook therefore cannot currently be executed in this non-Windows
  environment.
- Existing cell outputs show earlier import statements and failures that
  no longer exactly match the current source cells. They should
  eventually be cleared or regenerated during the real Windows test, but
  no output changes were made here.
