On Jul 5, 2017, at 11:19 AM, Donald Stufft <donald@stufft.io> wrote:

The more I dig into this, the more I think Nathaniel is correct and we’re trying to add a hook without any real world experience guiding it’s inclusion that doesn’t actually solve the problem it’s trying to solve and which it’s primary use case is creating foot guns.


Thinking about this more, I think the right thing to do here is remove this from the standard for now, and wait until we have real world experience with pip using the sdist hook for this purpose. We don’t know what the landscape is going to look like once this PEP has been out in the real world for a bit, and we’re just trying to guess. I suspect one of three scenarios will play out:

1) We’ll decide that the build_sdist hook is good enough, and we’ll just leave it as is and not feel the need to do anything further.
2) We’ll decide that there are cases where the build_sdist hook doesn’t solve the problem adequately, and we want to add an additional hook with different constraints.
3) Pip will decide that the landscape in a post PEP 517 world has changed significantly enough to revisit our decision about how we build projects to a way that removes the need for a special hook in general.

Without real world experience, we don’t really know which one of (1, 2, 3) will be the optimal solution to this problem, and removing the hook *does* implicitly choose (1) for now, but (1) can be easily changed to (2) or (3) later on, but (2) and (3) cannot be changed to (1). So doing the simpler thing first gives us flexibility to adjust our solution once we have a chance to see how the ecosystem adjusts to this brave new world.


Donald Stufft