The socket reboot work is finally merged in to trunk! So with Jython trunk, the following now works:
More below:

On Sun, May 4, 2014 at 4:01 PM, Jim Baker <> wrote:
I expect that we will have a soft beta 3 available by the end of this week! This will mean Jython will regain support for pip and easy_install when installing packages from PyPI, which we lost when PyPA tools moved to requiring ssl. In addition, this work will add support for the Python wheel distribution format, the fantastic requests package, and many other fixes that can be seen in the commit log.

Here is my plan for the remaining work for beta 3; I would appreciate any feedback:

Merged in changeset 7222:107fe4a4c96b

This proved to be trickier than I expected because my socket branch itself included a number of branches, and would not accept them, but I finally found a way to collapse together all the changesets (edit history) into one and thereby work around this issue. This is probably a nicer way to see it anyway.

More here on the approach I took: - I chose to use the "revert solution".

Fortunately, I do not expect any other "reboots" of this complexity to be done for 2.7.0!

I have made a pull request against html5lib-python ( to upstream a fix I have made in pip in this vendor lib dependency ( For now, Jython users will need to use my pip branch to have pip work.

So this pull request is now on hold pending CJK codecs (

... I also have not tested socket reboot against Windows yet, so if anyone has some cycles to do that against my branch, I would appreciate it. I do have a MSDN license as a Python committer (thanks Microsoft!), but I'm currently somewhat time constrained. My expectation is that we can take advantage of the portability work that Netty has done.

I have done this testing against Windows 8.1, and except for one test in TestJython_get_jsockaddr, all tests in test_socket pass. We will have to look at refactoring this specific test suite, which also fails on one of my Linux boxes, due to the fact that it can depend on the specific networking configuration of the host.

There are some additional changes I would like to see make beta 3:

These are next. I still would like to have all such work completed by the end of this week however.

contributed by Indra Talip - Fix the struct module so that struct.Struct class can be derived from

contributed by Indra Talip - Fix os.stat behaviour for paths with trailing slash when the path exists as a file

contributed by Arfrever Frehtes Taifersar Arahesis - Fix compatibility with jnr-posix 3.0

Replace Guava MapMaker.makeComputingMap with CacheBuilder
This will allow us to upgrade Guava to release 17

defaultdict get behavior causes inconsistent map entries leading to potential memory leaks
Requires fixing #2087 and motivating this, since memory leaks are an obvious priority