
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
participants (1)
-
Felipe Dau