Implementation of Intelligent User Interface for Open-Source Software Configuration Library
MetadataShow full item record
Configuration is one of many challenges of software development. Modern software requires configuration in one form or another, often by input parameters stored in configuration files. Equinor has developed an open-source configuration library in Python called Config Suite for working with configuration files. This library is used to create a schema, a “blueprint,” of what the input parameters for the application should look like and parses it on runtime. This means that the developer using this library will know everything about the expected parameters inside the application and will not get invalid parameters. The application’s users have to fill out a configuration file that is correct according to the schema made by the developer. This can be a challenging task, especially for applications with large configurations. This challenge is what this thesis aims to solve by developing an intelligent user interface extension for Config Suite to help the users in filling out a valid configuration according to the given schema. The extension is developed in Python using Agile methodologies and modern open-source development tools. The result is an efficient Text-based User Interface (TUI) that provides an excellent solution to this thesis’s challenge. Being open-source and building on Equinor’s open-source first strategy means the software is free to use, change, or extend by anyone in the future.