[tor-project] Moar Project Ideas!!

meejah meejah at meejah.ca
Sat Feb 27 16:57:50 UTC 2016

First one:

Convert txtorcon to use txaio
language: Python, asyncio, Twisted
Likely Mentors: meejah

txtorcon is currently supports only Twisted users. Re-working txtorcon
to use the txaio library would allow users to choose between Twisted and
asyncio for the client code.

This would involve fairly extensive refactoring to txtorcon, as it
currently makes heavy use of @inlineCallbacks which doesn't work with
txaio. A prospective student should be very familiar with event-based
programming in general, and be familiar with one of Twisted or asyncio.
See also: https://github.com/meejah/txtorcon/issues/135

Second one:

Convert txtorcon to py.test
language: Python, Twisted
Likely Mentors: meejah

Currently txtorcon uses the built-in "unittest" module, as well as
Twisted's Deferred-respecting extensions on top. However, meejah has
found py.test's "fixture" approach to be much more powerful in other

This project would be to port at least part of txtorcon's test-suite to
use py.test style tests and fixtures and evaluate: are the tests easier
to read? are there fewer lines of code? If so, the rest of the suite
should be ported and txtorcon switched over to use py.test exclusively.

As some of txtorcon's tests aren't very well-written, this would take a
prospective student who is very strong in unit-testing knowledge. As
txtorcon is event-based, familiarity with that style of programming
(preferrably with Twisted) is ideal.
See also: https://github.com/meejah/txtorcon/issues/136

More information about the tor-project mailing list