Add txtorcon project ideas
Damian Johnson

Damian Johnson commited on 2016-02-27 19:14:33
Zeige 1 geänderte Dateien mit 60 Einfügungen und 0 Löschungen.


Couple project ideas from meejah.
... ...
@@ -616,6 +616,12 @@ meetings around the world.</li>
616 616
     Used by OONI and APAF.
617 617
     </p>
618 618
 
619
+    <p>
620
+    <b>Project Ideas:</b><br />
621
+    <i><a href="#txtorcon_use_txaio">Convert txtorcon to use txaio</a></i><br />
622
+    <i><a href="#txtorcon_use_pytest">Convert txtorcon to py.test</a></i>
623
+    </p>
624
+
619 625
     <a id="project-tlsdate"></a>
620 626
     <h3>Tlsdate (<a href="https://github.com/ioerror/tlsdate">code</a>)</h3>
621 627
 
... ...
@@ -1295,6 +1301,60 @@ get ya started...
1295 1301
     </p>
1296 1302
     </li>
1297 1303
 
1304
+    <a id="txtorcon_use_txaio"></a>
1305
+    <li>
1306
+    <b>Convert txtorcon to use txaio</b>
1307
+    <br>
1308
+    Language: <i>Python, asyncio, Twisted</i>
1309
+    <br>
1310
+    Likely Mentors: <i>meejah</i>
1311
+    <br><br>
1312
+    <p>
1313
+    txtorcon is currently supports only Twisted users. Re-working txtorcon
1314
+    to use the txaio library would allow users to choose between Twisted and
1315
+    asyncio for the client code.
1316
+    </p>
1317
+
1318
+    <p>
1319
+    This would involve fairly extensive refactoring to txtorcon, as it
1320
+    currently makes heavy use of @inlineCallbacks which doesn't work with
1321
+    txaio. A prospective student should be very familiar with event-based
1322
+    programming in general, and be familiar with one of Twisted or asyncio.
1323
+    See also: https://github.com/meejah/txtorcon/issues/135
1324
+    </p>
1325
+    </li>
1326
+
1327
+    <a id="txtorcon_use_pytest"></a>
1328
+    <li>
1329
+    <b>Convert txtorcon to py.test</b>
1330
+    <br>
1331
+    Language: <i>Python, Twisted</i>
1332
+    <br>
1333
+    Likely Mentors: <i>meejah</i>
1334
+    <br><br>
1335
+    <p>
1336
+    Currently txtorcon uses the built-in "unittest" module, as well as
1337
+    Twisted's Deferred-respecting extensions on top. However, meejah has
1338
+    found py.test's "fixture" approach to be much more powerful in other
1339
+    situations.
1340
+    </p>
1341
+
1342
+    <p>
1343
+    This project would be to port at least part of txtorcon's test-suite to
1344
+    use py.test style tests and fixtures and evaluate: are the tests easier
1345
+    to read? are there fewer lines of code? If so, the rest of the suite
1346
+    should be ported and txtorcon switched over to use py.test exclusively.
1347
+    </p>
1348
+
1349
+    <p>
1350
+    As some of txtorcon's tests aren't very well-written, this would take a
1351
+    prospective student who is very strong in unit-testing knowledge. As
1352
+    txtorcon is event-based, familiarity with that style of programming
1353
+    (preferrably with Twisted) is ideal.
1354
+    See also: https://github.com/meejah/txtorcon/issues/136
1355
+    </p>
1356
+    </li>
1357
+
1298 1358
     <a id="coniks_in_messenger"></a>
1299 1359
     <li>
1300 1360
     <b>Implement and Integrate CONIKS for Tor Messenger</b>
1301 1361