Consider writing encrust as a setuptools custom command
See https://setuptools.pypa.io/en/latest/userguide/extension.html#customizing-commands
This should allow the tool to still invoke py2app internally or let the caller invoke them separately at python setup.py ... time.
The motivating reason here is that one cannot assume the project is using a setup file named exactly setup.py. It's a strong convention, but not a requirement.
I think that py2app itself is moving away from using setuptools and instead being configured via pyproject.toml as its own standalone tool, which should make it easier to be correct like this. In the meanwhile, an option to point at the correct setup.py would probably be good, as I'm sure we'll need some way to choose between pyproject.tomls in the future as well
(The fact that I am now needing to invoke py2app_setup.py indicates that this is indeed a concern I need to deal with better.)
Although we need a way to do something smarter with multiple app bundles, I think a setuptools command is probably not the way to go.