prototype: backwards-compatible aliases for renamed variable keys - #6
Draft
suhaslord wants to merge 1 commit into
Draft
prototype: backwards-compatible aliases for renamed variable keys#6suhaslord wants to merge 1 commit into
suhaslord wants to merge 1 commit into
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
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.
Purpose
Fork-only staging PR for the small compatibility idea separated from OpenMDAO#1277. This is not an upstream submission.
Scope
mission:constraints:max_machCSV headerExplicitly not included
Upstream Discussion draft
Title: Proposal: backwards-compatible aliases for renamed Aviary variable keys
Following the MAX_MACH rename in OpenMDAO#1250, I wanted to separate one small idea from the broader tooling I had included in OpenMDAO#1277.
The question is whether Aviary should provide a lightweight compatibility path when a serialized/user-facing variable name is renamed. For example, an older input file may still contain
mission:constraints:max_machafter the canonical variable becomesaircraft:design:max_mach.Aviary already has alias support in
read_data_file(), so I don't think this needs a repository migration script, custom workflow, or migration manifest.My proposed scope would be:
I would not include the migration script, migration workflow, repository-wide audit, or other tooling from OpenMDAO#1277.
I have a small fork-only prototype to validate the shape of the idea, but I won't open another upstream PR unless the maintainers think this behavior is useful and agree on where the compatibility mapping should live.
Would this kind of compatibility behavior be useful for Aviary? If so, would you prefer the alias information to live with variable metadata, in the existing data-file utilities, or somewhere else?
Status
Prototype is intentionally kept on the fork while this is proposed in GitHub Discussions, as requested by Jason on OpenMDAO#1277. No upstream PR should be opened before maintainers respond.