SoK/2023/StatusReport/Mohamed Ibrahim: Difference between revisions

From KDE Community Wiki
(fix link)
Line 5: Line 5:


'''Introduction and Abstract:'''
'''Introduction and Abstract:'''
[https://community.kde.org/Goals/Sustainable_Software 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. [https://invent.kde.org/teams/eco/feep/-/blob/master/tools/KdeEcoTest/ "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.
[https://community.kde.org/Goals/Sustainable_Software 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. [https://invent.kde.org/teams/eco/feep/-/blob/master/tools/KdeEcoTest/ "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:'''
'''Mentor:'''

Revision as of 16:13, 17 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 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