Re: Random musings on a way to organize your modules.

Tim Peters (tim@ksr.com)
2 Apr 1994 06:07:43 GMT

jack@cwi.nl (Jack Jansen) writes:

>[explanation of problem deleted]
>...
>Does anyone have any ideas on how to solve this problem? Maybe there's
>other language-communities that have solved this already...

Jack, if Python attains the world dominance it deserves, I think this
could become a monstrous problem. Alas, I have no idea how to solve it.

The time-honored method for single-source software is a revision number
scheme. It's already easy to check for the existence of a module in
Python, and if modules adopted a convention of exporting a module.Version
number, importing modules could easily check it. CWI might consider
adopting such a scheme now, eh (then, e.g., your audio-biff module could
have checked to see whether a recent-enough version of rfc822 had been
installed)?

But when many suppliers are involved, anarchy is the rule, and life gets
much tougher. In practice, I haven't seen a scheme more pleasant than
GNU's "configure" system, and that relies on building oodles of small
test programs to see what they do when run on your system.

That _can_ check for, and adapt to, anything imaginable, but (A) it's not
trivial to set it up; and, (B) as you said, the Python environment is very
dynamic. "configure"-like schemes are much better suited to a run-it-
once-and-forget-it mode.

In the end, I suspect we'll just have to rely on the usual mix of
mutually-benefical cooperation, word of mouth, and-- let's be frank
--secret payments to Guido <wink>.

vigilance-is-the-eternal-price-of-reptilian-freedom-ly y'rs - tim

Tim Peters tim@ksr.com
not speaking for Kendall Square Research Corp