SoK/2023/StatusReport/Mohamed Ibrahim: Difference between revisions
(Added background info and weekly summaries template) |
|||
Line 16: | Line 16: | ||
===== Weekly Progress ===== | ===== Weekly Progress ===== | ||
'''WEEKS 1 - 2 | '''WEEKS 1 - 2''': I familiarized myself with using the KDE Eco Tester tool by testing some applications and creating small scripts, reading and understanding the code base in more detail before starting to refactor it. I also started working on maintainability issues by adding the support of a modern dependency manager for python [https://pipenv.pypa.io/en/latest/index.html (Pipenv)]. I also added a code formatter to make the code consistent by using [https://black.readthedocs.io/en/stable/ (Black)]. | ||
'''WEEKS 3 - 4 | '''WEEKS 3 - 4''': I worked on redesign the current code base to make it more organized and maintainable. By fixing all the the warnings to follow [https://pep8.org/ PEP8], adding more encapsulation for the core parts (parser, runner, cli, creator, actions) by using classes, making the code fully typed with python type hints which makes developing experience better and reduces error, created a new rich CLI interface for the tool using [https://typer.tiangolo.com/ typer] and finally created a support for running testing multiple times with “repeatFunction” action. | ||
'''WEEKS | '''WEEKS 5 - 6''': I started exploring and learning the [https://python-prompt-toolkit.readthedocs.io/en/master/ python-prompt-toolkit] and InquirerPy packages to add support for an interactive script creator. The [http://Inquirerpy.readthedocs.io/ InquirerPy] package was limited and should be used as a standalone cli app instead of being added to a bigger full-screen app. I also worked in formatting the log files that are produced while running test scripts to follow the [https://eco.kde.org/handbook/#log-file-of-actions OSCAR] format . | ||
'''WEEKS 7 - 8''': (IN PROGRESS) | |||
'''WEEKS 9 - 10''': | |||
'''WEEKS 11 - 12''': | |||
===== Merge Requests ===== | |||
* [https://invent.kde.org/teams/eco/feep/-/merge_requests/23 Docs: Updated installation instructions] | |||
* [https://invent.kde.org/teams/eco/feep/-/merge_requests/26 Maintenance & Code Redesign] | |||
* [https://invent.kde.org/teams/eco/feep/-/merge_requests/29 Support of Modal Windows] | |||
'''CONTACT ME:''' | '''CONTACT ME:''' | ||
I am available on Matrix: @hemasonus01:matrix.org | I am available on Matrix: @hemasonus01:matrix.org |
Revision as of 15:56, 15 March 2023
Improve "KDE Eco Test" emulation tool
Project type: Coding
Introduction and Abstract: Sustainability is one of KDE's goals for the next two years. One aspect of this goal is to measure the energy consumption of KDE software. To do this, it is necessary to use an emulation tool to create usage scenario scripts. "KDE Eco Test" is one such tool, but it needs some fixes. A list of to-dos can be found at the repository's [https://invent.kde.org/teams/eco/feep/-/blob/master/tools/KdeEcoTest/README.md README.
Mentor: Karanjot Singh @drquark:kde.org, Emmanuel Charruau @allon:kde.org, and Joseph P. De Veaugh-Geiss @joseph:kde.org on Matrix
Blog Posts:
(IN PROGRESS)
Weekly Progress
WEEKS 1 - 2: I familiarized myself with using the KDE Eco Tester tool by testing some applications and creating small scripts, reading and understanding the code base in more detail before starting to refactor it. I also started working on maintainability issues by adding the support of a modern dependency manager for python (Pipenv). I also added a code formatter to make the code consistent by using (Black).
WEEKS 3 - 4: I worked on redesign the current code base to make it more organized and maintainable. By fixing all the the warnings to follow PEP8, adding more encapsulation for the core parts (parser, runner, cli, creator, actions) by using classes, making the code fully typed with python type hints which makes developing experience better and reduces error, created a new rich CLI interface for the tool using typer and finally created a support for running testing multiple times with “repeatFunction” action.
WEEKS 5 - 6: I started exploring and learning the python-prompt-toolkit and InquirerPy packages to add support for an interactive script creator. The InquirerPy package was limited and should be used as a standalone cli app instead of being added to a bigger full-screen app. I also worked in formatting the log files that are produced while running test scripts to follow the OSCAR format .
WEEKS 7 - 8: (IN PROGRESS)
WEEKS 9 - 10:
WEEKS 11 - 12:
Merge Requests
CONTACT ME:
I am available on Matrix: @hemasonus01:matrix.org