Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement a configuration system within the application that can handle multiple formats #103

Merged
merged 33 commits into from Feb 19, 2024

Conversation

soaressgabriel
Copy link
Collaborator

@soaressgabriel soaressgabriel commented Jan 22, 2024

Checklist

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Added tests for changed code.
  • Updated documentation for changed code.

Description

  • This pull request introduces a new configuration system in the application that supports multiple formats: *.ini files, JSON files, and Python dictionaries;
  • It includes format detection, a unified interface for loading configurations, robust data validation for each format, and ensures backward compatibility with existing *.ini configurations;
  • From now on, the valid value ranges for rasters and variables are available and can be configured in appsettings.json (mapped to rubem.configuration.app_settings import AppSettings);
  • From now on, tests will be implemented using pytest;
  • Added "--skip-inputs-validation" option in CLI to skip the verification step.

Related Issue

Motivation and context

How has this been tested

  • TBF

Screenshots

  • N/A

@soaressgabriel soaressgabriel self-assigned this Jan 22, 2024
@soaressgabriel soaressgabriel added enhancement New feature or request high High priority labels Jan 22, 2024
@soaressgabriel soaressgabriel changed the title Add new configuration classes for Rubem Add new configuration classes for RUBEM Jan 22, 2024
@soaressgabriel soaressgabriel marked this pull request as ready for review February 6, 2024 21:19
@soaressgabriel soaressgabriel changed the title Add new configuration classes for RUBEM Add new configuration classes Feb 8, 2024
@soaressgabriel soaressgabriel changed the title Add new configuration classes Implement a configuration system within the application that can handle multiple formats Feb 15, 2024
@LINAMARIAOSORIO
Copy link
Collaborator

.ini and preliminary json tested

Copy link
Collaborator

@LINAMARIAOSORIO LINAMARIAOSORIO left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@soaressgabriel soaressgabriel merged commit 64d08b4 into main Feb 19, 2024
@soaressgabriel soaressgabriel deleted the refactoring/rubem-configuration branch February 22, 2024 21:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request high High priority
Projects
None yet
2 participants