It works fine for pure Python applications. Especially if you use Python virtual environments to keep your application's dependencies isolated from the system-level installed libraries. An application is just a Python package or module, with a small stub stuck in $PATH that does the equivalent of 'python -m mystuf'. One of the nice benefits is users get to install things into $HOME if they don't want to pollute the 'system' install, even if they don't want to mess with the virtual environment features.