PyWart: "Python's import statement and the history of external dependencies"
ben+python at benfinney.id.au
Sun Nov 23 08:43:40 CET 2014
Chris Angelico <rosuav at 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
\ “The generation of random numbers is too important to be left |
`\ to chance.” —Robert R. Coveyou |
More information about the Python-list