My understanding is that Shiv has advantages over Pex given that it had the opportunity to learn from the shortcomings of Pex. In terms of building an executable, if you want a single binary I would look into PyOxidizer. It doesn't support all of the same versions of Python as Dagster/Dagit, but it's pretty compelling.