Skip to content

pync.notify not working in python scripts used by launchd #47

@tddschn

Description

@tddschn

Describe the bug
pync.notify doesn't work in python scripts used by launchd, but works when the python script is directly executed.

So I have python script in /Users/tscp/testdir/test-pync/test_pync.py:

#!/usr/local/bin/python3.8
import pync
import sys

print('before')
pync_imported = 'pync' in sys.modules
print(f'pync is imported: {pync_imported}')
pync.notify('test pync')
print('after')

It works as expected (a notification is shown) when run with ./test_pync.py, but doesn't run in my launchd job /Users/tscp/Library/LaunchAgents/test_pync.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>local.job</string>
	<key>Program</key>
	<string>/Users/tscp/testdir/test-pync/test_pync.py</string>
	<key>RunAtLoad</key>
	<true/>
	<key>StandardErrorPath</key>
	<string>/tmp/local.job.stderr</string>
	<key>StandardOutPath</key>
	<string>/tmp/local.job.stdout</string>
</dict>
</plist>

This is the content of /tmp/local.job.stdout after the job is loaded:

before
pync is imported: True
after

The script seemed to run successfully but the notification was not shown.

To Reproduce
Steps to reproduce the behavior:

brew install python@3.8 && python3.8 -m pip install pync

mkdir -p ~/testdir/test-pync
# copy test_pync.py above to ~/testdir/test-pync/test_pync.py
chmod 755 ~/testdir/test-pync/test_pync.py

# copy test_pync.plist above to ~/Library/LaunchAgents/test_pync.plist
# and substitute `/Users/tscp` in the plist file with your home path

launchctl load  ~/Library/LaunchAgents/test_pync.plist
cat /tmp/local.job.stdout

Expected behavior
A notification like this is shown when the job is loaded and run:
image

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: macOS Catalina
  • Version: tested on both 10.15.6 / 10.15.7.

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions