Python does not play well with others

skip at pobox.com skip at pobox.com
Fri Feb 2 16:07:00 EST 2007


    Paul> Why should the hosting provider need to devote attention to
    Paul> something like that?  MySQLdb or something like it should be
    Paul> included with Python, ...

What about Firebird?  Oracle?  Sybase?  Who maintains them in the core?
MySQLdb is quite stable outside the core.  What would adding it to the core
do other than adding a lot of maintenance overhead to the developers' group?
How many versions of MySQL should the Python developers test with?  How many
versions of Python?  How many different platforms?  Who decides?  If *all*
you're talking about are relational database adaptors I see the obvious
candidates:

    database: Sybase, Oracle, MySQL, SQLite, ODBC, Firebird
    database versions: who knows? assume two per database
    python versions: 2.4, 2.5, 2.6, 3.0?
    platforms: windows, pick two linux flavors, solaris

Those numbers give me 6 * 2 * 4 * 4 == 192 combinations to test.  Ignore
Python 2.4.  That brings it down to 144.  Only test on one linux variant and
skip solaris.  Now you're at 72.  Leave Firebird and Sybase out of the mix.
Now you're down to 48.  That's still a fair sized burden.  Now extend the
problem to non-database packages.

It seems to me that the PyBots project would be a better way to address the
combinatorial explosion caused by supporting multiple versions of multiple
packages on multiple platforms with multiple versions of Python:

    http://www.pybots.org/

Do you have a favorite third-party package?  A favorite platform?  A
preferred version of your package?  Set up one or more buildbots for it.
Whenever checkins occur on active Python branches occur (currently 2.5 and
SVN head, but easily extended to newer versions) your bots get built.  You
can note the problem and either encourage a change to Python or to your
favorite package.  This sort of solution has a couple advantages:

    * Presence of a buildbot implies some level of interest by the community
      at large.  When the guy maintaining the HPUX-10 buildbot for the
      OpenView widget set takes it down and nobody steps in to pick up the
      slack, it suggests nobody cares enough about that combination anymore.

    * It scales, both in people and compute resources.

Skip



More information about the Python-list mailing list