On 19 October 2017 at 19:09, Donald Stufft <donald@stufft.io> wrote:
So heres a different idea that is a bit more ambitious but that I think is a better overall idea. Let entrypoints be a setuptools thing, and lets define some key lifecycle hooks during the installation of a package and some mechanism in the metadata to let other tools subscribe to those hooks. Then a caching layer could be written for setuptools entrypoints to make that faster without requiring standardization, but also a whole new, better plugin system could to, Twisted plugins could benefit, etc [1].
I think this is a nice idea, and like you say could likely enable a number of interesting use cases. However...
One thing that I like about all of our work recently in packaging is a lot of it has been about making it so there isn’t just one standard set of tools, and I think that providing lifecycle hooks is another step along that path.
While I agree with this, one thing I have noticed with recent work is that standardising existing things has typically been relatively painless and stress-free. But designing new mechanisms generally ends up with huge threads, heated debates, and people burning out on the whole thing. We've had a couple of cases of that recently, and in particular Thomas has endured the big PEP 517 debate, so I'm inclined to say we should take a rest from new designs for a while, and keep the scope here limited. We can go back and hit packaging system hooks later, it's not like the idea will go away. And the breathing space will also give people time to actually implement the recent PEPs, and consolidate the gains we've already made. Paul