For the interested, I have just submitted patch #1003700 which implements the socketpair function in the socket module.
The patch is relative to 2.4a1.
There is a question in the patch summary:
Outstanding question is whether the family, type, proto arguments should be kwargs as per socket() function, or positional as per fromfd() function. If kwargs, then it is arguable that the fromfd() arguments should be changed (in another patch).
I noticed a couple of things in the documentation while implementing the patch:
1) The documentation for socket() does not make mention of the fact that all arguments are kwargs.
2) The documentation for fromfd() does not mention that it does a dup() on the supplied fd to create a socket object.