Chris Angelico <ros...@gmail.com> writes: > Just out of curiosity, why does the stdlib need modules for > manipulating .wav and other sound files, but we have to go to PyPI to > get a PostgreSQL client? It's a queer world...
I would venture the follow two reasons, either of which is sufficient to explain the difference: * Modules enter the standard library only if they are judged both to be good quality *and* have a credible promise to continue to maintain them in the standard library on an ongoing basis. If one module has reliable maintainers offering to do the work and another does not, the latter will not be a candidate for inclusion in the Python standard library. * Modules enter the standard library only if their feature set is stable enough that they can remain essentially unchanged, feature-wise, for many years and still be widely useful. For a data stream format (like WAV and other mature formats), a module working well today is likely to work just as well for the same purpose in several years's time, long enough for today's Python to go through its full life cycle of support. PostgreSQL is a full-blown system that is itself under continual development, and its APIs continually change to match. Whatever Python API for PostgreSQL gets put into the standard library today is likely to be obsolete long before today's version of Python gets close to ending support. That makes it a poor candidate for inclusion in the standard library. -- \ “The generation of random numbers is too important to be left | `\ to chance.” —Robert R. Coveyou | _o__) | Ben Finney -- https://mail.python.org/mailman/listinfo/python-list