foolscap icon indicating copy to clipboard operation
foolscap copied to clipboard

txsocksx dependency prevents use with Python 3

Open irl opened this issue 6 years ago • 8 comments

It doesn't look like txsocksx is going to be updated for Python 3 (becuase Parsley isn't being updated for Python 3), so having a dependency on that for SOCKS support will preclude the use of Python 3.

txtorcon has already dropped this dependency and so this does not affect Tor support for foolscap.

irl avatar Jul 18 '17 18:07 irl

Good point. There are a huge number number of py2-only things in Foolscap that will need to be fixed before it's py3-capable, so it's kind of a drop in the bucket at this stage, but let's start looking for a py3-safe replacement for the SOCKS functionality.

warner avatar Jul 26 '17 20:07 warner

I think we're just going to drop support for SOCKS altogether (but retaining support for Tor as you said).

It looks like I2P is in the same bucket. @str4d , I don't expect you to be updatding txi2p these days, but do you happen to know of any py3-compatible replacements?

warner avatar Mar 28 '19 19:03 warner

I think these plans haven't been well-communicated. The txsocksx port is underway - https://github.com/pythonhacker/txsocksx (sponsored by the Tahoe-LAFS foundation).

Will the Python 3-capable release of Foolscap certainly drop SOCKS support or is this contingent on the state of the txsocksx port?

exarkun avatar Jun 03 '19 18:06 exarkun

txtorcon dropped txsocksx by growing its own Python2+Python3 SOCKS5 client -- splitting that out would certainly be a possibility (note that it's currently doing custom Tor SOCKS5 opcodes too)

meejah avatar Jun 04 '19 18:06 meejah

I am doing the txsocksx port and the tests pass in Python 3.5.6 and Python 2.7.15 now. Welcome to check it out.

pythonhacker avatar Jun 04 '19 18:06 pythonhacker

@pythonhacker It seems like it's unclear whether txsocksx is actually a dependency for the Tahoe-LAFS Python 3 port at this point. It's possible it won't be and efforts towards porting txsocksx (and its dependencies) won't actually help the project. Given that, and considering there's plenty of other Tahoe-LAFS porting work left to do, it doesn't seem like this is a good place to spend resources now.

exarkun avatar Jun 04 '19 18:06 exarkun

Anyway, it hardly took much time for me. I restarted this work yesterday and wrapped up the port (at least the tests) today. I was thinking of moving to Foolscap port but it seems like my time is better spent on other libraries. Perhaps we need to take this discussion out of this place.

pythonhacker avatar Jun 04 '19 18:06 pythonhacker

I've just landed an initial python3 port on Foolscap's trunk, and to achieve it I removed the socks support (and the dependency on txsocksx). I'd be happy to revive that if we've got a py3-compatible txsocksx, but the one I see on PyPI (1.15.0.2 ) looks to be py2-only.. how is the py3 port coming along?

warner avatar Jan 04 '20 06:01 warner