I have in issue 56 ( http://bugs.python.org/setuptools/issue56 ) added a patch for setuptools, that enable it to be ported to Python 3. If somebody would like to review the patches, I would be much obliged. There are many choices I've done that could be done differently, stylistically.
The porting itself is done with
/opt/python30/bin/2to3 -wn . /opt/python30/bin/2to3 -dw /tmp/setuptools.LOCAL/setuptools/tests/api_tests.txt
but you currently need to patch 2to3 (with patches which I sent to this list yesterday by mistake, sorry about that).
Also, I have not done patching to remove all 2to3 warnings. There are many "foo = map(fun, bar)" calls in the code, and these get converted by 2to3 to the ugly "foo = list(map(fun, bar))". Changing them all to "foo = [fun(x) for in in bar]" would be the Python3-approved way of doing it, but I only fixed the things that was needed to make the port work.
I'm going to make a blogpost about the porting experience. I'd also like to provide a source dist tgz for testing by others in that blog post, of that's OK. If it's not OK, then tell me.