[tor-project] GSoC 2017 - unMessage: Report #1
Felipe Dau
dau at riseup.net
Fri Jun 9 23:39:36 UTC 2017
Hi everyone!
This is my report #1 for the unMessage GSoC project.
# Pre-coding period
Since the project was accepted, my mentors and I started to plan what
exactly had to be done for each task and I started to learn the things
I would have to know in order to work on each of the tasks we
selected. While I was learning I picked a part of each task and
implemented them, so that my mentors could see if I was in the right
direction. I am going to use bullet lists to briefly describe what I
did for each task. More details can be found in their tickets.
## Improve setup script #35 [0]
- Improved package metadata and requirements definitions
## Use attrs #34 [1]
- Changed a class to use attrs in its attributes and validation
## Add a logger #30 [2]
- Created a logger using twisted.logger
- Sends logs to a file when using any of the UIs
- Displays logs using the stdlib's logger when using the GUI
## Add a test suite #33 [3]
- Created the tests module
- Added some hypothesis tests for the packet factories
- Enabled Travis CI [4] and Codecov [5] integration
## Support file transfer #12 [6]
- Created serializable classes for file elements using attrs
- Added tests for the serialization
- Described how the file elements would be used [7]
## Make functions/methods asynchronous #21 [8]
- Made functions/methods involved in sending an element asynchronous
# Coding period
Since the coding period started, I began to work on the tasks to be
delivered for the first evaluation (#35, #34, #12, #30).
## Improve setup script #35 [0]
- Added installation instructions to use pip in a virtual environment
- Pinned requirements to their latest versions
- Finished the task
- Created an extra task to automate version and hash pinnings #49 [9]
## Use attrs #34 [1]
- Changed most of the existing classes to use attrs
## Add a logger #30 [2]
- Implemented a custom stdlib logger to use the file logger's format
## Support file transfer #12 [6]
- Started working on the file transfer using the new function/methods
that send elements (which are now asynchronous)
Most of the code I worked on has been merged to the develop branch [10]
and what has not been merged can be found in my fork's [11] branches.
I also created a project on GitHub to keep track of the tasks [12].
# What's next
The next steps for this first set of tasks is:
- Finish changing some of the classes that do not use attrs yet
- Continue working on the file transfer to send/receive requests,
transfer files and handle some common errors involved in this
process
- Spread log statements in the code
Thanks,
-Felipe
[0]: https://github.com/AnemoneLabs/unmessage/issues/35
[1]: https://github.com/AnemoneLabs/unmessage/issues/34
[2]: https://github.com/AnemoneLabs/unmessage/issues/30
[3]: https://github.com/AnemoneLabs/unmessage/issues/33
[4]: https://travis-ci.org/AnemoneLabs/unmessage
[5]: https://codecov.io/gh/AnemoneLabs/unmessage
[6]: https://github.com/AnemoneLabs/unmessage/issues/12
[7]: https://github.com/AnemoneLabs/unmessage/issues/12#issuecomment-304128995
[8]: https://github.com/AnemoneLabs/unmessage/issues/21
[9]: https://github.com/AnemoneLabs/unmessage/issues/49
[10]: https://github.com/AnemoneLabs/unmessage
[11]: https://github.com/felipedau/unmessage
[12]: https://github.com/AnemoneLabs/unmessage/projects/1
More information about the tor-project
mailing list