-
Notifications
You must be signed in to change notification settings - Fork 51
feat(core): create a Provider object #1720
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
Open
bjgiraudon
wants to merge
39
commits into
develop
Choose a base branch
from
feat/provider-object
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
Collaborator
Code Coverage (Ubuntu)Diff against developResults for commit: ff0f5f2 Minimum allowed coverage is ♻️ This comment has been updated with latest results |
8ad19ad to
f87cbd1
Compare
sbrunato
requested changes
Jul 7, 2025
c20a7dd to
fb28190
Compare
eee0906 to
c59a562
Compare
Collaborator
Code Coverage (Windows)Diff against developResults for commit: ff0f5f2 Minimum allowed coverage is ♻️ This comment has been updated with latest results |
27a084c to
60c8f84
Compare
e876631 to
ff0f5f2
Compare
Co-authored-by: Sylvain Brunato <[email protected]>
bring back PluginConfig to config
filter() takes a regex input and output a Provider iterator
ff0f5f2 to
64474e6
Compare
Signed-off-by: Aubin Lambaré <[email protected]>
* add dedicated tests for Provider classes * entry in docs api reference * specific filter for name and group * method to duplicate config with custom name Signed-off-by: Aubin Lambaré <[email protected]>
6b412d0 to
bfdbefa
Compare
cc266a0 to
de34cf5
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This pull request introduces a new
Providerclass and aProvidersDictcollection to the EODAG codebase, replacing the previous usage of plain dictionaries for provider configurations. The new classes encapsulate provider metadata, configuration, and utility methods, making the codebase more modular, readable, and maintainable.Key changes
Providerdataclass that wraps provider configuration and exposes useful properties and methods.ProvidersDictclass (subclassingUserDict) to manage collections ofProviderobjects, keyed by provider name.Further comments
This is a foundational refactor that will make it easier to add new provider-related features, improve plugin management, and enhance the user and developer experience. The new structure also simplifies testing and debugging of provider logic.
Alternatives considered included using only plain dictionaries or a simple list, but these approaches would not provide the encapsulation and extensibility needed for future development.
Thank you!