On 20/11/20 8:17 am, Steven D'Aprano wrote:
Firstly, does that matter? And secondly, what would it take to give it those additional properties?
It matters because it won't look or behave like a MacOSX app to the user.
An app bundle comes with metadata that specifies a bunch of things, such as the app's icon, the file types it creates and their icons, the file types it can open, etc. Without those things, the user won't get a native experience.
It would be fairly easy to put a zipapp file *inside* an app bundle. Although the use of zipapp doesn't really gain you anything then. Ultimately, an app bundle is just a directory containing an executable together with other stuff it needs, structured according to certain conventions. The executable can be anything, even a shell script or something with a #! line. So you can just dump all your Python files in there with a startup file that sets sys.path appropriately.
This is all fairly straightforward and quite possible to do by hand, but getting the details right can be tedious. Having a utility in the standard distribution to do it would be useful.