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

Handle non-str keys #32

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Handle non-str keys #32

wants to merge 3 commits into from

Conversation

Thomzoy
Copy link
Collaborator

@Thomzoy Thomzoy commented Jan 24, 2025

Description

This PR allows for non-string keys in configuration

Checklist

  • If this PR is a bug fix, the bug is documented in the test suite.
  • Changes were documented in the changelog (pending section).
  • If necessary, changes were made to the documentation.

@Thomzoy Thomzoy requested a review from percevalw January 24, 2025 15:37
Copy link

github-actions bot commented Jan 24, 2025

Coverage Report

NameStmtsMiss∆ MissCover
TOTAL95918098.12%
Files without new missing coverage
NameStmtsMiss∆ MissCover
confit/utils/settings.py

Was already missing at lines 10-12

         return bool(loads(value))
-     except Exception:
-         return True

102080.00%
confit/registry.py

Was already missing at line 119

         if name is None and hasattr(e.model, "type_"):
-             name = e.model.type_.__module__ + "." + e.model.type_.__qualname__
         e = ConfitValidationError(
Was already missing at lines 479-484
         """
-         entrypoints = importlib_metadata.entry_points()
  ...
-             return entrypoints.get(self.entry_point_namespace, [])
Was already missing at line 509
                 if from_entry_point:
-                     return from_entry_point
             if not catalogue.check_exists(*path):
Was already missing at line 516
                 )
-             return catalogue._get(path)

2147096.73%
confit/config.py

Was already missing at line 126

                     else:
-                         current = current[part]
                 try:
Was already missing at line 155
         if resolve:
-             return config.resolve(registry=registry)
Was already missing at line 376
                     return local_names[parts] + ("." if path.endswith(":") else "")
-                 except KeyError:
                     raise KeyError(path)
Was already missing at line 421
             if not deep and len(loc) > 1:
-                 return obj
Was already missing at line 501
                 return
-             current[path] = val
Was already missing at line 542
                     ):
-                         old[key] = new_val
                     else:
Was already missing at line 578
             elif isinstance(obj, list):
-                 return [rec(v) for v in obj]
             elif isinstance(obj, tuple):
Was already missing at line 580
             elif isinstance(obj, tuple):
-                 return tuple(rec(v) for v in obj)
             elif isinstance(obj, Reference):
Was already missing at line 629
     if isinstance(config_paths, Path):
-         config_paths = [config_paths]

3069097.06%

8 files skipped due to complete coverage.

Coverage success: total of 98.12% is above 98.12% 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant