Hi meejah,
Coming up with a task list and schedule would be a good thing to include in your GSoC application -- they are due by no later than March 25th! The tasks you've included are certainly relevant, but including more detail than that would probably be a good idea.
With reference to ticket #162 I have been looking around for a quality Twisted SOCKS library. And my search so far has yielded nothing.
Would it be worthwhile to add this as a task for GSoC? -clientside support for python 3 by fixing txsocksx.
Tasks and schedule (Expected time):
1. Understand the codebase (Community Bonding period): 1.1 The control-spec. 1.2 Understand how txtorcon currently implements it. Why some design decisions were taken.
**** End term exams : 25th May - 3rd June ****
2. Convert inline callbacks to deferred ones ( 6th June - 20th June): 2.1 txtorcon.torcontrolprotocol 2.2 txtorcon.torconfig 2.3 txtorcon.endpoint #Asycnio has no such thing as endpoints. see https://github.com/python/asyncio/issues/97 2.4 txtorcon.torstate 2.5 txtorcon.util Iteratively convert each method in a file and make sure that txtorcon builds.
However, I would in a much better position to gauge the time after i have understood inline callbacks properly.
3. Python3 compatible ( 21st June - 4th July): Continue work on the python3 branch(isis-py3k). Tickets to close : #132(https://github.com/meejah/txtorcon/issues/132) , #165(https://github.com/meejah/txtorcon/issues/165). 4. Convert deferred's to txaio ( 5th July - 25th July): Decide on how to give users the choice between twisted and asyncio and do it. Apart from the files listed above, txtorcon.torinfo has deferred calls.
5. Improve documentation to reflect changes ( 26th July - 5th August):
4.1 Update readme, documentation, examples. 4.2 Write an updated WalkThrough.
6. Start writing tests (5th August onwards) or Work on other tickets. Think and try out ways to reduce magic in API's.
Have I missed out on any relevant task/sub-task?
Waiting for your feedback. :)
Thanks, Akash