Skip to main content
2025 Python Packaging Survey is now live!  Take the survey now

No project description provided

Project description

Install

$ [sudo] pip install mac_app

How it works

path/to/<name>.py                                   class Name(mac_app.App)
/usr/local/var/log/images/<name>.png                (customizable)

output:
~/Applications/.appify/<name>.app                   (customizable)
path/to/alias                                       (optional)

app logs (customizable):

/usr/local/var/log/Applications/<name>/out.log      (customizable)
/usr/local/var/log/Applications/<name>/out.log      (customizable)

app files:

<name>.app/Contents/MacOS/executable
<name>.app/Contents/MacOS/agent.plist
<name>.app/Contents/MacOS/run.py                    (your class file)

Examples

>>> import mac_app
>>> class Name(mac_app.App):
        def run(self):
            pass

    if __name__ == "__main__":
        MyApp().run()

create app and make alias

>>> Name().appify().mkalias("~/alias")

customize

>>> class Name(mac_app.App):
        name = "app_name"
        image = "path/to/image.png"
        stdout = "path/to/stdout.log"
        stderr = "path/to/stderr.log"

        def atexit(self):
            os.system("say bye")

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page