Sunday, February 17, 2008

The Library Paradox

Every so often, I see a new package listed on the Python Package Index that claims -- in its tag line, no less -- that it offers some feature "without external dependencies".

The authors of such packages must think it's a truly valuable feature, to list it in the tag line ("description" field of their setup script).

But I'm a little confused by why they're uploading it to the Cheeseshop.  After all, anybody who believes that a lack of dependencies is good...  isn't going to be able to use it!  ;-)

And anyone who doesn't care that much about dependencies (perhaps because they use setuptools?) was probably already using whatever package the new package is intended to replace.

Sure, if the package also offers some other features, a better API, or something like that, it gives people more choices, encourages competition and all that other good stuff.  And I certainly don't want to discourage anyone from uploading useful things to PyPI.

I'm just puzzled by the idea of advertising that your package has no external dependencies, when, as far as anybody else is conerned, it is an external dependency.  Seems like that space could be better used to promote whatever other benefits the library brings.

Just one of those "things that make you go hmmm" I suppose.