Skip to content

[dev] C1 - centralize project config I/O and add testing#3190

Merged
deruyter92 merged 7 commits intofeat/structured_configsfrom
jaap/centralize_project_configs
Feb 4, 2026
Merged

[dev] C1 - centralize project config I/O and add testing#3190
deruyter92 merged 7 commits intofeat/structured_configsfrom
jaap/centralize_project_configs

Conversation

@deruyter92
Copy link
Collaborator

@deruyter92 deruyter92 commented Jan 29, 2026

This PR is part of the WIP for migrating from dictionary configs to typed & validated configurations (see #3193 for an overview).

Goal of this PR:
Centralize the logic for reading, writing and adjusting configurations. And improve test coverage of the current behavior (before changing to a different configuration setup).

Motivation:
Currently reading and writing yaml files, and the logic for adjusting configuration files is spread across different places in the repository.

  • Keeping the input/output and config adjustment logic in a centralized place facilitates easier maintenance / migration, better testing and makes it clear for users which methods are available.
  • Before making larger adjustments, such as typed configurations, or different field names, it is important to capture the current behavior using tests.

Changes

  1. Move all reading and writing functions for yaml files to core.config
  2. exporting to auxiliaryfunctions to keep existing references in place for backwards compatibility
  3. add pytests for core.config and the modelzoo generalized_data_converter

This PR only pertains to project configs and core yaml reading / writing. The pose configs in pytorch pose estimation are kept unchanged.

@deruyter92 deruyter92 requested a review from Copilot January 30, 2026 12:55
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@deruyter92 deruyter92 marked this pull request as ready for review January 30, 2026 13:33
@deruyter92 deruyter92 requested a review from Copilot January 30, 2026 14:06
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…onverter_config.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@deruyter92 deruyter92 added the enhancement New feature or request label Feb 2, 2026
@deruyter92 deruyter92 force-pushed the jaap/centralize_project_configs branch from 0009cdf to 29f3499 Compare February 2, 2026 12:26
@deruyter92 deruyter92 changed the base branch from main to feat/structured_configs February 3, 2026 09:04
@deruyter92 deruyter92 changed the title centralize project config I/O and add testing [dev] C1 - centralize project config I/O and add testing Feb 3, 2026
@deruyter92 deruyter92 added this to the Structured configs milestone Feb 3, 2026
Copy link
Collaborator

@C-Achard C-Achard left a comment

Choose a reason for hiding this comment

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

Very good, I hope my above comments make sense; if they do need further action I'll wait a bit before approving

- reading breaks for corrupted yaml
- added tests for prefered behavior that is currently not implemented (yaml safeloading and validating config keys)
@deruyter92 deruyter92 merged commit a2fc7d1 into feat/structured_configs Feb 4, 2026
1 check passed
@deruyter92 deruyter92 deleted the jaap/centralize_project_configs branch February 4, 2026 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants