[Python-Dev] "setuptools has divided the Python community"

Antoine Pitrou solipsis at pitrou.net
Wed Mar 25 15:53:29 CET 2009

Paul Moore <p.f.moore <at> gmail.com> writes:
> Another division  (Not one I'll try to blame on setuptools, though )
> Some people find larger, stable, unified packages more useful. Others
> find fine-grained, rapidly developing packages more useful.
> It sounds like Antoine and I fall into the former camp. At the risk of
> generalising, maybe the latter philosophy fits the "web developer"
> mental model better?

I don't think it's a question of mental model. Whatever your mentality, having
O(N) libraries means you have O(N**2) potential interdependencies to worry about
(especially when those libraries are socially and functionally part of a larger
ensemble). When N is 30 or 100, it's easy to see where it leads: loss of
control, unmanageability, irresponsibility.

The argument that you can individually upgrade each micro-library is a
double-edged sword: individual upgrades can break the interaction with other
micro-libraries because of subtle changes in API or behaviour. If you post on
the framework's mailing-list to get help with the problem, the framework authors
are unable to tell you how to solve it because /even they/ can't master the
O(N**2) interdependencies. Then you must upgrade the other micro-libraries as
well, which is no better than having a large cohesive package where everything
evolves in lockstep by construction.

(by the way, I don't think it's setuptools' fault... that's why I've used quotes
in the title. People have simply abused a tool, the same way "DLL hell" is an
abuse of the shared library system)



More information about the Python-Dev mailing list