wetransform-os / ProMCDA

A tool to estimate ranks of alternatives and their uncertainties based on the Multi Criteria Decision Analysis approach.
Eclipse Public License 2.0
5 stars 1 forks source link

Remove all relative paths from the code #42

Closed Flaminietta closed 5 months ago

Flaminietta commented 6 months ago

Remove any usage of relative paths from within the code and the configuration file.

All needed input and output files (e.g., the input matrix and all the output files) will be stored in default directories inside the root directory of ProMCDA (named relatively input_files/ and output_files/). However, the user is allowed to change the position of the input and output file directories by setting custom directory paths in the environment:

export CUSTOM_DIRECTORY_PATH=/path/to/custom/directory

This allows the user to customize the input/output directory paths without modifying the source code of the Python package.

For more details, see the updated README.

Additionally, this PR removes all circular imports found in a few scripts and improves the linting.

Flaminietta commented 6 months ago

@thorsten-reitz, this PR not only removes any use of relative paths, as requested during the code review, but improves the code quality also in view of its transformation into a library. Even when a configuration file is no longer needed, we don't need to provide the library with relative paths, but we will use the same solution proposed in this PR.

Flaminietta commented 6 months ago

@kapil-agnihotri your comments have been addressed, thank you! @mspada and @thorsten-reitz anything to add before merging it?

Flaminietta commented 6 months ago

General comment: Why are all those assets from the tests also changed in this PR?

Some changes follow the reorganization of the reference toy-example' s results in the new output directory output_files. Per default, reference results are saved there (I'll update the README).

Other changes depend on the new place where that input matrix for the car example sits now: input_files/toy_example