I just looked at it; it looks like a clean and useful bit of work, for
accessing maps efficiently from Python programs.
I'm coming with a weirdly different goal: I want to learn about Python (and
about YP, for that matter); and I want to see where I end up by taking a
different route. nismodule seems to define the useful functionality real
programs would need to get real work done. I'm planning instead on
(brainlessly) having ypclntmodule.c echo the ypclnt(3n) primatives up to the
Python level, then having a yp.py produce a pleasing Python interface. If I
can pull it off, and if it is all pleasing and reasonably efficient, then I
will have learned and demonstrated to myself what I'm trying for.
If I end up with anything real, I kinda expect that nismodule will be better
suited for leaving in the core build (and documenting, nudge nudge), but
that my work might be a more extensive illustration of the Python<->C
interaction, and designing flexible interfaces.
On another topic, why does Python currently build a ``kitchen sink''
monolithic executable? Since the dynamic loading works so cleanly and well,
I'd expect that the canonical Python build would have a fairly lean core,
and a bunch of .so files for the various libraries that aren't needed in
every single program. Is there some strong reason I'm overlooking?